IRC channel logs

2025-09-09.log

back to list of logs

<Tadhgmister>if it messes up the bootloader config file or uefi it can stop you from accessing old generations
<Tadhgmister>but if you are getting into the grub menu the entries shouldn't fail
<Tadhgmister>elkcaz: if you can't get into grub you can probably fix it by using efibootmgr to manually recreate an entry from an install media https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface#efibootmgr
<Tadhgmister>if grub is loading you can access /boot/grub/grub.cfg from an install media and manually patch it if old system generations depend on an extra initrd that the configuration file is not properly setup to preserve for older generations, or potentially similar issue
<Tadhgmister>eikcaz ^ (not elkcaz)
<eikcaz`>I wonder if the issue comes from the fact that my /gnu/store is on a subvolume. Grub seems to be looking for /guix/gnu/store/...linux-libre.../bzImage
<Tadhgmister>did you move your root system into a subvolume since it broke? that would certainly mess up old system generations
<eikcaz`>Tadhgmister: thanks. I'm able to enter grub, but the old entries fail to find ...bzImage. I notice the grub theme is different (blue instead of brown).
<Tadhgmister>oh ok, so hit `c` to get yourself a shell and do `ls` to see what devices it sees
<eikcaz`>I didn't touch my actual fs layout, but I did change the file-systems into a (map (lambda (sublov) ...) sublovs) to reduce verbosity
<eikcaz`>ls -> (hd0) (hd0,gpt2) (hd0,gpt1) (crypto0) (proc)
<eikcaz`>(crypto0) seems to be my btrfs fs
<Tadhgmister>sorry I was all set to send a link to the issue I raised where I outlined the steps to rescue but because of the migration I can't find it :'D
<Tadhgmister>grub> set root=(crypto)
<Tadhgmister>grub> configfile (YYY)/grub/grub.cfg
<Tadhgmister>oh wait but your config file entries are wrong, not just failing to mount the encrypted device, so that probably doesn't help
<eikcaz`>I think I see the problem. /guix/gnu/store doesn't exist until gnu subvol is mounted...
<Tadhgmister>but /guix subvolume should exist elsewhere on the drive no?
<eikcaz`>I can see why my current generation failed, but dissapointed that I wasn't able to recover after that. Since the issue is a race condition, I suspect if I go through the manual steps you suggest, it could work
<eikcaz`>Yes, I can see /guix, but /guix/gnu is empty. need to mount gnu subovolume onto /guix/gnu
<Tadhgmister>ooh, ok yeah that would do it
<Tadhgmister>so editing /boot/grub/grub.cfg to just remove /guix from the paths so it looks for /gnu/store not /guix/gnu/store would fix it as a one off
<eikcaz`>I can edit inside grub?
<Tadhgmister>i have no idea :D
<eikcaz`>I figured it would be easier to manually mount my subvol from grub, since grub did it in the past. I'll scour the web for some magic grub-rescue commands. Thanks for the help so far!
<hako>you can edit the menu entry by pressing 'e' in the menu. correct 'search' and first argument to 'linux' and 'initrd' should make the system bootable.
<eikcaz`>hako: THANK YOU
<eikcaz`>The problem was that I missed (required-for-boot? #t) for the gnu subvolume when I rewrote my file-systems entry. Should I report this as a bug, or am I not understanding why this might be desireable?
<eikcaz`>The bug being that a reconfigure caused all old grub entries to ALSO be unbootable
<eikcaz`>jk, the problem is that I was mounting to $subvol instead of /$subvol
<eikcaz``>reconnect
<FuncProgLinux>has anybody managed to run torbrowser on guix without installing it?
<FuncProgLinux>guix shell --container --network --no-cwd torbrowser --preserve='^DISPLAY$' -- torbrowser fails with Error: cannot open display: :0
<ieure>FuncProgLinux, The incantation is in the manual, "(guix) Invoking guix shell"
<ieure>This should work to run any X11 program in a container. You may need to adjust which variables you're exposing if you want to use Wayland.
<FuncProgLinux>I'm using xorg. I copied the example command that uses ungoogled-chromium idk what I'm missing :(
<ieure>FuncProgLinux, The command you're running is not what's in the manual, you have deleted essential things, which is why it doesn't work.
<ieure>At least: the command you /pasted/ is missing essential things which the command in the manual has.
<FuncProgLinux>I now feel stupid. I was reading the 1.4.0 manual :/
<FuncProgLinux>In there the command is: guix shell --container --network --no-cwd ungoogled-chromium --preserve='^DISPLAY$' -- chromium
<ieure>I see that; strange.
<ieure>FuncProgLinux, Are you an Emacs user?
<FuncProgLinux>ieure: Yes, I love it.
<ieure>FuncProgLinux, Cool. Best way to make sure you're always reading the right version of the Guix manual is to use the built-in info reader. C-h i, then move to "Guix" (under System administration) and RET.
<ieure>FuncProgLinux, If you use bookmarks, you can bookmark different sections of the manual. `(guix)Top' and `(guix)Programming Index' are IMO the two essentials.
<ieure>C-s searches the manual as usual, `l' goes back in your nav history, `u' goes up a level.
<ieure>Hugely faster than using a web browser, built in, linkable, searchable, always the version of Guix you're actually running. Better in every way IMO.
<FuncProgLinux>ieure: I have to add a general config for that! (C-h i worked) I didn't know about that. It even looks like an org buffer
<FuncProgLinux>So that's what I read about Emacs being a "first class citizen"
<tux0r>which makes sense, given that the GNU operating system has never been as close as guix so far, and emacs is an important part of it
<tux0r>now all we're waiting for is a native hurd version ;o
<FuncProgLinux>tux0r: or a perl frontend for Guile /s
<tux0r>perl isn't gnu. (i - personally - prefer perl to guile though, but that's because i haven't worked with guile yet, and i'm really lazy)
<FuncProgLinux>tux0r: I like guile but seeing how often I have to ask for help around here I'm kinda feeling smooth-brained on it. It's a very nice language though, I like that procedures can have keywords :)
<tux0r>probably! i'm more into common lisp (where they can as well), admittedly
<ieure>I'm a big fan of CL (warts and all), I really think Guix could benefit from stuff like CLOS. Maybe GOOPS can do it, I don't know.
<ieure>There is a lot of fake parent/child relationships happening in Guix, it would be nice if they were less fake.
<FuncProgLinux>I didn't understand OOP in scheme
<FuncProgLinux>then again...Perl just got setters and getters on v5.42.0 that's why I was so eager to package it lol
<tux0r>i don't even (fully) understand the CLOS yet, but that's complex as hell anyway
<ieure>I really like CLOS. Best OOP system I've ever used.
<apteryx>codeberg is still having issues, right?
<apteryx>confirmed.
<FuncProgLinux>apteryx: I cannot access as well
<apteryx>yeah, one of their machine is down
<FuncProgLinux>I just realized LM separated xapp into it's own organization
<ieure> https://status.codeberg.org/status/codeberg FYI
<apteryx>ACTION tries guix pull --url=https://https.git.savannah.gnu.org/git/guix.git
<ieure>lul
<apteryx>seems to work! nice to have a mirror
<apteryx>(would be nicer if it could automatically fallback to it)
<apteryx>codeberg is back!
<apteryx>ACTION wonders what are the teams annotation next to the Channels in https://ci.guix.gnu.org/
<apteryx>ah, it's the branch name
<apteryx>ACTION just rediscovered that (add-hook 'scheme-mode-hook #'guix-devel-mode) applies indentation rules similar to those of guix-checkout/.dir-locals.el to Guix-provided types outside of the Guix project.
<identity>i think we should make guix style follow more of those rules instead of relying on ‘guix-devel-mode’…
<apoorv569>Can someone please look at PR 2276 and 2277? Both packages are broken ATM and I have been trying to update them for months.
<jlicht>hey guix
<adanska>Hi Guix!
<efraim>ugh rust-crates.scm got out of order
<Rutherther>efraim: like alphabetical order or what do you mean?
<efraim>yeah, alphabetical order
<efraim>I'm fixing it manually now
<efraim>I noticed a package I tried to insert didn't put the rust-openssl crates near each other
<adanska>looks like a good place to write a guile script for etc/teams/rust...
<efraim>yeah but I really don't want to write a sorting function
<efraim>although it really would be the best, to make sure it's actually sorted
<efraim>good news(?) gawk has a quicksort.awk file I can import ...
<futurile>apoorv569: I guess for 2276, enge is telling you to change the commit message so that it's clear that you're updating to a version after 2.0
<futurile>apoorv569: I guess you'd argue that the 4 commits after the 2.0 release are necessary
<futurile>apoorv569: for 2277 you've commented out some files that were being deleted, and you've changed a configure flag. If the files don't need to be deleted, remove the line (rather than comment it out), and you'll need to cover what you did and why you did it in the commit message
<futurile>oh sorry - I see you did cover it in the commit - I wish we had more clarity on the why's (personal opinion)
<futurile>hmm guess no team has seen it
<apoorv569>futurile: For 2277, which part do you want me to add more clarity for in the commit message?
<apoorv569>And I'll delete the the lines not needed instead of commenting them.
<apoorv569>For 2276, I'll use the release rather commit I guess.
<apoorv569>Give me a min, I'll push the changes.
<apoorv569>Yea, I don't know why when I run `./pre-inst-env guix build spectacle-analyzer --verbosity=3` for example, in the local clone of guix I have, I get this error -> https://paste.debian.net/1395765/
<apoorv569>I just copy the definition to my own channel clone build it from there and paste it back..
<Rutherther>apoorv569: possibly module recursion
<apoorv569>Rutherther: Ah! So something needs to be fixed on my side or upstream?
<Rutherther>Probably on your side, having a cyclic dependency is rarely commited to master, people wouldnt be able to pull
<apoorv569>I didn't add any `use-module` line though... I just created new branch and editted a package definition.
<apoorv569> https://codeberg.org/guix/guix/pulls/2276 done.. change to to use release now.
<apoorv56-> https://codeberg.org/guix/guix/pulls/2277 updated this as well..
<awth13>what is the preferred way to make sure that the environment is set correctly (like guix repl) when starting a Geiser REPL in Emacs?
<awth13>the obvious approach seems to be `(setq geiser-guile-binary "guix repl")`
<ngz>Hello. I’m trying to package the following <https://github.com/google/compact_enc_det/blob/master/CMakeLists.txt> as a dependency to another package, but the CMakeLists.txt file insists on linking against the static libraris libgtest.a and libgtest_main.a, which Guix doesn’t ship. How could I rewrite the CMakeLists file to skip that part?
<nutcase>Hi Guix. I have the following: "(uri "../files/1eac:100d")" and get "guix build: error: invalid character ":' in name "1eac:100d'". Why is ":" an invalid character and how can I use that nevertheless?
<identity>nutcase: it is invalid because it is the uri scheme terminator (the ‘:’ in ‘https://example.com/’); i would guess it is easier to just rename the file
<identity>or, try “file://../files/1eac:100d”?
<nutcase>identity: it's the same with "file://./files/1eac:100d". Renaming the file does not feel satisfying. url encoded filename ("1eac%3A100d") also doesn't work.
<dariqq>Anyone familiar with mercurial? Why would hg clone not clone everything https://codeberg.org/guix/guix/issues/2491#issuecomment-7035815 ? Is this a problem with the remote server?
<gabber>dariqq: is there something like the #:recursive flag with git repos?
<identity>gabber: no
<dariqq>gabber: I/guix is trying to fetch a tag and mercurial just does not fetch the tag and just stops at a changeset ~2months before the tag. Even during a full fetch I only got to the same wrong changeset
<old>hi yall
<old>theorically speaking, would a a build system 100% in Guile (no make, autotools, coreutils) help the bootstrap?
<luca>like https://codeberg.org/jjba23/maak ?
<jnms>How is `date +%Y` during build giving 2025 and not 1999? What am I missing? https://paste.debian.net/1395818/
<ieure>jnms, The build environment doesn't use a mock time.
<ieure>So what you observe is expected behavior.
<jnms>*1970
<ieure>jnms, The year doesn't matter, the time inside the build container is the same as on the host.
<ieure>Builds shouldn't be putting the date in their output, you should patch that stuff out. You can use faketime/datefudge to work around packages with time bombs. nss does this, because it has certificates in the source repo with not-valid-until / not-valid-after dates.
<jnms>Yea I'm confused. I have a failing test case for a documentation generator.
<jnms>It test the $(YEAR) macro. The generator emits 2025, while `date +%Y` emits 1970.
<jnms>I don't understand the disparity. I'm using cmake-build-system.
<ieure>jnms, If the package isn't using faketime/datefudge, it's something in the build-system, and you'll have to look through how that's working.
<jnms>I'm writing the package from scratch.
<jnms>I'll try around.
<srbaker>Is gnu.org currently having issues? I'm having trouble loading the website, and my guix system reconfigure is failing with an SSL error on a very fresh install.
<cqst>yeah. its down.
<cqst>(or just very slow)
<Rutherther>you shouldn't need gnu.org for reconfigure though. Or are you talking about savannah?
<cqst>srbaker: https://git.savannah.gnu.org/
<srbaker>savannah.
<srbaker>But I also noticed that gnu.org is being flakey, and I seem to recall they're hosted together. I could be wrong.
<Rutherther>savannah is a different thing than gnu.org, even if gnu.org works, savannah is just not working right for the past few months, and for past week there have been multiple reports of not just slowness, but people being stuck pulling for hours
<srbaker>Ah thanks. I couldn't find, I was looking for status.
<Rutherther>have you pulled already or are you on 1.4.0?
<srbaker>Ugh.
<srbaker>I am on 1.4.0 as a fresh install, I'm just doing a reconfigure to change a keyboard setting. But it's "receiving objects" very slowly.
<Rutherther>(guix pull)
<Rutherther>yeah, it will probably not finish
<Rutherther>it's better to first pull from codeberg - "guix pull --url=https://codeberg.org/guix/guix". Only then reconfigure
<srbaker>Shame. I really want to help GNU with Savannah, I just don't have the time yet. I'm hoping to soon. I know they need assistance.
<srbaker>I'd like to see Savannah migrate to something like forgejo or even radicle.
<Rutherther>in case you are just testing something in a VM you can stay on the same commit, see guix describe output and you can append the commit after --commit argument. If you're on real hw you should probably update and that's what the pull will do
<srbaker>So is guix system reconfigure doing a guix pull?
<srbaker>Is there a way to tell it to load my configuration again without connecting to anything? I'm just trying to change a keyboard setting.
<ieure>srbaker, It... depends.
<ieure>srbaker, I'm not sure why reconfigure seems to pull, a few folks have mentioned this before.
<FuncProgLinux>srbaker: If you changed something that requires new packages it will certainly try to get things from the internet
<Rutherther>ieure: because it checks if the commit you're reconfiguring to is a descendant of the current system commit
<ieure>Well, it's not just new packages. It may need to download stuff to perform the reconfigure which have been gc'd.
<srbaker>I wonder if adding ctrl:nocaps keyboard config needs to install a package?
<Rutherther>no, guix system reconfigure is not doing what guix pull does, it is not updating a profile. Yes, it is git pulling a repository, into root's cache at /root/.cache/guix/checkouts/...
<ieure>Rutherther, I see.
<Rutherther>there is no way to turn this feature off, not even nowadays
<FuncProgLinux>oof, g-golf doesn't work :(
<ieure>I thought that got removed?
<mark`>Has anyone guixifyed a Rust project using the new packaging model? Specifically I'm looking at the building with guix and repository as a channel sections of the cookbook. I'm a little confused when it comes to defining the cargo inputs. It looks like the `rust-crates` module defines the inputs for all the apps. Do I just follow the same pattern or would that not work?
<srbaker>Aw. What doesn't work with g-golf? I'd started building an app with it.
<luca>mark`: Sure, I did that recently. Check out the last 4 commits or so here https://git.lucamatei.com/guix-luca-repo.git/log/
<mark`>Awesome, thank you!
<nutcase>is it possible to use a "local-file" as "uri" of an "origin" ?
<levenson>Hi Guix!
<nutcase>I am aware of this being bad practice, but I can't distribute the file in question.
<Rutherther>no, because origin is not for interning files into the store. Just put local-file to source directly
<yelninei>file:// urls should work as well if you have a tarball somewhere
<nutcase>ok, thanks, I switched to create a package to have the local-file in the store and being able to include it as an input for another package.
<FuncProgLinux>For the new "list" style on inputs, is it good to do: `(,glib "bin") when the binary output of the package is required?
<FuncProgLinux>or would it be better if done like: (list glib "bin")?
<simendsjo>Auch, shepherd (pid 1) runs at 100% CPU after system upgrade. Doesn't happen right away though. Calls epoll_wait on an fd 12 which is 'anon_inode:[eventpoll]'. Any ideas?
<hanker>is there a way to kill reliably all children of a `guix shell -C` ?
<identity>FuncProgLinux: from a style standpoint, i have seen, and used, the ‘quasiquote’ style more than the ‘list’ style, and you probably should do that too; from a semantics standpoint they are effectively equivalent, `(,glib "bin") being closer to (cons '("bin")) than to (list glib "bin"), as '("bin") is a literal and thus immutable
<identity>(cons glib '("bin"))
<FuncProgLinux>identity: I see. Last time I contributed a package the feedback I received was to use list style and G-expressions. I'm planning to contribute another missing mate package this week but this one is a litte bit more tricky :s
<ieure>FuncProgLinux, Note that your list nesting may not be correct (or just eliding detail), but (inputs (list (glob "bin"))) will not work -- you'd need (inputs (list (list glib "bin"))).
<Rutherther>can I make one input named and other inputs not?
<FuncProgLinux>ieure: Ahh yes, I was assuming it was inside the (inputs (list ...)) style
<FuncProgLinux>How can a propagated input still cause profile errors if already removed from the package and from the system configuration o.O
<Rutherther>it can't, so either it wasn't removed or it's coming from somewhere else
<FuncProgLinux>Rutherther: I removed the three propagated libraries mate shouldn't be propagating from my variant. It didn't work :( then I also added (service mate-desktop-service-type (mate-desktop-configuration (mate-package ((options->transformation '((with-inputs . "libxml2@2.9=libxml2@2.14"))) mate-extra)))) instead of just (mate-package mate-extra) to my profile (mate-extra is my variant) but the libxml error is still present x.x
<Rutherther>FuncProgLinux: what is the full error?
<Rutherther>also, it's with-input, not with-inputs
<FuncProgLinux>Rutherther: https://paste.debian.net/1395846/ I'm pretty sure it's because I'm somehow not deleting those inputs in my variation
<Rutherther>and your config?
<FuncProgLinux>Rutherther: https://paste.debian.net/1395847/ It's a dirty edit, I commented out the previous config.
<FuncProgLinux>changing "with-inputs" to "with-input" did cause a rebuild but it requires a download of 6 779.5 MB
<Rutherther>so no conflict anymore
<FuncProgLinux>Rutherther: Indee, free of conflict
<FuncProgLinux>but now I wonder why is it needing so much packages. Even LLVM o.o
<fnat-xmpp>I'm trying to update a Haskell package and notice that two versions of the same dependency are needed at different points of the dependency tree. What do we do in these cases? Keep both versions?
<Kolev>I should add -xmpp to my nick. ;)
<fnat-xmpp>:)