unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* guix.scm and manifest.scm environment
@ 2024-01-09 14:45 jgart
  2024-01-10 10:00 ` Efraim Flashner
  2024-01-11  3:54 ` Richard Sent
  0 siblings, 2 replies; 4+ messages in thread
From: jgart @ 2024-01-09 14:45 UTC (permalink / raw)
  To: help-guix

Hi Guixers,

Are the modules that are automatically pulled in to a guix.scm or manifest.scm documented?

Those files are just scheme code but specifications->manifest is available in the global namespace, for example.

What else is there by default?

all best,

jgart


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: guix.scm and manifest.scm environment
  2024-01-09 14:45 guix.scm and manifest.scm environment jgart
@ 2024-01-10 10:00 ` Efraim Flashner
  2024-01-10 12:18   ` Tomas Volf
  2024-01-11  3:54 ` Richard Sent
  1 sibling, 1 reply; 4+ messages in thread
From: Efraim Flashner @ 2024-01-10 10:00 UTC (permalink / raw)
  To: jgart; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 580 bytes --]

On Tue, Jan 09, 2024 at 02:45:30PM +0000, jgart wrote:
> Hi Guixers,
> 
> Are the modules that are automatically pulled in to a guix.scm or manifest.scm documented?
> 
> Those files are just scheme code but specifications->manifest is available in the global namespace, for example.
> 
> What else is there by default?

IIRC nothing is included by default.

-- 
Efraim Flashner   <efraim@flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: guix.scm and manifest.scm environment
  2024-01-10 10:00 ` Efraim Flashner
@ 2024-01-10 12:18   ` Tomas Volf
  0 siblings, 0 replies; 4+ messages in thread
From: Tomas Volf @ 2024-01-10 12:18 UTC (permalink / raw)
  To: jgart, help-guix

[-- Attachment #1: Type: text/plain, Size: 830 bytes --]

On 2024-01-10 12:00:05 +0200, Efraim Flashner wrote:
> On Tue, Jan 09, 2024 at 02:45:30PM +0000, jgart wrote:
> > Hi Guixers,
> > 
> > Are the modules that are automatically pulled in to a guix.scm or manifest.scm documented?
> > 
> > Those files are just scheme code but specifications->manifest is available in the global namespace, for example.
> > 
> > What else is there by default?
> 
> IIRC nothing is included by default.

I think it is at least (guix profiles).  When I try to work with the
`manifest.scm' file in the REPL, I need to explicitly (use-modules) it, but I do
not have to do it for `guix shell -m manifest.scm'.  Not sure if there are
others.

Have a nice day,
Tomas Volf

-- 
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: guix.scm and manifest.scm environment
  2024-01-09 14:45 guix.scm and manifest.scm environment jgart
  2024-01-10 10:00 ` Efraim Flashner
@ 2024-01-11  3:54 ` Richard Sent
  1 sibling, 0 replies; 4+ messages in thread
From: Richard Sent @ 2024-01-11  3:54 UTC (permalink / raw)
  To: jgart; +Cc: help-guix

On 2024-01-09 09:45, jgart wrote:
> Hi Guixers,
> 
> Are the modules that are automatically pulled in to a guix.scm or 
> manifest.scm documented?
> 
> Those files are just scheme code but specifications->manifest is 
> available in the global namespace, for example.

Note that guix repl manifest.scm will fail due to an unused import. This 
is special magic when passing a manifest with -m.

Their presence seems to be from how load-manifest in environment.scm 
works. https://www.gnu.org/software/guile/manual/html_node/Loading.html. 
See that it uses load*, not load, creating a temporary module with the 
(guix profiles) and (gnu) modules loaded.

We can confirm this with
(display (module-uses (current-module)))
(force-output)

at the top of the manifest. Everything in those two modules is in scope. 
Similarly, since (gnu) re-exports all (gnu ...) public modules (see 
gnu.scm), the (gnu packages) module is in scope, so we have 
specifications->manifest.

I definitely wouldn't rely on this behavior, but that's my understanding 
of it. Didn't notice any documentation.
Richard Sent


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-01-11  4:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-09 14:45 guix.scm and manifest.scm environment jgart
2024-01-10 10:00 ` Efraim Flashner
2024-01-10 12:18   ` Tomas Volf
2024-01-11  3:54 ` Richard Sent

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).