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 <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 <untrusem> guix time-machine -C channels.scm -- describe -f channels $(EXTRA_ARGS) > channels-lock.scm <untrusem>so I guess we will have to compute a new guix again for updating that <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 <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. <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? <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 <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/ ? <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 <postroutine>identity, that the manual I followed instruction from. <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* <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 <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 <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 <identity>csantosb: i think you have to pass an argument to the daemon for that, or set TMPDIR in the daemon's environment <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... <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>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