IRC channel logs

2025-01-09.log

back to list of logs

<podiki>quick look the log seems to suggest it wants perl to build?
<podiki>but also no record of a successful build of that package in the recent history
<podiki>the last mention in the guix git log of that package is from over 2 years ago
<clone>i did add perl but i got another error about patches not applying
<podiki>so i'd suggest an update to a recent version as a start to fix it
<clone>the upstream seems to be unmaintained, i'll probably give up on it if i can't find the last working build somehow
<podiki>maybe forked or something?
<podiki>anyway good luck, gotta run
<penguinMan>help guix!
<penguinMan>I finally got guix working, with a little hack... installing the gnome desktop by default
<penguinMan>I want to rebuild the libera kernel ... and customize the boot loader, but guix makes no sense to me
<penguinMan>libre* kernel
<penguinMan>too many different libra's too, there's libera, libra, and there is actually a libre
<penguinMan>im trying to install programs locally too, outside the guix package management system, but attempting to link binaries to my profile path directories results in a read only filesystem error...
<penguinMan>maybe it's easier to "hack" guix if I just chroot into it
<penguinMan>I cant identify how to alter /etc/default/grub or if it even exists
<penguinMan>i guess grub-mkconfig will work, as grub, is the only file in my /boot
<clone>penguinMan: i think you should modify grub like this: https://guix.gnu.org/manual/en/html_node/Using-the-Configuration-System.html#Bootloader I don't know if there is any way to manually edit the file in etc
<penguinMan>and my last question is, whether or not I can simply delete all the whitespaces in config.scm, because they are annoying to me, all the tab spaces
<penguinMan>ok thank you, I have been reading the pdf manual...
<clone>I don't think guile cares about whitespace
<penguinMan>i'm used to reading bash scripts all the time, where everything is in the left column... my eyes are really sensitive
<penguinMan>i'm scared to break my system editing guile files or w.e :D
<penguinMan>right yes, about grub, there's the whole guix configuration system
<penguinMan>but it doesn't help me to actually configure my system
<penguinMan>it just says, guix lets you control your whole system configuration, without actually doing that
<penguinMan>which is what Im trying to do
<clone>did you click the link to bootloader configuration? i probably should have linked you to that
<penguinMan>so for example, I can go and edit /boot/grub/grub.cfg manually, but typically we use grub-mkconfig based on /etc/default/grub
<penguinMan>yes I have seen that
<penguinMan>so there is no /etc/defauult directory
<penguinMan>in any of the profile directories
<penguinMan>maybe if I just run grub-mkconfig it will identify the file it's sourcing
<clone>i dont use grub so I can't really help you outside of providing you that link, sorry
<penguinMan>well I was here before and told everything must be done, essentially, through guile schemes... and guix tools
<penguinMan>and that nothing I learned on other distros would be applicable
<clone>yeah, that has been my experiance too. It definitely takes some time to wrap your head about it
<penguinMan>so thats where I'm at...
<penguinMan>sudo: grub-mkconfig: command not found
<penguinMan>an endless adventure..
<penguinMan>I've been at this for 12 hours
<ieure>penguinMan, Grub is configured through the bootloader field of your system configuration, which should be in /etc/config.scm
<ieure>Even if any of the tradlinux tooling worked, which it doesn't, any changes you made would get obliterated on your next `guix system reconfigure'.
<penguinMan>so can u tell me how to add command line options to the field?
<penguinMan>like kernel command line options
<ieure>penguinMan, Those aren't part of the booloader config, they're the kernel-arguments field. Have a read through https://guix.gnu.org/manual/devel/en/html_node/operating_002dsystem-Reference.html
<penguinMan>or how /boot/grub/grub.cfg is sourced?
<ieure>And https://guix.gnu.org/manual/devel/en/html_node/System-Configuration.html
<penguinMan>ok I will
<penguinMan>it just seems the guix system, doesn't actually let me configure the system
<penguinMan>it just says, guix lets you configure your whole system, but that's not what I want to do... I want to configure the system..
<penguinMan>its kinda loopy
<ieure>penguinMan, It's very different from other Linux distros, you'll need to check your expectations at the door and start from nothing.
<penguinMan># This file was generated from your Guix configuration
<penguinMan> /boot/grub/grub.cfg
<ieure>Yes, and?
<penguinMan>I cant alter the "guix configuration" to configure my guix!
<ieure>penguinMan, Why not? What do you believe your "guix configuration" is?
<penguinMan>I will figure it out eventually
<penguinMan>I already read the manual it doesn't explain how to alter the grub configuration
<penguinMan>it just points at a guix boot service
<ieure>Could you show me where you're seeing that, please?
<penguinMan>thats what I figured out earlier, I'm looking at the manual again now
<penguinMan>so right now im in this section of the manual 12.14 Bootloader Configuration
<ieure>Yep.
<penguinMan>ok so it says, I can enter "linux arguments"
<penguinMan>thats what im looking for
<ieure>That is almost definitely not what you're looking for.
<penguinMan>like this (linux-arguments '("root=/dev/sda2"))
<ieure>Those are if you want to add a specific boot menu entry with different arguments.
<penguinMan>cause I am trying to modify the kernel command line arguments in grub
<ieure>penguinMan, You want the kernel-arguments field of operating-system, which is defined in /etc/config.scm
<ieure>Unless you're trying to do something like add a second boot entry with different arguments from your normal boot. Maybe? It's a pretty uncommon usecase, though.
<penguinMan>no im just trying to alter the kernel
<penguinMan>I want to use custom kernel command line arguments, build a new libera kernel
<penguinMan>and do all sorts of things
<ieure>You're saying different things here. The arguments you give to the kernel at boot time have little bearing on building your own kernel.
<penguinMan>well and is implied when we use a comma, to separate statements
<penguinMan>so I mean that I am trying to use custom kernel command line arguments, AND build a new libera kernel
<ieure>penguinMan, You're all over the map and would do well to focus on one thing at a time.
<ieure>penguinMan, I've told you twice how to add kernel arguments; have you tried following that guidance?
<penguinMan>I'm looking at config.scm right now
<penguinMan>so theres bootloader configuration, but I guess the kernel-arguments field goes somewhere specifically, maybe I can cntrl+f it in the manual
<penguinMan>the manual specifies that linux-arguments is in fact the field that specifies arguments to linux
<ieure>penguinMan, Anywhere directly under (operating-system ), that is, a sibling to (bootloader), (host-name), etc.
<ieure>penguinMan, You're looking at the wrong section of the manual. The field name is kernel-arguments.
<ieure> /etc/config.scm has an operating-system record constructor, which is documented here: https://guix.gnu.org/manual/devel/en/html_node/operating_002dsystem-Reference.html
<penguinMan>ok so kernel-arguments is within the operating system field
<penguinMan>and linux-arguments is within the bootloader field
<ieure>linux-arguments are for a grub menu-entry record type.
<penguinMan>can you tell me if it's okay to remove the white spaces in config.scm?
<penguinMan>all the tab spaces are really annoying to me
<penguinMan>also, are they tab spaces? what kind of spaces are these?
<ieure>There are tabs and spaces, there is no such thing as a "tab space."
<ieure>They should be space characters.
<ieure>penguinMan, Whitespace is insignificant in Lisp, so you can remove it, but I would suggest not removing the indentation, which seems to be what you're planning.
<penguinMan>yes I want to put it all in the left column
<ieure>I would strongly advise against that. The configuration is a tree, and you're destroying the information about how deep within it you are, which will lead you to create malformed configs.
<penguinMan>because it hurts my eyes
<ieure>You're free to do whatever you want. But I would strongly advise not to remove the indentation.
<penguinMan>I think I will make a backup like config.scm.old
<penguinMan>and attempt to do so
<penguinMan>I have read the section on using chroot already, I am prepared to chroot!
<ieure>penguinMan, The config doesn't have to be in /etc, it can be anywhere. I keep mine in a Git repo.
<penguinMan>im trying my best to learn guix, but its driving me crazy
<ieure>penguinMan, Have some patience.
<penguinMan>I dont like the links everywhere
<ieure>The symlinks in the FS?
<penguinMan>I want my OS to be solid like a house, with everything nailed in place. SOLID, physical
<ieure>penguinMan, You can also revert to any previous system configuration if you mess up; and the older configs are in the grub boot menu, so you can almost always boot into a good config even if your current one doesn't work at all.
<penguinMan>all this virtualization and abstraction is making me grind my teeth
<ieure>penguinMan, Guix might not be a good fit for you, then. You seem to be very against the stuff that makes it work.
<penguinMan>ok so does the order, of options in config.scm matter?
<penguinMan>under a field, like operating system
<penguinMan>operating-system*
<lfam>No. But it *is* structured with s-expressions (aka the parentheses)
<lfam>So, as long as you pay attention to the structure, the order and the whitespace do not matter
<penguinMan>ok
<penguinMan>could I make a second operating-system field at the bottom
<lfam>No
<penguinMan>so I can differentiate between the default guix config and my own modifications?
<penguinMan>ok
<ieure>I'm not sure, I think that would actually work. But you may as well make a new file instead.
<clone>penguinMan, I am also curious about why you want to use guix. It seems you don't like lisp, want to use traditional linux config tooling, don't like symlinks, and you want to compile and install stuff locally. I'm not trying to be gatekeepy or anything just generally wondering, it doesn't seem like there is much about guix you would like
<ieure>penguinMan, I believe the order matters a little, for example, keyboard-layout can be referenced in other parts of the config.
<lfam>Well, I trust ieure over my own judgement here :)
<penguinMan>can u help me though, there are no kernel arguments in the system configuration
<ieure>Add them.
<penguinMan>but grub has kernel arguments in it's configuration
<penguinMan>so where are the default arguments?
<penguinMan>I'm typically on the end user side of the programming spectrum...
<ieure>penguinMan, From the manual: "kernel-arguments (default: %default-kernel-arguments)"
<ieure>%default-kernel-arguments is in the Guix code, I think (gnu system), but grep will find them for you.
<penguinMan>is there another config.scm somewhere?
<ieure>Not by default.
<penguinMan>like the default config.scm must be somewhere
<ieure>There is no default config.scm.
<penguinMan>because there are no kernel-arguments in /etc/config.scm
<penguinMan>im typing it in manually now
<ieure>Right. It's in the code of Guix, like I told you.
<ieure>penguinMan, Guix is so different that Linux users -- even ones like me, who installed it off floppy disks in the mid 1990s and have used it daily for close to 30 years -- are a lot like Windows users trying Linux for the first time. That's where you are right now.
<ieure>So if you've ever seen a Windows user struggle with Linux, as someone who knows Linux? That's where we are.
<penguinMan>omg I lost my cursor in nano
<penguinMan>ok I found it
<ieure>So, y'know, slow down. Check your assumptions. Read the manual.
<penguinMan>ok so now I've made my first guix config edit ; D (kernel-arguments "cpufreq_default_governor=performance")
<penguinMan>hey my operating-system field is missing a parantheses at the end
<penguinMan>by default..
<penguinMan>the whole (operating-system field has no closing parantheses
<penguinMan>can you guys point me in the right direction, to install a new libera kernel from source?
<penguinMan>and software locally?
<Kolev>Does package `passff-icecat` work with LibreWolf?
<penguinMan>I tried linking binaries into my home profile binary directory in my path(but get the error read only file system)
<Kolev>I'm trying to use `pass` with LibreWolf.
<penguinMan>im not being ironic referencing "GNU Linux" btw I actually want to build a new kernel from source...
<penguinMan>Well thank you for your help guys, I learned how to use the config and edit grub
<penguinMan>I hope all your guile schemes work out for you...
<clone>is it ok to remove an optional dependency in a patch to update something because I am not willing to get it to build? I want to use hydrus-network on the latest version, but as above swftools doesn't build and is unmaintained. It seems to be an optional dependency for hydrus on other distros, and I can build and use hydrus if i remove sfwtools from the package definition
<lfam>clone: It's fine to remove it
<lfam>I don't see SWF / Flash coming back
<clone>thanks
<ieure>Kolev, Got disconnected, not sure if someone answered you, but no, passff-icecat doesn't work with LW. There's a patch to enable it, which I need to take a closer look at.
<dhoffman>efram and ekaitz: it's still running after around 16 hours
<ajarara>hello, I'm trying to invoke a script in a gexp. Something like (use-modules (guix build utils)) (invoke "/bin/sh" #$(local-file "my-script")) doesn't work -- sh says no such file or directory. Running it normally (like, sh /gnu/store/<hash>-my-script) works fine. What's going on here?
<ajarara>this is part of an mcron setup of a script that I also run manually from time to time (backup script). Alternatively if there's a local-file variant that propagates permissions (+x) I'd just use that directly.
<ajarara>gexp->script sets +x, but.. well.. that's why I'm here.
<ajarara>replacing "/bin/sh" with #$(file-append (@ (gnu packages bash) bash) "/bin/bash") fails because it can't find bash (as opposed to guile finding /bin/sh but not finding the script in the store.
<RavenJoad>ajarara: I'm not sure what you are doing, but does the program-file gexp function help you at all?
<ajarara>nope, I don't think so. My question boils down to "why can't my guile see things in /gnu/store but the shell hosting it can?"
<ajarara>lemme upload a paste
<clone>I don't think you are supposed to use local-file for files in the store
<ajarara> https://paste.debian.net/1344302/
<ajarara>clone: have a reason why? The files are indeed there, the gexp-processed sexp points to them correctly.
<clone>for files in the store you want to access them with (file-append PACKAGE-NAME PATH-TO-FILE-IN-PACKAGE), the point of local-file is putting files that aren't in the store into the store and using them
<ajarara>so.. I have to wrap this one line script in a package? I might as well just write it in guile, it just calls restic with some arguments
<clone>well you could just (local-file LOCAL-FILE-PATH) instead of putting it in a package
<ajarara>is that not what I do in the paste?
<clone>like an actual path to the file, that isn't in the store
<clone>(local-file "/home/ajarara/guix-stuff/my-script")
<clone>or like RavenJoad said there are more ways of making and using file like objects if you look through the manual
<clone>ajarara: sorry, i just realized I completely misinterpreted your problem, when you said manually using sh /gnu/store/<hash>-my-script I thought you meant that putting the path by hand into your mcron service worked but local-file didn't
<civodul>Hello Guix!
<efraim>o/
<nathan-web>I am getting an error: "guix system: error: rename-file: Is a directory" when running `sudo guix system -L ~/System/guile reconfigure ~/System/guile/config.scm` How can I find more details about this error. A backtrace or something. I don't know where to begin debugging this.
<civodul>nathan-web: could you show what comes before that line? (on paste.debian.net or similar)
<nathan-web>civodul: https://paste.debian.net/hidden/35fb2d12/
<efraim>can you also post your OS config?
<nathan-web>efraim: https://paste.debian.net/hidden/1344406/
<divya>efraim: Are there any typical daily tasks you do on the rust-team that I can help with?
<nathan-web>Is there really no way to get a better error message than just looking through all of the config?
<divya>nathan-web: The link doesn't really open.
<efraim>nathan-web: are you sure about that link? I'm just seeing an error message about it not being there
<nathan-web>Ooops, https://paste.debian.net/35fb2d12/
<divya>That one doesn't open either.
<nathan-web>Err. edited the previous paste. This one does it. Just copied it. https://paste.debian.net/1344406/
<civodul>nathan-web: what does “find /run/privileged/” show after the error?
<civodul>this will help us determine whether the problem comes from privileged program activation
<efraim>I'd guess it's probably in base-operating-system or there's something going on with your /run/privileged/* folder
<efraim>do you have any programs you've added to privileged programs?
<nathan-web> https://paste.debian.net/1344407/
<nathan-web>If I have, I don't recall. I haven't changed my config in a while.
<nathan-web>efraim: base-system: https://paste.debian.net/hidden/0620b265/
<nathan-web>It really seems like there should be a way to get a better error than having to look at every line of what might be a very large config.
<efraim>nothing jumps out at me. I'd try it with the 6.11 kernel
<nathan-web>efraim: Same error with 6.11
<efraim>was there anything interesting with civodul's find command?
<nathan-web>Not to me.
<nathan-web>I pasted it.
<jaadu>What is it that enables bash-completion for interactive shells? Loading $GUIX_PROFILE/etc/profile doesn't seem to help.
<efraim>how many cores do you have on your computer?
<nathan-web>Err, I thought I copied it here. I'll do it again.
<nathan-web>efraim: https://paste.debian.net/1344413/
<nathan-web>efraim: 16 cores
<efraim>i thought maybe the linux-firmware patch might've been an issue but it's been merged upstream https://gitlab.com/kernel-firmware/linux-firmware/-/merge_requests/396
<Deltafire>ajarara: did you resolve your mcron issue? i'm also using mcron to run a backup script, but reference the script directly using the old-style cron syntax
<dariqq>nathan-web: Do you have anything extra in special-files-service? From grepping around it uses rename-file and it runs right after setting up the suid programs
<nathan-web>dariqq: `grep -irn special ~/System/guile/` shows nothing.
<efraim>perhaps the add-nonguix-substitutes simple-service?
<efraim>civodul: https://qa.guix.gnu.org/branch/rust-team I don't love the x86_64 substitute availability listed, but cuirass seems to think rust-team is ready to merge
<nathan-web>efraim: I just commented it out and tried again. Same error.
<civodul>efraim: hmm there’s ‘rust-team’ and ‘rust-branch’ on ci.guix, which one is the right one?
<efraim>civodul: uh, I think rust-branch. One of them I deleted from the web ui after merging once and then wasn't able to recreate it, so I just made a new one
<civodul>ah ok (rust-team has a problem indeed)
<civodul>why is x86_64 so low, though?
<efraim>baking substitutes?
<civodul> https://ci.guix.gnu.org/eval/1974822/dashboard shows few red dots for “rust-”
<civodul>no, substitutes should be baked by now
<civodul>did you try “./pre-inst-env guix build libreoffice -n --no-grafts” or similar?
<civodul>to see if we’re missing something big
<efraim>libreoffice pandoc qemu wine are all have substitutes ready for download
<dariqq>nathan-web: you could try to debug your services with fold-services and #:target-type activation-service-type to see the scripts that get executed and then work from there but it is not nice to look at
<efraim>maybe QA is tracking a previous commit, pre mesa merge
<civodul>efraim: yes, it could be that
<civodul>the page should display which commit it’s looking at
<efraim>i'm going to push it. the board looks green
<civodul>🤞
<civodul>go for it!
<efraim>after that I can go back to debugging this guile-zlib test failure on powerpc
<civodul>oh, sounds fun
<efraim>I might need to get out the zlib sources, I think it's an actual bug
<nathan-web>darriq: Where do you think I should put that?
<nathan-web>Around the `(services ...)` line in my base-system.scm?
<futurile>Morning!
<efraim>divya: re rust-team, I generally see about refreshing the packages from the manifest at ./etc/teams/rust/rusty-packages.scm and making sure that for patches each and every new crate actually builds. I do have a couple of scripts that I should toss in a NOTES file in the rust team directory to check for unreferenced crates (candidates for removal) and some gotchas about guix refresh not always offering new versions of rust programs if they use a crate-uri as
<efraim>a source
<efraim>o/
<dariqq>nathan-web: Was thinking of something like this: https://paste.debian.net/1344427/ and then execute it with guile
<nathan-web>dariqq: Thanks. I suddenly have a ton of packages to upgrade that weren't there before after a pull I just made. I'll try that first then see about using that.
<nathan-web>Err, that was ambiguous. Try upgrading* then see about your idea* if that doesn't work
<efraim>16GB/RAM raspberry pi 5 just released
<efraim>about £40 more expensive than the 8GB model
<efraim>civodul: patch incoming :)
<jjba23>Hi all, I have two small patches to add to Guix, which will unblock my further development on Byggsteg, the Guile Scheme CI/CD system (which you send Guile code over the wire): https://codeberg.org/jjba23/byggsteg could someone be so kind to take a look and merge ? :D
<jjba23>Here a fix for Artanis (bump to guile-json-4) https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75446
<jjba23>Here adding a new guile package, guile-uuid : https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75447
<cluelessguixer>After using iproute2 to remove eth0's local ip, adding it to br0, and making eth0 its slave, eventually eth0 regains its ip and thus takes down the network. I'm thinking this needs to be configured with networkmanager, but am I right in thinking you can't do it through config.scm? network-manager-configuration seems to imply that.
<cluelessguixer>May or may not have solved the regaining ip thing. I brought down eth0 (bad idea), but when I brought it back up it seems to have lost some inet6 stuff which I was ignoring before. Anyway, will these settings persist without config.scm entries?
<futurile>This survey is exhausting, I kinda wish I'd known how much time it would take - OTOH, probably good that I didn't know heh
<jlicht>futurile: thanks for all the hard work
<futurile>jlicht: :-) ... thanks - just venting - I'm chipping away at it!
<jaadu>The file /etc/profile.d/zzz-guix.sh contains the line "[ -L "$GUIX_PROFILE" ] || \". Isnt that wrong? Shouldn't there be '&&' instead?
<jaadu>I have had some issues with not having the right environment variables and this might be a reason to why I'm having issues.
<jaadu>This is on a foreign distro (Fedora)
<stochastic>Is it possible to "patch" a channel?
<stochastic>I'm trying to use the rust-team branch, and some packages were moved from crates-io to crates-compression, which collides with _other_ channels (using crates-io and not crates-compression).
<futurile>stochastic: nicolas graves has some patch floating around where you can apply a patch to a channel I think.
<futurile>stochastic: I think it got sent to Issues, or possibly to devel
<cluelessguixer>Yesterday I learned that wg-quick doesn't like nftables (only iptables). At least inside a system container. So I had to add (service iptables-service-type) to my host's config. But searching around it doesn't appear like wg-quick should have an issue with nftables.
<cluelessguixer>Err, just as I posted this it occurred to me that I might have had my nftables-service-type commented out.
<df>should sudo herd status show user-level/desktop services (eg pulseaudio)?
<df>according to powertop, pulseaudio is using a lot of power, which is odd because I'm not even using any audio on the system
<df>I don't really have time to debug it for now so I'd just like to stop it
<Kabouik>Hi #guix, I'm getting this error when trying to use some binaries downloaded from a device manufacturer (they're standalone, no need to install them): https://0x0.st/8-TQ.txt
<Kabouik>gcc-toolchain is installed. Any ideas?
<Kabouik>I tried prepending with LD_LIBRARY_PATH=$(guix build libusb)/lib but that didn't help.
<Kabouik>Ahem sorry, libusb was because I also had an issue with libusb. I overlooked that.
<Kabouik>Yeah basically if I don't use that LD_LIBARY_PATH, libusb-1.0.so.0 is not found, and if I do, the dependency problem turns into libstdc++.so.6 being not found. Why can't my command find the correct dependencies if they are installed? Is it a guix issue or an environment issue?
<cluelessguixer>Am I doing it right? https://bpa.st/SPFA
<csantosb>When I update my guix channel, replacing python-vunit by python-vunit-latest, guix pull complains
<csantosb>`(exception unbound-variable (value #f) (value "Unbound variable: ~S") (value (python-vunit)) (value #f))`
<csantosb>Why ? https://git.sr.ht/~csantosb/guix.channel-electronics/commit/7580e76994aafd992e0fd147aa2ce31b0f0a3a4d
<csantosb>Is it illegal to rename package definitions in channels ?
<civodul>csantosb: could it be that modules in your channel expect ‘python-vunit’ to be exported from that module?
<ieure>csantosb, Yes, it's illegal, rms is on his way with handcuffs to put your in Free Software jail.
<csantosb>Well, `python-vunit` belongs to guix upstream now
<csantosb>Related ?
<ieure>csantosb, If it's in upstream, the module the variable is defined in has changed. You likely still have references to the old location.
<csantosb>I have a ref to python-vunit here: https://git.sr.ht/~csantosb/guix.channel-electronics/tree/b8bcc4cc35a74deb062219ac43c7a2018da27bba/electronics/packages/ieee.scm#L43
<ieure>csantosb, Yes... and I don't see any (gnu packages ) modules being used, which is likely your problem.
<csantosb>Oh, I see ... my bad ! I need to point to new location
<ieure>Yes. This is the same as in any other programming language, you refactored things so the variable is defined somewhere else, and need to update references to it.
<csantosb>Ok, thanks !
<csantosb>Out of curiosity, is there an elegant way to check locally a channel before pushing (other than building everything) ?
<ieure>I don't know of a way to do that, but maybe someone else has a nice setup they can share.
<ieure>I have `main' and `next' branches in my channel and Cuirass builds both. If I'm doing major surgery, I usually push to `next' and make sure that builds before merging into `main'.
<ieure>This is a fairly heavy setup, though.
<csantosb>The right one, I guess, when you have Cuirass at hand to delegate building everything
<csantosb>In the meantime, poor's man testing comes to pushing to next branch, then guix pulling, which kind of tests for you, if I understand it correctly
<yelninei>csantosb: You can also pull from a file:// url and a custom channels file
<csantosb>Just checked, you're right, great tip, thanks !
<ray1729>Hi, I have a question about the subids-service-type (which I was happy to see added to Guix, thank you!). Why is %subordinate-id-max set at 600100000? The podman docs say there are 4 billion ids available and suggests allocating the top 2 billion to the "containers" user.
<ray1729>...is there a different service for configuring subordinate ids for "containers"? (This is used by podman when root launches a container with --userns=auto)
<despair>Hi, I am trying to compile a C project. On other distros I would just run cmake and make. This also works on guix, but the executables do not start since it is complaining about missing a shared library. Am I correct in assuming that in guix one always has to write a .scm file to build software and that the error I am getting is quite normal?
<ieure>despair, That situation seems kind of uncommon, is it using dlopen()? Usually the build will fail if it can't find the libraries it needs.
<despair>No, dlopen() is not called. Indeed, during build the linking appears to work correctly, but afterwards it complains that it can no longer find the shared library
<ieure>despair, Ah, yes, okay. So this is likely an issue with the rpath in the binary. Which means, yes, the simplest thing here is to make a proper Guix package.
<ieure>despair, The other option is to use a container environment to build and run the program. You can do this with `guix shell -C --emulate-fhs', see https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-shell.html
<despair>I see, thanks for the info.
<despair>Yeah, I'm slowly trawling through the manual (and SICP) to get the hang of it all.
<despair>After looking a bit further it appears only the tests from the test framework are failing but the actual binaries seem to work, will have to look into it further
<despair>@ieure In a container it complains that it cannot find the compiler "The CMAKE_C_COMPILER is not a full path to an existing compiler tool", I invoked guix shell -C --emulate-fhs -D gcc-toolchain protobuf-c cmake
<nathan-web>Is there a straight-forward tool for re-formatting guix scheme source in emacs? In particular, the output of `(pretty-print (service-value  (fold-services ...)))`? Including inserting new-lines and indentation?
<lfam>Anyone using the 6.12 kernel yet? Any feedback? <https://issues.guix.gnu.org/75427>
<nathan-web>Where on a guix system can I find the implementation for `rename-file` that is being used by guix? I'd like to temporarily modify it to give me a better error message.
<lfam>nathan-web: https://www.gnu.org/software/guile/manual/html_node/File-System.html#index-rename_002dfile
<lfam>The Guile Procedure Index is handy for all the functionality provided by Guile itself: https://www.gnu.org/software/guile/manual/html_node/Procedure-Index.html
<lfam>So, to clarify, rename-file is part of Guile, not Guix
<nathan-web>lfam: Yes. I just wasn't sure where those files were located on the system.  Judging by this though, it is implemented in C, so I would have to recompile guile.
<nathan-web>Is there any way I can use guile to wrap rename-file to get better information about an error I am getting in `guix system`?
<lfam>Personally I don't know how I would approach it aside from printf-style debugging around the rename-file invocations, but that assumes you have enough experience to know what you are looking for
<lfam>But there are Guile experts here who can help, and also in the #guile channel
<lfam>You could also say what error you are receiving
<lfam>nathan-web ^
<nathan-web>lfam: sorry, this was a continuation of a problem I discussed earlier in the day. To summarize: `sudo -E guix system -v 3 -L ~/System/guile reconfigure ~/System/guile/nls/systems/$(hostname).scm` fails with an error: `guix system: error: rename-file: Is a directory`. So far I have been unable to get more information than that.
<nathan-web>lfam: https://logs.guix.gnu.org/guix/2025-01-09.log#084706 has more of that discussion.
<lfam>Honestly, I would run this within `strace -f`. That will tell you which file / directory is the problem
<lfam>Not much fun but it works
<lfam>nathan-web^
<nathan-web>I'll try that now.
<nathan-web>Finally. That gives me some information, but I'm confused by it.
<lfam>If you search in the output for the error message, you should find the salient info
<nathan-web>sudo -E strace -f guix system -v 3 -L ~/System/guile reconfigure ~/System/guile/nls/systems/$(hostname).scm &> ~/tmp
<nathan-web>grep -i rename ~/tmp
<nathan-web><lots of stuff>
<nathan-web>[pid  2551] rename("/var/run/dbus/system_bus_socket", "/run/dbus/system_bus_socket") = -1 EISDIR (Is a directory)
<nathan-web>[pid  2551] write(2, "guix system: error: rename-file:"..., 48guix system: error: rename-file: Is a directory
<nathan-web>Which corresponds to`(rename-file (string-append "/var/run/dbus/" next) (string-append "/run/dbus/" next))` found in the output of `(fold-services (operating-system-services my-os) #:target-type activation-service-type)))`
<nathan-web>But I ruled that out because:
<nathan-web>```file /var/run/dbus/system_bus_socket
<nathan-web>shows: /var/run/dbus/system_bus_socket: socket
<nathan-web>Now that I have this info though, I'm not sure what else it should be. `socket` is in the name.
<lfam>It's a socket alright
<lfam>I wonder if something goes wrong while this stuff is happening. You could check the file type of the file in question immediately before the rename-file invocation
<lfam>And also check the file type of /run/dbus/system_bus_socket
<nathan-web>file /run/dbus/system_bus_socket --> /run/dbus/system_bus_socket: directory
<nathan-web>Not really sure how to go about checking the filetype just before invocation.
<lfam>That's your problem I think
<nathan-web>I wonder if I could just rename/move  /run/dbus/system_bus_socket and try again.
<lfam>It's supposed to be a socket file
<lfam>I figure it can't hurt, since it certainly isn't working as a socket now
<PotentialUser-41>I am installing guix-sd and noticed there are several ways to install packages, either with guix install, OS .scm files, or with the guix home .scm file. I assume the OS .scm files would be for packages for all users, the home one would be for packages for a single user, but when should you use guix install, is it just a more convenient way of
<PotentialUser-41>doing an OS wide install of a package?
<Rutherther>PotentialUser-41: no, guix install is a way to install to your _user_'s profile, it's not system wide
<PotentialUser-41>Rutherther: Oh okay, thanks, is there any benefit to using the home file rather than guix install? Also is there a way to install packages system-wide with a single command?
<Altadil>PotentialUser-41: guix install vs guix home is mostly a matter of personal preference
<Rutherther>PotentialUser-41: yes, there is a benefit to using guix home, it can install services as well. Some programs cannot work without a service accompanying them
<Altadil>guix install is more "classical" aka akin to traditional imperative package managers, while guix home is declarative
<Rutherther>PotentialUser-41: there is no built-in system-wide install command. You would have to craft something like that on your own, it should be fairly trivial to do something like that though
<Kolev>Altadil, ❤️ Guix Home!
<Altadil>Kolev: not sure what you mean, but yes, I do <3 Guix home (and Guix!)
<Kolev>Altadil, rde is great too.
<Altadil>Kolev: sorry, I’ve no idea what you’re referring to. ^^
<Kolev>Altadil, oh, it's Guix Home on steroids.
<PotentialUser-41>Okay thanks, what about for installing a new package from a config file? Is it just `guix system reconfigure`? Is updating the full system `guix pull` then `guix system reconfigure`? Sorry for the simple questions, just never used this type of package manager and couldnt find a clear guide
<Altadil>`guix pull` then `guix system reconfigure` will give you the latest of what is declared in your OS config (but won’t touch the rest)
<Rutherther>PotentialUser-41: guix system reconfigure will activate the config you give to it. You don't need to run pull. Pull will pull channels according to your channels specification (or guix latest if you don't have any specification), so that way you get newer software. If you currently don't want to update, but only install new program, service etc., just run reconfigure.
<PotentialUser-41>Thank you. I got it installed just it asks me my encryption & user password twice. I think the encryption is because GRUB is decrypting the drive then the kernel has to do that again, rather than having the kernel on the unencrypted boot partition. Is there a way to change that so the kernel & initramfs are unencrypted (also preferably I could use
<PotentialUser-41>LUKS2 rather than LUKS)? I have no idea why it is asking me my user password in a console prompt and XFCE GUI prompt though.
<Altadil>Encryption password and user one are independent, so that’s normal. But if it asks for the encryption one twice at boot, I’m afraid that’s a known current limitation.
<Altadil>I don’t know the details, but it seems like a lot of work would be needed to solve this.
<PotentialUser-41>Altadil: It asked for both twice. So it also asked for the user password twice, once in a console prompt, and once in the display manager, so 4 password enterings total.
<Altadil>PotentialUser-41: oh, then that’s extra weird… the only guess I have is: maybe it took some time for the GUI to start, so you were seeing the console prompt, but didn’t need to do anything? If you try waiting a bit at the console prompt, it should be replaced with the graphical one.
<Rutherther>PotentialUser-41: it is possible to copy kernel files with some work on user's side, guix channel doesn't have a bootloader that would do that. I use this, https://git.ditigal.xyz/~ruther/guix-config/tree/main/item/modules/ruther/bootloader/grub.scm, but it doesn't cover 100 % of cases and doesn't delete old kernel files by itself. Other than that you can also have /gnu/store on an unencrypted partition, since it shouldn't really contain secrets, so...
<Rutherther>... it's mostly fine. Or you can also have extra initrd with your key - that time the store will contain a secret, so you should have it encrypted - and that way after grub unlocks your disk, the key will be taken from initrd fs, and it won't be necessary to enter password twice
<PotentialUser-41>Rutherther: Thank you, I'll take a look at that and try to figure something out. Is there a way to generate the initrd with the key builtin on guix? I know what you mean, I have used that setup before on debian, and can do the LUKS stuff for it, but don't know how to get the key in the initrd
<lechner>Hi, what's the email address for the kernel team, please?
<meaty> Does guix/shepherd have any built-in way to make use of the systemd .service files that some packages provide in /lib
<civodul>meaty: no
<civodul>it was the subject of a GSoC a long time ago, but that didn’t happen
<civodul>it would be quite doable now
<meaty>civodul: GSoC?
<civodul>“Google Summer of Code”
<civodul>2-month internships
<meaty>I would guess you could parse them and turn them into shepherd service objects
<ekaitz>hi! trying to clone from github i'm getting:
<ekaitz>error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)
<ekaitz>error: 2600 bytes of body are still expected
<ekaitz>from a guix package, i mean
<ekaitz>did you see this before?
<civodul>nope!
<ekaitz>i tried to guix download and worked
<civodul>curl is probably not as powerful as Guile’s HTTP client *cough*
<ekaitz>civodul: but guix build is using a different mechanism than guix download?
<ekaitz>now i tried to git clone directly and clones at 50KiB/s
<ekaitz>hehe
<civodul>ekaitz: ‘guix download --git’ uses Guile-Git/libgit2, whereas ‘git-fetch’ origins use Git (which uses cURL)
<ekaitz>oh
<ekaitz>probably i did the download wrong and it downloaded the html instead of the repo
<ekaitz>ACTION facepalms
<ekaitz>oh yeah it fails with the guix download --git
<ekaitz>now this makes more sense