IRC channel logs

2026-02-25.log

back to list of logs

<switchy>the instructions for debugging build failures (https://guix.gnu.org/manual/1.5.0/en/html_node/Debugging-Build-Failures.html) assume that you're using system guix -- I'm trying to write a (python) package so I'm in a guix shell running pre-inst-env. I then can't really drop into a container because if I keep the build directory, it doesn't show up in my pre-inst-env shell! any suggestions? fwiw, it seems like pytest is just dying during test collection. i
<switchy>f I just drop into the build directory, source ./environment-variables and run pytest, it all works fine!
<switchy>okay, it's something specific to the container/build daemon environment: the tests use pyopencl and it seems to just be aborting: prlimit64(0, RLIMIT_DATA, NULL, {rlim_cur=RLIM64_INFINITY, rlim_max=RLIM64_INFINITY}) = 0; write(2, "Not enough memory to run on this"..., 41) = 41 -- is there info about the container environment and any resource restrictions?
<switchy>maybe the point is that /sys isn't available in the build environment, so I should just skip the tests...
<futurile>switchy: you're on a 'foreign distribution' right?
<futurile>switchy: so when you do --keep-build it will keep the build in /tmp
<futurile>switchy: if you're using a 'normal' shell it will write there no problem; if you're using a 'container shell' you also have to share /var/guix so the build log is available
<futurile><sigh> that's two whole days trying to figure out how to publish to Peertube
<futurile>it kinda works - bah
<untrusem>those who use channels-lock.scm file, how you automatically keep it up to date, I just want to change commit for guix proper channels, I don't mind having latest commits of other channels I have
<futurile>untrusem: what do you mean by "automatically keep it up to date"
<untrusem>futurile, by not having to manually change every channels commit by hand
<futurile>untrusem: ah, yeah don't have a method for that
<futurile>wish I did :-)
<untrusem>I got this from searching around
<untrusem> guix time-machine -C channels.scm -- describe -f channels $(EXTRA_ARGS) > channels-lock.scm
<untrusem>from rutherther's config
<untrusem>so I guess we will have to compute a new guix again for updating that
<untrusem>this or manually updating each commit
<futurile>yeah, I want to use a commit that has substitutes so I have to manually do it
<untrusem>hmm I will be doing the same, your 12 hours old commit trick
<kestrelwx>Hello!
<Guest21>If I run guix system vm it is a read only filesystem. Is the --persistant flag meant for this? I don't care about data I just want to quickly test out stuff but it is locked.
<mange>The whole filesystem is read-only? That doesn't sound right to me...
<Guest21>no not the whole, my bad, the guix store. it says something mirror lock
<mange>Right, yeah. The VM can't write to the store, because it gets a read-only view of the host system's store.
<Guest21>ah
<mange>I think you can build a "guix system image" and then run it yourself, as one way to do what you want.
<mange>I'm going to have a look through the options for "guix system vm" to see if there's a way to do it there, too.
<Guest21>my main issue is basically guix home is not working with a home directory of type nfs. I have autofs configured for /home/myuser and now I want to run guix home manually to see if it still works
<Alavi_me>Hi people, guix noob here. I wanted to create configuration files for guix, so I can track them with git and share them to other devices. Where should I start with that? I searched quite a bit but didn't really understand how it's set up. Is there a specific directory I should write my configs in?
<mange>No specific directory: the declarative guix commands mostly operate on files that you pass as arguments. Things like "guix system reconfigure X.scm" and "guix home reconfigure Y.scm". It doesn't really care where those files are.
<identity>Alavi_me: see (info "(guix) Essential Home Services"), specifically ‘home-files-service’ and ‘home-dotfiles-service’
<identity>if you mean «where am i supposed to put my (system) config.scm and home-config.scm», wherever you want
<Alavi_me>identity: >(info "(guix) Essential Home Services")< where should I run this command?
<Alavi_me>I'm using guix on arch linux
<identity>Alavi_me: you can evaluated that as lisp from inside Emacs, but if you do not use Emacs, you can put everything inside the parentheses into your terminal
<mange>Or you can read it online: https://guix.gnu.org/manual/devel/en/html_node/Essential-Home-Services.html
<Alavi_me>Thank you
<Alavi_me>For example, in https://guix.gnu.org/manual/devel/en/guix.html#Channels-with-Substitutes it says you can add those configs to `channels.scm`. where should I create `channels.scm` and how will guix know about it?
<untrusem>Alavi_me, you can create in anywhere but the default is ~/.config/guix/channels.scm
<untrusem>you can specify it via `-C` flag in guix command
<kestrelwx>There's a `home-channels-service-type` as well.
<Alavi_me>untrusem: thank you. it will automatically detect it from ~/.config/guix/ ?
<untrusem>yeah
<Alavi_me>thanks
<untrusem>here is an example -> https://bpa.st/DVFA
<postroutine>Hello. I tried to add a new channel to my Guix installation. To access some libre software not yet in Guix channel. Adding a new channel was easy, but adding a new substitutes server was not easy. I followed the manual. Did I miss something ? Is there another way to specify a new substitutes server ?
<identity>postroutine: (info "(guix) Getting Substitutes from Other Servers")
<untrusem>postroutine: you have to authorize its key first and you will be able to use `--substitute-urls` option
<untrusem>ok identity have you covered already :)
<postroutine>identity, that the manual I followed instruction from.
<identity>and what is the problem?
<postroutine>The complexity, and the need to be admin on the system, compared at how easy it is to add a new channel.
<untrusem>that's because you don't want a use to add substitute server
<identity>complexity? you just need to add the server and the key
<untrusem>because then we can't be sure that the nars are not tampered with
<untrusem>a different substitute server can provide different nars
<postroutine>To add a new channel, I only need to edit "~/.config/guix/channels.scm" to specify the channels name, url and GPG fingerprint. It can be done at user level, it's simple and work. But to add a new substitutes server, I need to manually import a key and edit the option `guix-deamon` is run with. Which differ between Guix System and Guix on a foreign distribution.
<untrusem>I think I answered that above, I don't know about the differences in foreign distributions though
<postroutine>Before reading the official documentation, I was thinking that adding a new substitutes server and its key would be by editing a "~/.config/guix/substitutes-server.scm" file.
<identity>the daemon is configured, and runs, in different ways between System and foreign distributions. there is going to be a difference between System and foreign distribution *anyway*
<postroutine>identity, not when adding a new channel.
<identity>right, because those are different things
<identity>when you are doing different things, the implications of your actions are different
<postroutine>Yes, but as a substitutes servers is useful to distribute pre-build package from channels, I thought they would be configured the same way.
<identity>adding a channel has no security considerations apart from the channel code and the packages in the channel. adding a different substitute has security implication when substituting *any* package
<identity>s/different (substitute)/\1 server/
<trev>i thought the substitutes are signed
<trev>oh i guess i was thinking of proxied like guix.gnu vs bordeaux
<lilyp>substitutes are signed, which is also why proxies don't matter
<lilyp>what does matter is that you're giving the ability to sign *any* package as "correctly" substituted out to a group of machine users
<lilyp>so if I was evil.com, I could substitute in some backdoored xz or some such
<trev>yeah that is not nice :D
<trev>i hope one day we have the central server distribute hashes and then have p2p substitutes
<PotentialUser-46>Hello all, is it possible to install a hidden package?
<droid>Device: Google Pixel 7 running Android 16 REL (API 36), CPU: 8-core 0x41, Memory: 7.3GB total, 6.4GB (88.4%) used, 868MB (11.6%) free, Storage: 109.9GB total, 10.1GB (9.2%) used, 99.8GB (90.8%) free, Graphics: ARM Mali-G710, Uptime: 9d 12h 36m 53s
<Guest21>guix system image errors out with no disk space left. I have more than enough left. I assume the problem is TMPDIR. Since I am running Guix as a whole system, how would I increase the size?
<janneke>Guest21: by default, the guix build daemon builds in /tmp. if you made that a separate device, it doesn't really matter if there's space on another device; full is full?
<Guest21>janneke: Maybe Guix uses TMP with RAM instead of disk space
<csantosb>janneke: Is is possible to use $TMPDIR instead of /tmp ? I'm on foreign with a Very Original Partition©
<csantosb>I frequently fall in "no space left" build failures
<Guest21>csantosb: Is foreign Fedora?
<identity>csantosb: i think you have to pass an argument to the daemon for that, or set TMPDIR in the daemon's environment
<csantosb>Guest21: Arch
<csantosb>And Alma
<csantosb>identity: I'm not root ...
<identity>csantosb: unfortunate
<janneke>Guest21: i'm not aware that guix would do that automagically; I'm doing that but explicitly have: (file-system (device "none") (mount-point "/tmp") (options "size=70%") (type "tmpfs") (check? #f)) in my operating-system description
<janneke>Guest21: you can always stop the guix daemon, use: export TMPDIR=/the-big-disk; and run the daemon by hand
<janneke>if you're not using a ramdisk for /tmp, i would advise against using a separate partition...
<trev>could someone take a look at this FIXME in my little reconfigure script? https://termbin.com/6akq
<Guest21>janneke: I know what the issue is now. My command requires 800+GB of disk space. Don't know guix image is doing there
<trev>ignore my message, i resolved it by using GUIX_BUILD_OPTIONS env var
<janneke>Guest21: hmm, yes that's quite a lot?
<futurile>wtf?!
<futurile>New blog post up summarising the fundraising campaign: https://guix.gnu.org/en/blog/2026/result-of-sustain-and-strengthen-fundraising/
<futurile>Good news - we're well on way to our target, and if donations keep coming in from regular donators we'll really beat the goal
<ekaitz>futurile: maybe this question is very stupid but... what happens if we don't?
<futurile>ekaitz: heh heh - perfectly reasonable question
<futurile>ekaitz: so basically we've reserved money for the "critical" expenses we have now - essentially the hosting for the build-farm and Codeberg
<futurile>ekaitz: we have a 'reserve' of money of 1 year in Guix Foundation _now_ - and we're trying to build-up more
<futurile>ekaitz: so all plans will be done in addition to that reserve - if donations came in slower - we'd stop doing things so that we wouldn't lose the hosting/build-farms etc
<futurile>ekaitz: make sense?
<ekaitz>futurile: it does make sense