IRC channel logs

2026-06-15.log

back to list of logs

<Saorsa> does anyone here happen to know whether the `(service home-service-type)` can be used to embed a home configuration in the system configuration and have it be built by guix system reconfigure?
<ieure>Saorsa, It cannot, you're confusing it with `guix-home-service-type'.
<ieure>Saorsa, See the manual, `(guix) Guix Services' for detail.
<Saorsa>Ah, can `guix-home-service-type` achieve that functionality then?
<eikcaz>hmm. Why on earth would /run/user not be populated?
<apteryx>is codeberg-cli useful to have in manifest.scm?
<apteryx>hm, 'make check TESTS=tests/guix-environment.sh' is prone to hang here
<apteryx>hm, never mind, it may be caused by the change under review
<apteryx>yep, fixed
<apteryx>what are valid values for TERM ?
<apteryx>(the environment variable); and where is this documented?
<Saorsa>Cheers for the previous help, think I managed to address the issue I was having.
<switchy>apteryx: that's a terminfo(5) thing, as part of ncurses? the toe -a command prints the database entries
<Saorsa>Turns out that I was stuck on a pinned version which didn't have the functionality I was after.
<apteryx>I was trying to come up with a useful environment variable to set in a 'guix shell' example (the current one runs mpirun)
<apteryx>i guess i'll go with OMP_NUM_THREADS=16
<switchy>yeah, I think that's a better choice than TERM which is pretty messy..
<apteryx>pushed the change as d11615f609d; we now use -E SOMETHING=VALUE with guix shell to assign it directly, thanks Thomas!
<apteryx>Tomas*
<crinklywrappr>should `guix locate clear`  respond with `ncurses@x.y`?
<crinklywrappr>reading through the manual
<switchy>presumably, does it not?
<crinklywrappr>no.  i see `guix locate: error: file 'clear' not found in database '/home/crinklywrappr/.cache/guix/locate/db.sqlite'
<crinklywrappr>the example `guix locate ls` works correctly
<switchy>do you need to guix locate -u?
<Saorsa>Only thing now that needs fixing is my swapfile not activating on boot.
<crinklywrappr>that fixed it.
<crinklywrappr>thanks
<crinklywrappr>seems like it only works with installed packages
<switchy>yeah
<crinklywrappr>it's more convenient than `ls -l $(which <command>)`, and inspecting the symlink
<Saorsa>Hey, when setting up a swap file is there anything else in particular that you need to do besides what is specified in the manual?
<Saorsa>Just that my swap file isn't being initialized after booting despite having the options set for it in my configuration.
<robin>sneek, later tell Saorsa: possibly it needs mkswap as in https://wiki.archlinux.org/title/Swap#Swap_file ? not sure that's in the manual, you can also test it manually with swapon/swapoff
<sneek>Got it.
<crinklywrappr>it's in the manual https://guix.gnu.org/manual/1.5.0/en/guix.html#Disk-Partitioning
<robin>node "Keyboard Layout and Networking and Partitioning", lots of topics :)
<robin>ah, just the basics for each
<robin>(thanks crinklywrappr)
<robin>hm, dd shouldn't be needed anymore
<robin>ACTION bugreports
<Saorsa>Say, what is the best way to update your system with Guix?
<sneek>Saorsa, you have 1 message!
<sneek>Saorsa, robin says: possibly it needs mkswap as in https://wiki.archlinux.org/title/Swap#Swap_file ? not sure that's in the manual, you can also test it manually with swapon/swapoff
<Saorsa>Just that there seems to be a few ways to about it from unsetting and resetting your profile to using a guix command.
<robin>Saorsa (Saorsa60 ?), hm what filesystem are you using? (btrfs is different)
<Saorsa60>Yeah, using BTRFS robin.
<robin>(hmm my firefox is dying, maybe i finally *really* have too many open tabs...)
<Saorsa60>I've pretty much done everything from following the Arch Wiki to consulting an LLM at this point.
<Saorsa60>For whatever reason, my system doesn't seem to activate swapon at boot.
<robin>ACTION checks their btrfs configuration
<Saorsa60>I've got my configuration files uploaded on to GitHub for troubleshooting, so I'll shoot you a link over to it.
<robin>thanks, that is always helpful :)
<Saorsa60>Here's where all my filesystem stuff lives.
<Saorsa60> https://github.com/slopsec/System-Configuration/blob/main/Lisp/Guix/System/Configuration/hardware-configuration.scm
<robin>the confusing thing about the manual is that swapon/swapoff are for interactive testing, and the boot-time config is different (the commands are only documented for installation-time, to make sure it works i guess, but for ordinary use it's an operating-system clause)
<Saorsa60>You'll have to forgive the formatting, I've only just transitioned over to Guix from NixOS.
<efraim>you might need some sort of dependency management thing to make the swap target depend on the mount point
<identity>Saorsa60: you can try ‹guix style -f hardware-configuration.scm› and see if the output is worse than what you started with
<robin>oic, Lisp/Guix/System/Configuration/configuration.scm has the operating-system record
<Saorsa60>Damn, that isn't half bad.
<Saorsa60>I'm definitely doing that for the rest of my files.
<robin>identity, TIL, neat
<robin>(that maybe helps my in-place package updater subproject)
<identity>i would also recommend doing (define the-disk (uuid "58e043e1-c58a-4d6d-9d7d-e41baf92dc7f" 'btrfs)) or some such instead of writing it 50 times for every sub-volume
<Saorsa60>Haha, yeah. I'm sure a lot could be done to cut down on the recursion. I'll consider that once I've got the swapfile working.
<robin>Saorsa60, btrfs handles swapfiles differently for some reason, so btrfs subvolume create /var/swap (or so) and btrfs filesystem mkswap --size 4g --uuid clear /var/swap/swapfile
<identity>repetition, not recursion
<robin>then it should work automatically after reconfigure+reboot
<robin>(not sure how to list swap status, mount sounds wrong)
<identity>‹swapon›
<Saorsa60>I've already tried using the swapfile at the root of the filesystem, but that didn't seem to work either and I wasn't really wanting to remove the filesystem compression on it. Not sue whether create it under var will do much different, but I'll give it a shot.
<identity>Saorsa60: does it really have to be a swapfile? they just create problems for no reason in particular, i think
<identity>just create a swap partition and be done with it
<Saorsa60>I'm very tempted to do just that.
<Saorsa60>Only reason I haven't so far is because pretty much all the space in my drive is allocated already, so I'd have to resize it to make a traditional swap partition unless it can be done through btrfs subvolumes as well.
<robin>(i like the naming convention, titlecased folders are pretty common in CL projects where pathnames are semi-arbitrary, nontrivial for guile though)
<robin>Saorsa60, yeah, it has to be in a separate subvolume
<robin>(or...actually i'm not sure i attempted it without)
<identity>it does not have to be, but it is a bad idea
<robin>oh, no snapshots of volumes with swapfiles according to archwiki
<robin>ACTION should set up backups that get updated
<identity>‹it›, which is a bad idea, is a swapfile residing on a subvolume with other stuff
<robin>yes, i see archwiki [[Btrfs]] has a number of other constraints too (no raid, no multidevice, etc., i also don't love the idea of storing a ram snapshot on a working volume, though swap partitions are probably less popular these days)
<JD93>For a Python package's source which is better: GitHub or PyPI? `(origin (method git-fetch) (uri (git-reference ...)) ...)` or `(origin (method url-fetch) (uri (pypi-uri ...)) ...)`?
<identity>robin: you should be looking at <https://btrfs.readthedocs.io/en/latest/Swapfile.html> instead of at the Arch Wiki article which has the «This article […] is out of date.» at the top
<robin>lol, thank you
<robin>(i should check if guix has unofficial wikis, some years ago the consensus was that info manuals are enough, which likely remains the consensus)
<robin>hm, there's a tiny systemcrafters wiki (insofar as it's labelled as a wiki) at least https://github.com/SystemCrafters/wiki-site/tree/main/content/guix
<robin>(moving my rambling to #systemcrafters)
<apteryx>robin: there's a Guix page on the libreplanet wiki, which says "official Guix wiki", a claim I don't remember being true :-) https://libreplanet.org/wiki/Group:Guix
<robin>apteryx, hmm i see some mediawiki userboxes at the bottom that i believe some wikipedians might like :)
<identity>«This user herds their GNU with Guix System.»
<apteryx>robin: saw that, it's cute
<adanska>is there any possibility of downloading all of the irc logs? logs.guix.gnu.org's search function seems incomplete.. it does not show me more recent messages if i try to search for my nickname, for example
<adanska>i just want to be able to grep through it to try and find some old conversations i had here
<adanska>does anyone know who's in charge of the irc logging?
<apteryx>adanska: I use my own bouncer (pounce-service-type), hosted on a Guix System VPS
<apteryx>and let ERC do the logging so in theory I have everything I care about saved under ~/log/.
<adanska>apteryx, thats a good idea.. though i want previous logs though i will do something like this in the future
<JD93>For a Python package's source which is better: GitHub or PyPI?
<charlesroelli>JD93: git-fetch origin is preferred.
<JD93>Why?
<charlesroelli>See https://codeberg.org/guix/guix/issues/6992
<JD93>Thank you.
<charlesroelli>No worries
<futurile>morning all
<trev>morning futurile. is there a recording of yesterday's meeting?
<futurile>trev: yes, it's on the hosted platform so you can see the chat/notes -> https://blabla.aquilenet.fr/playback/presentation/2.3/edd11ddf8684d2759a0d2b93b811701dce31dacf-1781454912133
<trev>thanks!
<futurile>trev: tell me what you think when you've watched it ;-)
<trev>futurile: it was good, i listened while cooking lol
<futurile>trev: probably a good use of time, I'm having to listen to myself to write the minutes (ugh!)
<mdioc>Hey everyone. I have been using guix system for a few months now and really enjoying it. However, I am apparently too dense to get unattended upgrades working. For some background, my system config is split into a shared base config and then inheriting that in my individual systems. My configs are stored in a custom channel I use (not sure if this is the right way to do this) and I cannot figure out how to add my cu
<mdioc>stom channel to unattended upgrades service type. I see 'channels' but no matter how I try to append to %default-channels, I seem to get an error that the channel is undefined or if using the a defined channel from my config, I get "no code for module <module name>. Any ideas?
<ieure>mdioc, "no code for module" means you're trying to use a module that's not on your Guile load-path.
<ieure>mdioc, Are you using a variable from your channel to represent its channel record, and appending that to %default-channels?
<mdioc>ieure, yes I figured that would be the case, but I can run guix repl and access those modules with no problem so I thought they would be in my load-path
<mdioc>Correct to your question, that is exactly what I was trying to do to avoid duplicating the channel declaration
<ieure>mdioc, Can you share your code? I'm wondering whether you're using a gexp to do the append; if so, the gexp is evaluated by the build daemon, and the load-path won't be the same as when you run guile (or `guix repl') locally.
<mdioc>ieure, I am using a gexp to do the append
<ieure>mdioc, Then yes, this is your exact problem.
<mdioc>ieure, should this just be an expression to do the append, no need for a gexp?
<ieure>mdioc, It depends what unattended-upgrades-service expects; I don't know what that is. But start there and see what happens. Or you can keep the gexp, but ungexp the channel you're appending.
<mdioc>Cool, that is a good place for me to start, I'll give it a shot without the gexp and see what happens
<mdioc>Much appreciated
<ieure>Sure thing.
<ieure>mdioc, On whether this is the "right way" to do this: I don't think there is a "right way," so if it works for you, that's good enough.
<mdioc>ieure, Fair enough. I came into guix complete scheme-ignorant and only ever poked around with nix a bit to understand the high-level concepts of declarative configuration, etc. so I am never really sure if I am creating something good or monstrous :)
<ieure>mdioc, What I do is the other way around, I define a minimal operating-system for the specific machine (hostname, filesystem UUIDs, etc), then apply a series of transformer functions to it.
<ieure>mdioc, Here are some example profiles: https://codeberg.org/ieure/atomized-guix/src/branch/main/atomized/system/profiles.scm
<ieure>mdioc, So my config looks like: (define %os (operating-system ...)) (define xf (compose profiles/+exwm profiles/+bootstrap)) (xf %os)
<ieure>More transforms than that, usually 8-10 for a typical system, but you get the idea.
<ieure>What I like about this is that when stuff needs to touch multiple parts of the operating-system, all those changes are centralized in the one transform procedure, so it's very easy to add/remove stuff by adding/removing transforms. So you can have stuff like +intel-video, and that adds some packages, changes the kernel arguments, and pulls in some xorg configurations.
<Noisytoot>guix pull is still broken
<Noisytoot>ice-9/eval.scm:142:16: In procedure compile-top-call:
<Noisytoot>error: getenv: unbound variable
<Noisytoot>(I can guix pull --roll-back and guix pull, but still)
<Noisytoot>actually maybe if I upgrade guix now it'll be un-broken? I'll try
<ieure>Noisytoot, What commit are you on? I pulled last night without issues.
<Noisytoot>ieure: current system generation is 5863808183e11ae3f1ac1378dff8b079748ada3c
<ieure>Noisytoot, "system generation" would `guix system describe'. I'm asking for the commit shown by `guix describe'.
<Noisytoot>ieure: 28d6bcc930be7da72ee5e0a938a9a37c83ad2afc
<Noisytoot>this is after I successfully pulled with guix pull --roll-back and guix pull, I haven't ran guix upgrade or guix system reconfigure yet
<ieure>Noisytoot, I can't reproduce with `guix time-machine --commit=28d6bcc930be7da72ee5e0a938a9a37c83ad2afc -- pull --profile=/tmp/guix.repro'. Are you using third-party channels? They may be the source of your issue.
<mdioc>ieure, your solution seems great, I may use it for 'inspiration' :)
<ieure>mdioc, Thanks, please, rip it off!
<untrusem>mine is working fine but i might use compose transformations more
<gnoodles590>Hello
<futurile>hello gnoodles590
<gnoodles590>Does anyone know the proper way to run guix/hurd in qemu?
<gnoodles590>I tried running qemu-system-x86_64 --machine q35 -nic user,model=virtio-net-pci -enable-kvm -m 2048 -device virtio-blk,drive=myhd -drive if=none,file=86pbr2w7zfzf31njwwihxs86adwbb6zv-hurd-barebones.qcow2,id=myhd, but I get stuck on sd0: Waiting to identify in the boot process
<Noisytoot>ieure: yes, https://git.noisytoot.org/noisytoot/guix-channel as well as a non-free channel that's not public and contains only a single package
<ieure>Noisytoot, I would audit both of those for getenv calls.
<Noisytoot>neither of them call getenv, at least not directly
<dariqq>Noisytoot: do you have getenv in your channels.scm?
<Noisytoot>yes (I have (getenv "HOME")), that must be it
<Noisytoot>what do I need to do to make getenv available there, to avoid having to hardcode the full path?
<SaltyRust>anyone working on a neovim nightly package for version 0.13.0?
<stephen0>What guix package will provide a tui/cli version of emacs?
<mattl>stephen0: emacs-no-x
<hjolmir_the_peni>i see a message to guix-devel@gnu.org in my sent emails from 5 days ago, and i definitely have requested to subscribe, but don't see my sent mail in the archives and haven't heard anything about the subscription. am i just stuck in the moderation pipeline?
<stephen0>I didn't even see that one in the list when I was looking for emacs-nox
<ieure>hjolmir_the_peni, If it was your first email to the list, then yes.
<mattl>stephen0: yeah the extra dash is a bit confusing, whereas it's called emacs-nox in Debian, etc.
<dariqq>noe: Changing shepherd -0.10 rebuilds elogind
<constfun>hello, does anyone else have a problem loading https://issues.guix.gnu.org/ or getting substitutes, its odd i tried a few mirrors and those also dont work for me
<Noisytoot>constfun: I can't load substitutes either
<Noisytoot>or that page
<ieure>I agree issues is not responsive, but it's also not the current issue tracker.
<Noisytoot>the bigger problem is substitutes being unavailable
<Noisytoot>guix substitute: warning: download from 'https://bordeaux.guix.gnu.org/nar/lzip/4xyd78072y3a31wid6gsq3pk9ikfzpn4-python-noiseprotocol-0.3.1' failed: 502, "Bad Gateway"
<Noisytoot>guix substitute: warning: ci.guix.gnu.org: connection failed: No route to host
<attila_lendvai>the /gnu dir cannot be a symlink? how else can i link/move it to another disk where i have more space?
<ieure>attila_lendvai, You have to mount it on /gnu.
<attila_lendvai>i wish i could to avoid reorganizing the disks/mounts only for this. is this some security measure?