IRC channel logs

2024-01-03.log

back to list of logs

<Gooberpatrol66>is it possible to do global .ssh/config settings in the guix home service? the doc only talks about host-specific settings
<Gooberpatrol66> https://guix.gnu.org/en/manual/devel/en/html_node/Secure-Shell.html
<peanuts>"Secure Shell (GNU Guix Reference Manual)" https://guix.gnu.org/en/manual/devel/en/html_node/Secure-Shell.html
<graywolf>I am looking at the definition of cgit, is it possible to overide the version of git-source input from the command line in guix build invocation?
<saravia>Hi i'm a question, how to could build a "hyperbola" environment on guix environmenter option
<graywolf>Would it be acceptable to replace out cgit version with the latest from git? It is buggy and there was no release for ~4 years, even git.kernel.org seems to run from the git (you can tell by the dark mode). Any objections? I could just create cgit-git package, but I am not sure if there is any value in keeping the original one...
<podiki>if it is buggy and no release, that sounds like a good enough reason to update to a more recent commit
<podiki>and can note as such in a comment (as we do for other such packages)
<loopback___>There a way to determine which derivations belong to a generation?
<tsmish>loopback___: `guix gc` has flags that can show references/requisites of paths in store, e.g. `guix gc -R $(readlink -f ~/.guix-profile)`.
<loopback___>"guix gc -R $(readlink -f /run/booted-system/profile) | grep libre" seems to yield a pretty comprehensive list, almost enough to feed to guix build to obtain all the sources for a fully offline whole system bootstrap from an archive. Grub and linux-libre are missing though, so I assume these are handled special by guix system build. Are there any other exceptions?
<tsmish>looopback___: I don't really know the limits of `guix gc -R` (kernel should be in it, it's in the directory after all). Maybe you can `guix build --sources=transitive` on system derivation to get all the sources.
<tsmish>loopback___: you can also use `guix build` on operating-systems like `guix build -e '(load "<path to config.scm>")'` if that's of any use to you.
<apoorv569>Where do you guys set PATH var? in home-environment-variables-service-type or home-bash-service-type or whichever shell service-type?
<janneke>apteryx: the initial bootstrap uses bootar, which currently supports bzip2, gzip, tar, and xz
<janneke>there's also xz-mesboot, but no zstd-mesboot yet; i've got no idea how bootstrappable zstd is?
<janneke>apteryx: ah, xz is written in c++, not great; so zstd may be even better wrt bootstrappability
<janneke>maybe samplet or civudul know if there's a scheme library for zstd somewhere
<Franciman>janneke: https://notabug.org/guile-zstd/guile-zstd like this one?
<peanuts>"guile-zstd/guile-zstd: GNU Guile bindings to the zstd compression library. - NotABug.org: Free code hosting" https://notabug.org/guile-zstd/guile-zstd
<janneke>Franciman: that's interesting, and certainly samplet would know about that one...
<janneke>...but it's bindings, that doesn't really help for bootstrapping :)
<Franciman>oh i see
<futurile>Morning Guixers
<efraim>o/
<mekeor>hello futurile :)
<futurile>continuing my investigation of package transformations today - and finding as many ways as possible to bump into the sharp edges of confusion as possible heh
<evilsetg>does anyone manage to build java-jctools-core on aarch64? For me the check phase always fails.
<lalebarde>Hi, I am trying to write my first package for zim-wiki https://zim-wiki.org
<lalebarde>I am following the Guix tutorial here https://guix.gnu.org/cookbook/en/html_node/Channels.html
<lalebarde>Here is my first code: https://paste.opensuse.org/pastes/e65db60262d6
<peanuts>"Zim - a desktop wiki" https://zim-wiki.org
<lalebarde>When I execute `guix show -L ~/my-channel zim-wiki` , here is the result:
<lalebarde>```
<lalebarde>guix show: warning: failed to load '(zim-wiki)':
<peanuts>"Channels (GNU Guix Cookbook)" https://guix.gnu.org/cookbook/en/html_node/Channels.html
<peanuts>"openSUSE Paste" https://paste.opensuse.org/pastes/e65db60262d6
<lalebarde>peanuts shall I understand you have just added zim-wiki to the guix channel?
<peanuts>lalebarde: Hi, for comments please contact my maintainers at https://codeberg.org/lechner/irc-helper-bot
<mekeor>peanuts is a bot
<peanuts>mekeor: Hi, for comments please contact my maintainers at https://codeberg.org/lechner/irc-helper-bot
<mekeor>ACTION hates it because it talks to much
<mekeor>lalebarde: personally, i'd recommend GUIX_PACKAGE_PATH variable for package development rather than a channel
<xd1le>wow I remember using zim wiki as a kid, it's nice
<mekeor>lalebarde: i'd remove "zim-wiki" at the end of the file. the file does not need to evaluate to the package unless you use `guix package -f`
<Franciman>do you use guix home for installing packages?
<Franciman>I find it strange that in this way, when i run guix package --list-installed, i get an empty list lol
<Franciman>because they are not installed in the default profile
<mekeor>lalebarde: the ("package-name" ,package) notation for inputs is deprecated. just use (inputs (list foo bar)).
<mekeor>Franciman: personally, i don't use guix-home. perhaps you could run `guix package --profile ~/path/to/guix/home/guix-profile --list-installed`
<mekeor>sorry, it's `-p PATH` or `--profile=PATH`
<futurile>lalebarde: the file you referenced with the zim-wiki package definition in it. Where is it in the channel? the module has to be at the top of the channel and called zim-wiki.scm according to what you have there.
<Franciman>yes thanks
<Franciman>i wonder whether it makes sense
<Franciman>meh, i'll see
<ekaitz>hi, i'm adding python plugin support to krita, is it always necessary to wrap-binary on that? or just adding python-wrapper as an input should work?
<ekaitz>i mean if I run it in a shell works, but I'm not sure if it might have other kind of consequences
<ekaitz>I remember in freecad I needed to wrap the binary
<lalebarde>futurile yes, that's what I did. mekeor ok, I will update for using `inputs` and `GUIX_PACKAGE_PATH`
<mekeor>ekaitz: python-wrapper seems to be a wrapper around python@3 which adds `python` and `pip` commands without the `3` suffix. i don't think this is what you need here. https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/python.scm?h=60c97924e9519361494aaf0686e28eb831a42315#n690
<peanuts>"python.scm\packages\gnu - guix.git - GNU Guix and GNU Guix System" https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/python.scm?h=60c97924e9519361494aaf0686e28eb831a42315#n690
<cow_2001>i wrote a few dumb package definitions for /gnu/packages/...
<cow_2001>two guile-srfi packages and one emacs minor mode
<vixus>I would like to run `guix refresh` against the packages defined in a specific module - is there a conventional way to do this or should I try and get a list of public bindings from the module and pass that to the `guix refresh` command?
<vixus>Specifically I need to update the source hashes for those packages.
<ekaitz>mekeor: yes, but the package still works in a shell
<lalebarde>Here is my new zim-wiki.scm attempt: https://paste.opensuse.org/pastes/eb60c24f95c3 . Problem with `xapian` lines 35-38 (several attempts): guix build -f zim-wiki.scm
<lalebarde>guix build: erreur : échec lors du chargement de « zim-wiki.scm » :
<lalebarde>ice-9/boot-9.scm:3330:6: In procedure resolve-interface:
<lalebarde>no code for module (gnu packages xapian)
<peanuts>"openSUSE Paste" https://paste.opensuse.org/pastes/eb60c24f95c3
<ekaitz>mekeor: so it might be setting pythonpath and stuff right internally
<lalebarde>Sorry, in english: guix build: error: failed to load 'zim-wiki.scm'
<lalebarde>yes, zim-wiki is very cool and brillant  =D
<vixus>hmm seems I can use `,module` and `,binding` in a guix repl
<futurile>lalebarde: the error "no code from module (gnu packages xapian), is telling you that there's something wrong with the load path (probably just that it doesn't know where to find it). What command did you run?
<lalebarde>futurile I did `guix build -f zim-wiki.scm`
<futurile>lalebarde: and do you have a local copy of the guix source tree? as you're making a reference to a file from it
<lalebarde>futurile what do you mean by "a local copy of the guix source tree"?
<lalebarde>Which reference do you talk about?
<Kabouik>jpoiret: I see that you've submitted some patch(es) to improve screen sharing under Wayland, but I think I'm still having issues with it (for instance, meet.jit.si will only allow sharing a tab, not a window other than the browser, also some issues with OBS only sharing full screens and not windows or processes). Is there something that must be done in the Guix config?
<davidh38>is there a way to install python 3.11 in guix?
<Franciman>yes, you could package it, or see if somebody submitted a patch
<Franciman>in the latter case, you wait for the patch to be merged
<ekaitz>hi, can anyone take a look to this minimal icedove patch? https://issues.guix.gnu.org/67803
<peanuts>"[PATCH] gnu: icedove-minimal: Add argument to desktop file." https://issues.guix.gnu.org/67803
<davidh38>Franciman how can I  see, that a patch  is already provided?
<Franciman> https://issues.guix.gnu.org/search?query=python+3.11 i was looking at here
<peanuts>"Guix issue tracker" https://issues.guix.gnu.org/search?query=python+3.11
<ekaitz>efraim: my patch above (#67803) shouldn't affect anything in guix else in guix, it's a pretty harmless thing... please? :)
<peanuts>"[PATCH] gnu: icedove-minimal: Add argument to desktop file." https://issues.guix.gnu.org/67803
<efraim>ok, that looks fine
<ekaitz>efraim: <3
<ekaitz>these things often pass unnoticed for some time...thanks for your time
<ekaitz>efraim: applied! you are fast, thanks! <3 <3
<efraim>right now i'm >100 crates in on updating alacritty to the next release
<davidh38>Franciman I can not see  any python 3.11 there. I suppose, I  need to patch it myself then. Is it hard to write a package for something in general ?
<Franciman>depends really. But you could start from python 3.10 package
<Franciman>and see if it works with 3.11 code too
<ekaitz>efraim: DAMN! 100? rust is npm now?
<efraim>they actually follow semver so it isn't that bad
<efraim>and I'm slow to remove old versions since they end up being needed later on
<efraim>~2200 packages in lisp-xyz, 1100 in python-xyz, 1400 in emacs-xyz, 3400 in crates-io
<ekaitz>wow
<efraim>I separated out into a few more files but I still need to make crates-apple and crates-crypto
<efraim>maybe also crates-android
<cwebber>marked robin and myself down for Guix Days
<cwebber>we're gonna be there!
<dthompson>\o/ 🎉
<yewscion>Hello Guix! I'm trying to create a system service to run a specific script as a specific user on my server, but when I attempt to reconfigure it says the service has no value, which the docs says is an optional field. Is this true? Here's my current spec for the service in question: https://paste.debian.net/1302923/
<peanuts>"debian Pastezone" https://paste.debian.net/1302923
<ssouth>davidh38: Be aware there is a separate branch, python-team, in the git repository that collects major changes to Python and its packages (as they can trigger a large number of rebuilds).
<ssouth>If you're planning to contribute an update to Python you may need to develop your changes against that branch, since (I believe) that's where they'd be likely to be committed first.
<ssouth>There is also a Python team that oversees this kind of work (see etc/teams.scm). If you're serious about tackling this I'd suggest sending an email to the guix-devel mailing list first to see whether anyone else is working on this already, or what their plans are.
<ssouth>yewscion: What does the relevant portion of your operating-system configuration look like? And what is the exact error message from "guix system reconfigure"?
<ssouth>Nothing in the code you posted looks obviously wrong to me.
<flurry>hello
<flurry>I am considering trying guix again
<flurry>but the usb media doesn't boot on my machine
<ieure>flurry, Have you disabled Secure Boot?
<flurry>eh, no, in my machine?
<ieure>Yes.
<ieure>You must.
<flurry>oh let me try that
<flurry>BUT I was also considering doing it from my primary OS
<ieure>Doing what?
<flurry>installing guix here, and building in a chroot environment
<flurry>I have a question. Will I have to build everything from source in guix?
<flurry>linux, X11, all that jazz?
<flurry>X11 always takes geologic times to compile here
<ssouth>flurry: No, generally speaking. Most packages have "substitutes" (binaries) available.
<yewscion>ssouth: https://paste.debian.net/1302933/ is my entire config; The only other line related is line 572, which reads (service %my-etherpad-service-type)
<peanuts>"debian Pastezone" https://paste.debian.net/1302933
<apteryx>who are our GSoC / Outreachy knowledgeable persons?
<apteryx>I think Gabor for the later
<avalenn>Hello Guixers.
<ssouth>yewscion: I'm looking at this now. Not sure yet why it doesn't work.
<yewscion>ssouth: Thanks, no rush or anything. Mostly just got tired of reconfiguring to get the same error; I clearly have a gap in my knowledge.
<ssouth>yewscion: Everything related to service definitions is a bit confusing in my opinion. It would be good to have a proper tutorial on creating services.
<yewscion>ssouth: I agree. I tried diving into the source to look at some examples, but they all have a config they need to pass to the service. Mine is a command, without a config.
<ssouth>yewscion: Alright, try this: https://paste.debian.net/1302941
<peanuts>"debian Pastezone" https://paste.debian.net/1302941
<ssouth>There were a couple small details to fix; extensions takes a list of service-extension forms, for instance.
<rekado>apteryx: since the reindex and vacuum the db is responsive again, and so the build backlog is being taken care of now.
<ssouth>But mainly it seems your Shepherd service _must_ take a parameter (config), and you _must_ specify a default value for it via the default-value field in the service type.
<ssouth>Actually, the "config" parameter to %my-etherpad-service can be renamed to just "_", which more clearly indicates it's ignored.
<ssouth>The reference for the default-value thing is the %service-with-default-value procedure in gnu/services.scm, line 260: An exception is raised if a default value isn't defined for the service type, which is the error message you kept getting.
<yewscion>ssouth: Ahhh, okay. That makes sense. I guess I should have tried to find that line using the error I got.
<yewscion>Thanks for Your help, Your fix works and Your explanation was very helpful.
<ssouth>yewscion: Great, glad I could help.
<podiki>hi guix
<apteryx>rekado: so we can say the problem was these long query times with the DB?
<gnucode>hello friends
<gnucode>I just updated my Debian Hurd machine in real hardware. And now the various halting commands are erroring out. Fun times
<lispmacs[work]>so, is there a point when the number of non-rust packages in guix becomes statistically insignificant?
<ieure>lmao no
<ieure>If anything is gonna do that, it's node.js packages, because for some reason, everyone thinks it's good to write 250 lines of packaging stuff for one-liner functions.
<yewscion>Question regarding shepherd services: If I have specified a user for the process to run as, and the command is a bash script, is there a reason the process would be unable to find the `id` command?
<lispmacs[work]>I have no interest in Rust programming, except I'm starting to wonder if there is any possible computing functions left that does not have a rust package
<yewscion>Alternatively, what is the actual environment these commands are run in? I can't replicate the command not found error outside of shepherd, using either login shells or non-login shells.
<ieure>NPM packages are beyond parody. There's literally a package to tell you if a number is even. And a different one to tell you if it's odd. is-odd is version 3.0.1 and has seven releases. I guess they couldn't get it right the first six times.
<apteryx>janneke: how long does the full bootstrap takes to build? I'm at gash-boot-0.3.0, and it's been more than 12 h or a powerful machine :-)
<apteryx>sneek: seen mirai
<sneek>mekeor?, pretty sure was seen in #guix 7 hours ago, saying: ekaitz: python-wrapper seems to be a wrapper around python@3 which adds `python` and `pip` commands without the `3` suffix. i don't think this is what you need here. https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/python.scm?h=60c97924e9519361494aaf0686e28eb831a42315#n690.
<peanuts>"python.scm\packages\gnu - guix.git - GNU Guix and GNU Guix System" https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/python.scm?h=60c97924e9519361494aaf0686e28eb831a42315#n690
<apteryx>uh?
<futurile>is there a way to format/pretty-print a derivation on the command line?
<futurile>at the moment I do `cat /gnu/store/blahblah.drv` and it's a bit ugly to look at
<apteryx>futurile: probably by invoking emacs with emacs-guix available, and some glue code calling guix-pretty-print-buffer
<apteryx>you could abstract this in a script
<futurile>apteryx: yeah - not an emacs user ;-). Makes sense - I feel at some point I'm going to have to load i up enough to get emacs-guix
<podiki>qa hasn't processed mesa-updates at all, but coverage on x86_64 on berlin is looking pretty good from what I can see
<davidh38>ssouth thank you for the info.
<ssouth>yewscion: I don't know the answer to your question but I wonder if there is a way around it. What is it you need id for?
<yewscion>The script uses the id command in order to verify the user it is running as, so that root isn't used. I could modify it to not use it, but I worry that this is the first of many programs that will be hard for the script to find, so I'm hesitant to do that. FWIW, it's also run in a subshell ( like `[ $(id -u) -eq 0 ]` ) which might have something to do with it, but again, I have yet to been able to get the command itself to give the same error when not run
<yewscion>through shepherd.
<yewscion>I am going to attempt to reconfigure the service with the same PATH the user would have had during login; to my posix brain it seems like an obvious path issue, but of course that could be wrong.
<ssouth>yewscion: Ah, you have packaged Etherpad yourself, yes? Or you just have it installed somewhere on your system (i.e., without a Guix package)?
<ssouth>yewscion: Your PATH idea might work. The "right" way to do this would be to create a Guix package for Etherpad and specify coreutils (which supplies id, apparently) as a dependency.
<ssouth>Then your service would depend on the Etherpad package, and (in principle) everything should work automagically.
<yewscion>ssouth: I would love to, but node circular dependency hell is a thing I try to avoid for my blood pressure, haha
<ssouth>Understood.
<yewscion>ssouth: It is indeed just a directory on my system, and will run properly if I execute it manually as the etherpad user. The problems are solely when executing through shepherd, which is what is confusing to me,
<ssouth>yewscion: If forcing the PATH doesn't work, another (slighly unpalatable) alternative would be to modify Etherpad's scripts to hard-code paths to the executables if needs in the GNU store.
<ssouth>I.e. manually replace id with whatever "ls -l `which id`" tells you.
<meorly> https://pastebin.com/LBNBj3Bf
<peanuts>"Loading /gnu/store/rvks6bcd9fbbr02dnk0xd1wqrinnrsfv-shepherd.conf.herd: error: - Pastebin.com" https://pastebin.com/LBNBj3Bf
<meorly>anything i can do to enable a full trace and see what the actual problem is?
<ssouth>Naturally you'd have to re-do that every time those paths change.
<yewscion>ssouth: Good idea, yeah. If it takes me too long to figure out a better solution, I'll start hardcoding things that break.
<apoorv569>Where do you guys set PATH var? in home-environment-variables-service-type or home-bash-service-type or whichever shell service-type?
<meorly>...i damaged shepherd runtime and that is why it was giving me load errors...
<panosalevro>hi all, where can i find the config.scm that my system used last time for its `system reconfigure`? i modified the config.scm that i had used and want to view its "untouched" copy
<gabber>$(guix system describe) shows the path to you
<panosalevro>great, thanks
<apteryx>hm, 'guix search audigy' turns nothing?
<apteryx>ah it's audacity ^^'
<nmeum>any chance someone with haskell packaging experience could take a look at https://issues.guix.gnu.org/67896 would appreciate feedback on this
<peanuts>"[PATCH] gnu: ghc-9.2: Make Cabal respect GHC_PACKAGE_PATH" https://issues.guix.gnu.org/67896
<lilyp>ieure: lesser known, but https://www.npmjs.com/package/is-truish
<peanuts>"is-truish - npm" https://www.npmjs.com/package/is-truish
<panosalevro>after a `guix system reconfigure`, what could possibly cause the system not to see *any* of the user-installed packages? im logged in as my user
<gabber>panosalevro: do you mean that you, logged in as the user who installed some packages to your profile, can't see these packages after a system reconfiguration?
<panosalevro>gabber: yep
<gabber>and by "see" you mean that you can't execute them or that they aren't listed with a $(guix package --list-installed) or something else?
<gabber>does $(guix package --list-generations) provide any insight?
<panosalevro>`guix package -l` lists everything. i cant execute them
<gabber>WDYM you can't execute them?
<panosalevro>it says command not found
<gabber>what does $(echo $PATH) print?
<panosalevro>in fact, i see that after `guix install [package]`, the package is immediately removed somehow
<panosalevro>/run/setuid-programs:/run/current-system/profile/bin:/run/current-system/profile/sbin
<gabber>are the executables available in /var/guix/profiles/per-user/YOUR-USERNAME-HERE/guix-profile/bin (i'm guessing the last part of the path)?
<gabber>yes, it looks like your home profile is missing from your $PATH env var
<panosalevro>hmm how could that happen?
<gabber>panosalevro: by not setting it appropriately ;) or by messing with the dotfiles (.bashrc, .profile, etc)
<panosalevro>all executables are in that .../guix-profile/bin directory
<gabber>so all you need to do is to set PATH=~/guix-profile/bin:$PATH
<panosalevro>oh, you are right. i think i replaced bash with a malconfigured zsh config
<panosalevro>do i set it in TTY? cause it didn't do anything
<gabber>is it set now?
<gabber>you can test with $(echo $PATH)
<panosalevro>it is set but i still cant execute the packages
<gabber>maybe the `~' doesn't work in there
<panosalevro>it does, it printed my home directory
<gabber>well, something is (still) not right, it seems :)
<gabber>it might be worth looking up the relevant sections of the shell you use (zsh i suppose)
<panosalevro>yeah will try that
<gabber>you can also do something like $(PATH=/home/USER/.guix-profile/bin some_program) to check if that's the correct path setting
<gabber>that is, all in one line. as soon as this works you know what to permanently set your $PATH variable
<apteryx>ACTION easily applies 66 patches using 'b4 shazam 123a0b9b76c24c29184c527dabb652384f7be762.1701297273.git.some-user@some-email.com
<panosalevro>gabber: zsh was the culprit. will have to double-check that it works correctly before adding (shell (file-append zsh "bin/zsh"))
<panosalevro>thanks for the help
<gabber>panosalevro: you're welcome! HTH
<rekado>build farm’s idle again.
<rekado>what’s up with that?
<podiki>yeah just noticed....don't think it caught up though
<podiki>really want to get mesa-updates merged...not sure how coverage is on non-x86 though think it is pretty good on x86
<rekado>I can’t work on this these days. My email to the sysadmins has more details on what I did. Would be happy if someone could take it on.