* Access to nongnu channel
@ 2024-12-02 6:10 Timothy Washington
2024-12-02 6:53 ` Tobias Geerinckx-Rice
0 siblings, 1 reply; 5+ messages in thread
From: Timothy Washington @ 2024-12-02 6:10 UTC (permalink / raw)
To: help-guix
I have created this guix system configuration (minimal working example)
with an "operating-system" declaration in *system.scm*.
(use-modules (gnu)
(nongnu packages linux))
(operating-system
(kernel linux)
(firmware (list linux-firmware))
(host-name "guix")
(timezone "America/New_York")
(locale "en_US.utf8")
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(targets '("/boot/efi"))))
(file-systems %base-file-systems)
(users (cons* (user-account
(name "user")
(group "users"))
%base-user-accounts))
(packages %base-packages)
(services %base-services))
Note that there's an accompanying *channels.scm* file that provides the
"nongnu" packages.
(list (channel
(name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(introduction
(make-channel-introduction
"9edb3f66fd807b096b48283debdcddccfea34bad"
(openpgp-fingerprint
"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))
(channel
(name 'nonguix)
(url "https://gitlab.com/nonguix/nonguix")
(introduction
(make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(openpgp-fingerprint
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))))
But trying to reconfigure my guix system with this command, gives the
following error.
$ sudo guix system reconfigure system.scm
guix system: error: failed to load 'system.scm':
ice-9/boot-9.scm:3330:6: In procedure resolve-interface:
no code for module (nongnu packages linux)
I took this approach from David Wilson's guide
<https://systemcrafters.net/craft-your-system-with-guix/full-system-install/>
when
first installing the system. And other's have come across the same issue...
But the `(nongnu packages linux)` module is definitely there (ref
<https://gitlab.com/nonguix/nonguix/-/blob/master/nongnu/packages/linux.scm?ref_type=heads>).
And I have pulled the nonguix channel before using it.
guix pull --channels=channels.scm
But the `guix system recofigure` command doesn't see it. And it's not clear
to me where all the "nongnu" packages agot installed. They are not in
`/gnu/store/`.
What am I missing here? What is the root cause of the error? And how do I
make those external channels available?
Tim Washington
Interruptsoftware.com <http://interruptsoftware.com>
(647) 283-2856
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Access to nongnu channel
2024-12-02 6:10 Access to nongnu channel Timothy Washington
@ 2024-12-02 6:53 ` Tobias Geerinckx-Rice
2024-12-02 14:58 ` Timothy Washington
0 siblings, 1 reply; 5+ messages in thread
From: Tobias Geerinckx-Rice @ 2024-12-02 6:53 UTC (permalink / raw)
To: help-guix, Timothy Washington
Hi Timothy,
Is the 'guix' being invoked with 'sudo' the one created by 'guix pull' (~/.config/guix/current/bin/guix)? I suspect it isn't.
You can verify with
$ sudo guix describe
and
$ sudo which guix
('which' is often not the best answer to 'which binary will run?', but here it is.)
If 'sudo' is invoking a different 'guix' than the one in your user's PATH, you need to configure it to do so or explicitly use
$ sudo -E guix system reconfigure …
IIRC. YMMV. CYA. IANAL.
Kind regards,
T G-R
Sent on the go. Excuse or enjoy my brevity.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Access to nongnu channel
2024-12-02 6:53 ` Tobias Geerinckx-Rice
@ 2024-12-02 14:58 ` Timothy Washington
2024-12-06 23:11 ` Marek Paśnikowski
0 siblings, 1 reply; 5+ messages in thread
From: Timothy Washington @ 2024-12-02 14:58 UTC (permalink / raw)
To: Tobias Geerinckx-Rice; +Cc: help-guix
That's interesting. Thanks for your feedback. Using sudo in both
invocations, does a successful "guix pull". But has the same failure on
"guix system reconfigure".
$ sudo guix pull
...
$ sudo guix system reconfigure system.scm
guix system: error: failed to load 'system.scm':
ice-9/boot-9.scm:3330:6: In procedure resolve-interface:
no code for module (nongnu packages linux)
But then calling "guix pull" without sudo, fails
$ guix pull
...
$ guix system reconfigure system.scm
guix system: error: failed to load 'system.scm':
ice-9/boot-9.scm:3330:6: In procedure resolve-interface:
no code for module (nongnu packages linux)
=> However, I seem to get further along when I specify "channels.scm".
After adding "(guix profiles)" to the "use-modules" in system.scm...
(use-modules (gnu)
(nongnu packages linux)
(guix profiles))
I get a bit further, where guix can't find another form... *Which package
has "manifest->packages" ?*
$ guix pull --channels=channels.scm
...
$ guix system reconfigure system.scm
/home/twashing/dotfiles/system.scm:36:6: error: manifest->packages: unbound
variable
hint: Did you forget a `use-modules' form?
NOTE: Updated system.scm
(use-modules (gnu)
(nongnu packages linux)
(guix profiles))
(use-service-modules
cups
desktop
networking
ssh
xorg)
(load "guix/fonts.scm")
(operating-system
(kernel linux)
(firmware (list linux-firmware))
(locale "en_US.utf8")
(timezone "America/New_York")
(keyboard-layout (keyboard-layout "us"))
(host-name "guix")
(users (cons* (user-account
(name "twashing")
(comment "twashing")
(group "users")
(home-directory "/home/twashing")
(supplementary-groups
'("wheel" "netdev" "audio" "video")))
%base-user-accounts))
(packages
(append
(list (specification->package "nss-certs"))
(manifest->packages
(specifications->manifest
'("gcc-toolchain"
"make"
"git"
"emacs"
"vim"
"tree"
"ungoogled-chromium"
"the-silver-searcher"
"ripgrep")))
(manifest->packages
(packages->manifest
(list font-iosevka)))
%base-packages ))
(services
(append
(list (service gnome-desktop-service-type)
(service xfce-desktop-service-type)
(service openssh-service-type)
(service tor-service-type)
(set-xorg-configuration
(xorg-configuration
(keyboard-layout keyboard-layout))))
%desktop-services))
(bootloader
(bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout keyboard-layout)))
(swap-devices
(list (swap-space
(target
(uuid "e5f1a4a1-f2fd-4e7e-8ec7-05abcd4d70f3")))))
(file-systems
(cons* (file-system
(mount-point "/boot/efi")
(device (uuid "E6AE-7A56" 'fat32))
(type "vfat"))
(file-system
(mount-point "/")
(device
(uuid "e67e1014-9dfe-4b14-a113-ce9c56f963bf"
'ext4))
(type "ext4"))
%base-file-systems)))
Tim Washington
Interruptsoftware.com <http://interruptsoftware.com>
(647) 283-2856
On Mon, 2 Dec 2024 at 01:53, Tobias Geerinckx-Rice <me@tobias.gr> wrote:
> Hi Timothy,
>
> Is the 'guix' being invoked with 'sudo' the one created by 'guix pull'
> (~/.config/guix/current/bin/guix)? I suspect it isn't.
>
> You can verify with
>
> $ sudo guix describe
>
> and
>
> $ sudo which guix
>
> ('which' is often not the best answer to 'which binary will run?', but
> here it is.)
>
> If 'sudo' is invoking a different 'guix' than the one in your user's PATH,
> you need to configure it to do so or explicitly use
>
> $ sudo -E guix system reconfigure …
>
> IIRC. YMMV. CYA. IANAL.
>
> Kind regards,
>
> T G-R
>
> Sent on the go. Excuse or enjoy my brevity.
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Access to nongnu channel
2024-12-02 14:58 ` Timothy Washington
@ 2024-12-06 23:11 ` Marek Paśnikowski
2024-12-07 17:18 ` Timothy Washington
0 siblings, 1 reply; 5+ messages in thread
From: Marek Paśnikowski @ 2024-12-06 23:11 UTC (permalink / raw)
To: Tobias Geerinckx-Rice, help-guix; +Cc: Timothy Washington
[-- Attachment #1: Type: text/plain, Size: 1544 bytes --]
On poniedziałek, 2 grudnia 2024 15:58:31 CET Timothy Washington wrote:
> => However, I seem to get further along when I specify "channels.scm".
> After adding "(guix profiles)" to the "use-modules" in system.scm...
>
> (use-modules (gnu)
> (nongnu packages linux)
> (guix profiles))
>
>
> I get a bit further, where guix can't find another form... *Which package
> has "manifest->packages" ?*
>
> $ guix pull --channels=channels.scm
> ...
>
> $ guix system reconfigure system.scm
> /home/twashing/dotfiles/system.scm:36:6: error: manifest->packages: unbound
> variable
> hint: Did you forget a `use-modules' form?
>
You have to learn to recognize this class of error. It means you failed to
specify the module containing the definition of (manifest->packages) function.
I do not use it myself, so I don’t know where it is defined.
Also, your package list construction is clunky and round-about. I recommend
taking a look at specification->package+output, if I recall correctly, at
least. I have had no issues with listing package variables directly.
I am still in the process of refactoring my module collection, but take a look
at this file in particular to see a very different style of programming Guix.
You are free to browse the other files for more inspiration, but be warned not
to replicate the (@ (module) variable) syntax — it ended up backfiring in a
most subtle of ways, and now I am undoing weeks of work to remove it.
Marek Pasnikowski
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Access to nongnu channel
2024-12-06 23:11 ` Marek Paśnikowski
@ 2024-12-07 17:18 ` Timothy Washington
0 siblings, 0 replies; 5+ messages in thread
From: Timothy Washington @ 2024-12-07 17:18 UTC (permalink / raw)
To: help-guix
Hey Marek,
I should have updated this earlier. But I did solve this problem with a
cleaner `packages` declaration.
(packages
(append
(map specification->package
'("nss-certs"
"gcc-toolchain"
...))
(list my-package)
%base-packages))
Thanks for the feedback. Indeed, for me this is an exercise in learning
Guix and developing my understanding of its modules.
Cheers
Tim
On Fri, 6 Dec 2024 at 18:12, Marek Paśnikowski <marek@marekpasnikowski.pl>
wrote:
> On poniedziałek, 2 grudnia 2024 15:58:31 CET Timothy Washington wrote:
> > => However, I seem to get further along when I specify "channels.scm".
> > After adding "(guix profiles)" to the "use-modules" in system.scm...
> >
> > (use-modules (gnu)
> > (nongnu packages linux)
> > (guix profiles))
> >
> >
> > I get a bit further, where guix can't find another form... *Which package
> > has "manifest->packages" ?*
> >
> > $ guix pull --channels=channels.scm
> > ...
> >
> > $ guix system reconfigure system.scm
> > /home/twashing/dotfiles/system.scm:36:6: error: manifest->packages:
> unbound
> > variable
> > hint: Did you forget a `use-modules' form?
> >
>
> You have to learn to recognize this class of error. It means you failed
> to
> specify the module containing the definition of (manifest->packages)
> function.
>
> I do not use it myself, so I don’t know where it is defined.
>
> Also, your package list construction is clunky and round-about. I
> recommend
> taking a look at specification->package+output, if I recall correctly, at
> least. I have had no issues with listing package variables directly.
>
> I am still in the process of refactoring my module collection, but take a
> look
> at this file in particular to see a very different style of programming
> Guix.
>
> You are free to browse the other files for more inspiration, but be warned
> not
> to replicate the (@ (module) variable) syntax — it ended up backfiring in
> a
> most subtle of ways, and now I am undoing weeks of work to remove it.
>
> Marek Pasnikowski
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-12-07 17:18 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-02 6:10 Access to nongnu channel Timothy Washington
2024-12-02 6:53 ` Tobias Geerinckx-Rice
2024-12-02 14:58 ` Timothy Washington
2024-12-06 23:11 ` Marek Paśnikowski
2024-12-07 17:18 ` Timothy Washington
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).