IRC channel logs

2023-12-20.log

back to list of logs

<podiki>you should only need to use sudo for reconfigure, and on guix system that should still use a user's guix by default
<podiki>so you shouldn't need to use/change root's guix
<euouae>Hello
<vivien>If you use guix as root, you will create lots of cache file in /root, which may not be desirable
<podiki>and i would highly recommend never being root and doing guix pull etc., as that usually just confuses things (understandable habit from other distros and needing root to do any package management)
<euouae>Earlier I was asking questions about maintaining my configuration files and a git repo was suggested -- but I realized that I already have them in my backups (borgbackup). However, guix home seems to not like dotfiles that explicitly begin with a dot
<vivien>Sometimes it adds a dot in front, I don’t fully know why
<dansa>podiki: thanks. I guess I can restrict root's help to reconfigure only. (But I had done guix pull with a non-root user, though. Hm.)
<euouae>Oh well, I'll figure it out eventually
<podiki>dansa: yeah, you should only need sudo for reconfigure, where it actually updates the configuration/grub (you can do guix system build as a regular user)
<yziquel>I've got a perpetually restarting guix publish instance that keeps changing pids. Looking at the logs, I get "In procedure load-thunk-from-memory: incompatible bytecode version". How do I disable guix publish ?
<yziquel>systemctl stop guix-publish did it.
<yziquel>sorry for the noise.
<dansa>Thanks, podiki.
<benwr>possibly a dumb question: on a guix system, if I want to run a user service, should I do that by running a `shepherd` instance from my login shell? can I have user services that run on startup instead?
<Kabouik>How am I suppposed to make Fish my default shell in Guix (with Fish installed with the Guix package manager)? I've tried in Guix system and I'm only getting PAM authentication failures, while on my phone running a foreign distro, it says that ~/.guix-profile/bin/fish is an invalid shell.
<rebiw>I'm trying to use  home-profile-service-type in guix home. I'm unable to do it, anybody using this service?
<apoorv569>Is this the correct form to subscribe to `guix-devel` mailing list? https://lists.gnu.org/mailman/listinfo/guix-devel
<peanuts>"Guix-devel Info Page" https://lists.gnu.org/mailman/listinfo/guix-devel
<benwr>apoorv569: sure looks like it; it's linked from https://savannah.gnu.org/mail/?group=guix
<peanuts>"GNU Guix - Mailing Lists [Savannah]" https://savannah.gnu.org/mail/?group=guix
<rebiw>How can I modify the .profile file using guix home?   home-files-service-type does not work because of a duplicate .profile error.
<dansa>Has anyone manage to use the certbot services successfully?
<dansa>I cannot make that work at all. I'm going to show you my configuration.
<apoorv569>When using pipewire I noticed that applications like Ardour or Carla are not able to use jack unless I open them via terminal via `pw-jack ardour` or `pw-jack carla`.
<apoorv569>Why is that so? On a system like Arch there was no need for this, apps auto detect somehow.
<isaneran>sup guix!
<adanska>Hi Guix!
<isaneran>\o
<adanska>\o/
<cnx>hello guix, would a committer take a look at my fix for dante socksify? https://issues.guix.gnu.org/67675
<peanuts>"[PATCH] gnu: dante: Enable preloading support." https://issues.guix.gnu.org/67675
<cnx>it is useful to sandbox e.g. w3m to render html5 offline
<cnx>i use it with aerc
<adanska>is there a way to use the guix home symlink service to symlink files not in the store? trying to do this for my emacs config and had to go back to using stow since emacs sometimes needs to modify files like custom.el or yasnippet files which it cant do if its RO.
<adanska>and if im going to have some files managed by stow and some by guix home i may as well just keep using stow
<vivien>adanska, maybe you could use the home-activation-service-type to initialize custom.el or yasnippet (while keeping these regular files)
<nmeum>is there a package which provides a c99 → gcc symlink?
<adanska>vivien, so extend home-activation-service-type to perform these symlinks? that could work. I could just write a service that basically replaces stow...
<adanska>the power of guile
<vivien>Be careful though, the home-activation-service-type will fire every time you reconfigure, not just when you initialize guix home
<adanska>this is true
<adanska>id have to keep some sort of database to make sure it knows which symlinks its responsible for
<vivien>OR, you can run stow commands :P
<adanska>OH
<adanska>SO TRUE VIVIEN
<adanska>***the power of guile***
<adanska>although rewriting stow entirely in guile would be a fun exercise to be sure.. id have to see how stow does things
<adanska>and im sure some people would appreciate it :)
<adanska>what are the mechanisms avaliable in guix for deprecating packages?
<efraim>Mostly deprecated-package
<adanska>ah, i see. thanks!
<adanska>needed to grep a little harder
<futurile>Morning all
<efraim>o/
<alexey`>Hello there!
<alexey`>This is my first visit here.
<futurile>morning alexey` - hi efraim
<alexey`>I have a quiestion about guix installation
<futurile>how are you installing alexey` ?
<alexey`>I tried (unsuccesfully) to install the guix 1.40 system but it failed when the process hit the old 5.10 linux-libre kernel
<alexey`>sorry 1.4.0
<alexey`>This kernel (5.10.35-gnu) is no longer in the reposotory
<alexey`>build of /gnu/store/bla-bla-bla-linux-libre-5.10.35-gnu-tar.xz.drv failed
<isaneran>alexey`: welcome!
<alexey`>Thanks
<alexey`>I checked the log and it said that it cannot download the kernel.
<alexey`>I didn't do any thing special, just followed the manual.
<isaneran>hmm sounds pretty serious
<futurile>Did you try turning on substitutes(binary packages) - according to `guix weather linux-libre@5.10` that is available in the archive
<futurile>then I guess you would upgrade to a later kernel when you're up and running - building it as you wish
<alexey`>no, I just run the `guix system init /mnt/etc/config.scm /mnt' as the manual instructs
<isaneran>also, does the internet connection work?
<alexey`>yes, the connections works, though may a bit slow
<GuixNoobOleg>Greetings! Is anyone here aware of Apptainer having been packaged for Guix?
<alexey`>It seems that the default configuration includes this linux-libre-5.10.35-gnu, but it is not available in the repo
<civodul>GuixNoobOleg: hi! there’s an old version of Singularity, but no Apptainer yet: https://hpc.guix.info/package/singularity
<peanuts>"Guix-HPC ? Details for singularity" https://hpc.guix.info/package/singularity
<futurile>alexey`: the binary package (equivalent to a binary rpm) is there on ci.guix.gnu.org - but for some reason your system is either not downloading it or trying to build it
<alexey`>Oh, sorry, forgot to tell you. I tried to build the kerenl and used the `--no-substitues'
<futurile>alexey`: yeah stop using --no-substitutes for now
<alexey`>It tried to fetch the sources
<alexey`>I did that because the connection is not really fast
<GuixNoobOleg>Cheers, I did not think to look for Singularity
<GuixNoobOleg>Maybe I can scavenge the Singularity package definition and build Apptainer off that
<alexey`>There were some interrupts and the suggestion to use the `--no-substitutes'
<alexey`>ci.guix.gnu.org is not directly accessable from Russia
<alexey`>which I am from
<futurile>alexey`: I thought I saw someone making it available through a mirror or something
<alexey`>yes, the bordeaux.guix.gnu.org works fine, but in my case the guix tried to fetch the kernel sources from linux-libre servers and did not find them
<futurile>alexey`: OK, I guess your choices are (a) find a mirror (b) keep trying with substitutes on (c) investigate the build error - that failed message could be that it can't get the source or something else you can examine the build with --keep-failed
<isaneran>alexey`: is https://linux-libre.fsfla.org/pub/linux-libre/releases/ accessible in russia?
<alexey`>Well, it seems that all linux-libre servers have been tried automatically
<alexey`>and with no luck, because the kernel is gone the (b) option apparently needs a faster connection,
<alexey`>otherwise it didn't suggest to use the `--no-substitutes'. I have very little
<alexey`>experience with the `guix', maybe there is an option to dispable this
<alexey`>configuration?
<civodul>alexey`: could you share the complete output of the ‘guix’ command?
<civodul>so we can see which servers were tried and why
<civodul>GuixNoobOleg: i believe Apptainer is written in Go whereas this old version of Singularity is in C
<civodul>so it’s going to be a very different package
<GuixNoobOleg>You are absolutely right, unfortunate that
<civodul>would be nice to have though :-)
<isaneran>it is true that there is no 5.10.35 at https://linux-libre.fsfla.org/pub/linux-libre/releases/
<isaneran>but it seems like it is keeping a bunch of old versions so it doesn't make sense
<GuixNoobOleg>I might try to put some time towards packaging Apptainer over christmas. I took a shot at it yesterday, but got stumped at the build system - Apptainer is in Go (which I have no experience with) but is apparently not using the Go build system (the steps are: mconfig, make, make install)
<alexey`>yes https://linux-libre.fsfla.org/pub/linux-libre/releases/ is accessable
<alexey`>from Russia, I confirm
<isaneran>well that is good at least
<alexey`>but it doesn't have the 5.10.35 kernel
<alexey`>BTW, this is a nice kernel, which has support for the old Intel SCSI
<alexey`>hardware controller
<GuixNoobOleg>Related to packaging, is there a preference for using git-fetch to get a specific commit, vs. downloading a release source tarball?
<alexey`>but that's offtopic
<isaneran>this was the default kernel version that was set?
<attila_lendvai>GuixNoobOleg, i prefer git, but the downside is that sometimes the tarball has some half-compiled stuff that avoids some cross-compilation issues. e.g. building from git may need running help2man, but it means the host needs a binary, which means you need to compile for the host, too, etc... but most of the time it's not an issue
<alexey`>it is difficult to share the output of the command at the moment
<alexey`>it's on another machine with with command line
<isaneran>can you run guix install commands?
<alexey`>yes, I've just tried the `guix package
<alexey`> --substitute-urls=https://bordeaux.guix.gnu.org -i lvm2
<peanuts>"bordeaux.guix.gnu.org Build farm" https://bordeaux.guix.gnu.org
<alexey`>it worked flawlessly
<gabber>alexey`: if you have netcat installed you could paste online by executing `your_command | nc termbin.com 9999` which returns a short URL to the raw paste
<futurile>Q: in the REPL, when I do ",run-in-store (package->derivation PKG-NAME" I get a <derivation> record. I can't seem to 'define' it - is it because I'm using a meta-command?
<alexey`>Ok, installed nc, will give it a try
<alexey`>BTW, I have tried the `guix pull --no-substitutes' before installing the
<alexey`>system, thinking that it would work in a way similar to the Debian's `apt-get
<alexey`>update', but it failed for exactly the same reason: no kernel 5.10.35.
<alexey`>that was (silly) attempt to circumvent the kernel issue
<alexey`>my silly attempt
<alexey`>There is one more issue, which I faced trying to install the GNU Guix
<alexey`>system. It seems that the installer image uses the `/mnt/tmp' heavily. If this
<alexey`>directory resides on a separate partition, this one should be rather big. But
<alexey`>what size is recommended?
<alexey`>It's just failed again
<alexey`>building fonts directory
<alexey`>directory of Info manuals ...
<alexey`>building profile with 1 package ...
<alexey`>/gnu/store/bla-bla-bla ...-inferior-scripts.scm.drv ...
<alexey`>building profile with 1 package ...
<gabber>why did you do the $(guix pull) with --no-substitutes?
<gabber>and does piping the command to nc (or a file and then push that to termbin.com) not work?
<gabber>it's harder for us to help you if we don't get to see the whole error message
<alexey`>guix pull: error: fport_write: Broken pipe
<alexey`>`guix' suggests to use --no-substitutes because it thinks the connection
<alexey`>is slow
<alexey`>yes, I understand
<alexey`>and the `guix' is right, my connection is not fast
<gabber>ACTION wonders if mumi needs to be restarted
<alexey`>what is mumi?
<alexey`>I am not a native speaker, sorry, some words may be new to me
<gabber>this was not addressed to you (: mumi is the Debbugs web interface in use at issues.gnu.guix.org (which seems to be down)
<alexey`>Ok, what I can confirm at the moment is that there is a problem with
<alexey`>building from sources locally (on my machine). Guix tries to fetch sources of
<alexey`>the kernel (5.10.35, saw that in the log file) , which does not exist in the
<alexey`>linux-libre repository. Both commands `guix system init /mnt/etc/config.scm
<alexey`>/mnt' and `guix pull' stopped with error messages at this point. I tried to use
<alexey`>`my_command | tee -a /mnt/guix.log' to have a complete log but it didn't work.
<alexey`>Ah, Ok :)
<rekado>I just restarted mumi
<alexey`>All right, I need to go, thank you for your support. This is my first
<alexey`>experience in the irc chat (never used it before). It was nice to talk to you,
<alexey`>but, apparently, I need to learn both the guile and guix manual. Continue
<alexey`>experimenting with the guix, will let you know if something interesting happens.
<theesm>alexey: 5.10.35 is from 2021, linux-libres deblob scripts were available at its mirror at some point (http://web.archive.org/web/20210727153329/http://www.linux-libre.fsfla.org/pub/linux-libre/releases/), but they aren't anymore. Would using a more recent 5.10.x release, e.g. 5.10.204, work for you as well?
<theesm>Others than that, the deblob scripts are still accessible at: https://linux-libre.fsfla.org/pub/linux-libre/releases/old/gen6/5.10.35-gnu/
<theesm>One could probably adjust linux-libre-deblob-scripts in linux.scm to be able to handle these /old/gen6 URLs as well; even though I'm not sure if there's a usecase for this (others than that it could be cool to build old stuff on guix) as we don't package non-recent kernels.
<zilti>I have a packaging question. I am packaging a python program that uses Gtk3. I've set "gtk+" as dependency since that seems to be what other packages use to depend on Gtk3. It builds, it installs, but I cannot run it; I get "ValueError: Namespace Gtk not available". Now, I've looked at the Nix package equivalent, and the only thing that does different is to use some ominous "wrapGAppsHook". Is there something like that in Guix, or what is the alternative?
<rekado>zilti: what build system are you using?
<rekado>for C stuff we use the gtk-or-glib-build-system, which augments the gnu-build-system with a phase that handles setting variables needed to find these modules.
<zilti>rekado: python-build-system currently
<rekado>please use pyproject-build-system if possible (python-build-system will eventually be replaced with that one)
<rekado>you may need to set GI_TYPELIB_PATH
<zilti>Okay, I will try that
<zilti>rekado: simply replacing the build system did not help (not that I expected it to...), but I am not sure what GI_TYPELIB_PATH is? I guess I'll investigate a bit more.
<civodul>these svn:// URLs for TeX Live are a real problem: on many networks that port is blocked
<civodul>so we end up with build farms unable to build the damn thing
<rekado>zilti: there are a few Python packages that set GI_TYPELIB_PATH
<rekado>this variable is how these namespaces mentioned in the error message are found
<rekado>civodul: yeah, this had been a problem at the MDC too.
<zilti>Ah, one step closer - I had to specify gtk+ as propagated input, not just as input
<zilti>Now I at least get a different error
<gabber>zilti: maybe native-input is the one you actually want/need
<zilti>gabber: I thought dependencies in there won't be runtime dependencies?
<zilti>Moving gtk+ to native-inputs gives the "Namespace Gtk not available" error again
<gabber>zilti: ah, nvm (:
<mrvdb>hi guix, I'm still affected by https://issues.guix.gnu.org/57303 which ideally should be resolved upstream, but there's not much movement there. I know rust /can/ work on ppc64le because my powerarch distro has a package. Is there no way we can use a workaround solution? (whatever that is). Not being able to build rust holds back a number of other packages (notably icecat which I would like)
<peanuts>"powerpc64le: rust build failure is bottleneck for many packages" https://issues.guix.gnu.org/57303
<zilti>Something else: I seemingly cannot run "guix system reconfigure" when nss-certs is in my list of packages to install. It always fails with "builder for `/gnu/store/x0pqv4kjyir9xp2ws8m4clm52fg1lj0k-acl.drv' failed with exit code 1". I made a paste: http://paste.debian.net/1301650/
<peanuts>"debian Pastezone" http://paste.debian.net/1301650
<civodul>zilti: hi! it seems that this has to do with how the config builds the substitute ACL
<civodul>could you show your config file?
<zilti>civodul: I can, yes, here it is: https://gitea.lyrion.ch/zilti/guixconfig/src/branch/master/config.scm :)
<peanuts>"guixconfig/config.scm at master - guixconfig - Gitea: Git with a cup of tea" https://gitea.lyrion.ch/zilti/guixconfig/src/branch/master/config.scm
<rekado>zilti: you should wrap whatever produces the Namespace error with GI_TYPELIB_PATH
<rekado>do not propagated gtk+
<civodul>zilti: https://gitea.lyrion.ch/zilti/guixconfig/src/branch/master/keys/non-guix.pub is malformed: you can’t have semicolon comments in there
<peanuts>"guixconfig/non-guix.pub at master - guixconfig - Gitea: Git with a cup of tea" https://gitea.lyrion.ch/zilti/guixconfig/src/branch/master/keys/non-guix.pub
<zilti>civodul: Ahh... That one is so confusing. It *looks* as if it should be scheme, but it actually is not, and not even the newlines can be removed
<zilti>civodul: that solves it indeed, thank you!
<rekado>it’s a canonical s-expression
<zilti>rekado: I'm not really sure what to do there, since the build system actually sets GI_TYPELIB_PATH properly, and the program does not overwrite it anywhere; so I basically have to provide a launcher script?
<rekado>yes
<zilti>Ah, there is a "wrap-program"
<mirai>any chance to get this into the next core-updates round? <https://issues.guix.gnu.org/66500>
<peanuts>"[PATCH core-updates 0/3] Custom output labels for copy-build-system." https://issues.guix.gnu.org/66500
<civodul>mirai: sure, makes sense to me! i’ll take a look
<mirai>thanks
<zilti>Oh well, I guess the program I tried to package (nwg-displays) just won't let itself be packaged on Guix. But it was worth a try.
<futurile>Q: in the repl I want to build something (,build <package>), how do I set the equivalent of --no-substitutes?
<PotentialUser-70>Does anybody know how I can get RealtimeKit on Guix? It seems like xdg-desktop-portal needs it to function if I'm not mistaken.
<civodul>futurile: currently there’s no way to specify that, but it’d be nice to have
<PotentialUser-70>Nevermind, I'm just using xdg-desktop-portal wrong
<nathan-lt>I'm trying to make it easy to resolve docker container host names from my host machine following this guide: https://medium.com/@andrejtaneski/using-mdns-from-a-docker-container-b516a408a66b But I have no `/var/run/avahi-daemon`. Where might that be? `herd status` does show that `avahi-daemon` is running.
<peanuts>"Using mDNS From a Docker Container | by Andrej Taneski | Medium" https://medium.com/@andrejtaneski/using-mdns-from-a-docker-container-b516a408a66b
<ieure>nathan-lt, You ought to be able to use either ss or lsof to answer that.
<futurile>civodul: OK, thank-you - at least I didn't miss anything obvious! (currently paddling around inside scripts/build.scmt
<nathan-lt>ieure: `ss | grep avahi` hasn't found anything, but I'm not sure how I can use lsof for this - don't I need to know a file already for that?
<rekado>nathan-lt: /run/avahi-daemon/
<rekado>that’s where the socket file is located
<ieure>nathan-lt, No, I believe `lsof -p PID' will show all the files opened by a process.
<nathan-lt>rekado: Oh, I don't know how I missed that. Thanks!
<nathan-lt>ieure: Thanks, I think that would have worked
<rekado>on Guix System we often use /run, not /var/run (though for some reason there are quite a few packages that still use /var/run).
<ieure>nathan-lt, lsof is arcane and powerful.
<ieure>Is it possible to specify the channel of a package in a manifest? ex. I have a private channel with some newer versions of package than are in guix which I'm testing before submitting them upstream. Is there some way to express that, or do I need to use "package@version" syntax and use the version that's in my channel?
<ieure>Ideally, the manifest would use the latest version from my channel, rather than pinning the version.
<jackhill>looking into upgrading openssh to 9.6p1, but the tests fail 🤔
<jackhill>but it's not clear to me which one
<vivien>rekado, on gnome-team, the dbus socket has been moved to /run, for instance!
<vivien>ACTION won’t let a day pass without beating the drums and sounding the horn for the gnome-team branch
<jackhill>vivien: haha! Are we getting close? What contributions are needed?
<vivien>It is becoming closer and closer! lilyp merged the world-rebuilding changes required to support 44.7
<vivien>Unfortunately, the build of accountsservice is broken (#67932) so we can’t yet test real systems, but this is a minor rebuild. The remaining updates are minor rebuilds too.
<peanuts>"[PATCH gnome-team] gnu: accountsservice: Update to 23.13.9." https://issues.guix.gnu.org/67932
<vivien>jackhill, if you’re a Rust pro, you could try and package gnome-tour
<jackhill>vivien: I wish I were, it seems to be so popular these days. I whish I were. Could always learn, and the rust-team branch just got merged, so maybe it's better these days.
<jackhill>I'd rather use real inputs rather than #rust-inputs. I'm not sure I understand why rust is special. What's the status of the antioxidant build system?
<AwesomeAdam54321>jackhill: It's still a work in progress
<AwesomeAdam54321>the antioxidant-build-system repo has conversion code from cargo antioxidant, but running it every time for testing can get slow
<AwesomeAdam54321>It's probably faster to add antioxidant-build-system to guix and mass convert rust packages directly, maybe using guix import
<jackhill>AwesomeAdam54321: cool, thanks, but I assume it's not in Guix yet because it's not mature enough?
<AwesomeAdam54321>It's already mature enough, it's only missing package workspace support(it's not necessary though)
<AwesomeAdam54321>The only thing needed is someone with a lot of free time to convert rust packages to antioxidant
<euouae>Hey all, so the final stage for my setup is to figure out disk encryption
<euouae>Is it true that unencrypted /boot is harder to pull off with guix?
<e-snail>is the first `guix pull` supposed to take an hour? :/
<ieure>e-snail, Depends how out of date you are.
<attila_lendvai>i'm getting: "arm-none-eabi-gcc: error: nosys.specs: No such file or directory". and i found online: "The distribution of arm-none-eabi-gcc that you are using does not include the nosys .specs file in its lib."
<attila_lendvai>is there anyone more experienced with embedded stuff who has an idea whether this is a deficiency of the guix package?
<attila_lendvai>ACTION retries using make-arm-none-eabi-toolchain-7-2018-q2-update and waits for the local build...
<attila_lendvai>where is it decided which packages get built by the substitute servers? could/should (make-arm-none-eabi-toolchain-7-2018-q2-update) added to it?
<e-snail>I assume this is because it's a debian package so it was released relatively long ago, but what specifically makes it take so long if one is "out of date"? I'm just testing the guix waters and don't really understand what it's doing, but it seems to be downloading or building the same packages over and over
<csantosb>Hi guix ! I found time to start playing with Guix System for the first time.
<csantosb>I opt to encrypt the disk, and I'm using "fr" as locale. Default config, as for the graphical installer, so keyboard-layout takes (keyboard-layout "fr").
<csantosb>bootloader and services fields of operating-system take the same, which is the
<csantosb>default. However, at boot, I have a message "attempting to decrypt master key ..." (in english, by the way).
<csantosb>I need to use keys of a non french keyboard to type the correct password.
<csantosb>I cannot find any other hint in the doc, what am I missing here ?
<euouae>your password is not ASCII?
<csantosb>It contains _, m, !, etc.
<euouae>why can't you type that?
<csantosb>Well, m and , are reversed.
<csantosb>I have a french keyboard.
<csantosb>Funny, when I manage to type the password (emulating a non french keyboard), after the grub menu, I reach a second screen, prompting to "Enter passphrase for /dev/sda2". I can use my french keyboard, this time.
<csantosb>This second time, m corresponds to m, for example, and not to ",".
<euouae>You have two separate encrypted partitions, one for boot and another one
<euouae>the first one is decrypted via grub
<csantosb>This explains why I need to enter the password twice. But how do I set the correct locale ?
<hab25>Hi, is there some Emacs package that provides a good interface for browsing Guix packages? I'm envisioning something like `M-x list-packages` but for Guix packages.
<attila_lendvai>csantosb, bootloader-configuration has a keyboard-layout field. is that set in your operating-system definition?
<euouae>csantosb: so the second time it is set correctly
<euouae>csantosb: and... yeah what was said above. I was going to look at grub optiosn to figure it out and then guix docs to see how it corresopnds
<euouae>hab25: guix packages are served in recutils format
<csantosb>I basically have the config in "11.7 Keyboard Layout", (operating-system ...)
<attila_lendvai>csantosb, you can say (keyboard-layout keyboard-layout) and then it will refer to the one above it, i.e. that of the o-s definition
<euouae>hab25, If you like rec-mode maybe
<csantosb>attila_lendvai: yeah, exactly, this is what I have in my config. I haven't modified it after install.
<euouae>csantosb: I was also going to set up encryption today. What guide did you follow?
<hab25>euouae: Would I need to wire that up to take in input from `guix search` myself? Or what?
<attila_lendvai>csantosb, then i don't know, sorry
<euouae>hab25: yes. but maybe it's already done. what about <https://emacs-guix.gitlab.io/website/>?
<csantosb>euouae: "3 System Installation". Basically, the graphical installer.
<euouae>csantosb: okay, thank you
<hab25>euouae: that seems to be unmaintained unfortunately
<euouae>hab25: what do you mean?
<csantosb>euouae: I took single partition, disk encryption, and french as locale. That's it. I you ever manage to set it up correctly, please, let me know.
<euouae>If it doesn't have recent commits -- it doesn't mean much necessarily.
<Franciman>hi ineff
<ineff>Hello everyone,
<csantosb>hab25: I'm using emacs-guix and I have no problem with it.
<hab25>euouae: check open issues and pull requests on the gitlab and the github mirror. Multiple long-standing open merge requests and issues with no response from a maintainer
<euouae>hab25: maybe those issues are not important
<euouae>but I think those are your two options, either you write your own mode (recutils + emacs transient will be useful) or use emacs-guix
<euouae> <https://github.com/magit/transient>
<peanuts>"GitHub - magit/transient: Transient commands" https://github.com/magit/transient
<csantosb>I'm on emacs-guix-0.5.2-7.455272c, I install all my emacs stack with guix, and handle my guix config with it since always.
<hab25>euouae: maybe not, but some of them are bugs. I don't really want to find out whether they will impact my workflow or not and wouldn't have the time to solve them myself
<bdju>the manual still has nothing on how to set up pipewire but I know there are people using it...
<hab25>Thanks for the answers
<euouae>hab25, maybe I can give it a go myself at some point
<euouae>to write a mode like that
<euouae>do you have any particular features in mind?
<csantosb>By the way, this is the correct repository
<csantosb> https://git.savannah.gnu.org/git/guix/emacs-guix.git
<csantosb>Latest commit dates back from two weeks.
<jackhill>AwesomeAdam54321 ah super. Yeah, time to do it and also ensure quality is non-trival. Where's the antioxidant repo now?
<hab25>euouae: I envision an interface like `list-packages` and/or `epkgs`. It being an emacs buffer, the user gets search "for free". Listing as much metadata as you can is very useful, even some maybe non-straight-forward ones like number of downloads, number of downloads from Melpa (if appropriate), number of github/gitlab stars (if appropriate)
<hab25>euouae: Also RET on package goes to more details (like dependency grapch) or the guile source code
<hab25>Doing all of this might be a lot, just throwing out ideas
<euouae>hab25: maybe I gave you the wrong links -- as csantosb said it's a savannah-hosted project with recent commits
<hab25>csantosb: thanks, I'll take a look at the commit history. I suspect these recent commits might be refactorings only
<csantosb>I had it using ... emacs-guix ;-)
<attila_lendvai>FTR, using make-arm-none-eabi-toolchain-7-2018-q2-update resolved my issue
<hab25>csantosb: Indeed, it looks like a completely different and nicely maintained package. Looks like what I need, thanks!
<csantosb>👍
<hab25>No, it's the same package under a new home. But what is I need anyway.
<hab25>is what*
<ineff>Anyone, I've a question. While installing a package via substitutes does guix download also all the build-time dependencies?
<attila_lendvai>next headache: arm-none-eabi-toolchain doesn't seem to have an /include/stdlib.h, IOW does it even have c++ support? this project seems to need it.
<Kabouik>Does any one have any experience of installing Guix system on a machine with Windows, and keeping the dual boot? I ditched all dual boots from my environment years ago, I'm not sure how to set them up again, and especially don't know if the Guix installer can handle that scenario and detect the existing OS when making the boot partition.
<csantosb>ineff: Guix is a functional package manager. The output, inputs, etc. all are part of the package. When you install a huge package (chromium, for example), you get the whole thing, and it is really fast when you use substitutes.
<csantosb>I mean, all dependencies are present in the /gnu/store after install. Which doesn't mean they are available from the profile you're using.
<ineff>csantosb: thanks, though why does it downloads the buildtime-dependencies that get garbage collected at the next `guix gc`? At least that's my experience so far.
<ineff>Is there any specific reason why it needs to download them?
<csantosb>I'm looking at ungoogled-chromium. One of its inputs is cups@2.4.2, with is present in my store.
<csantosb>Same with bison@3.8.2, for example.
<csantosb>I haven't installed neither of them in any of my profiles, though.
<ineff>I arguably doubt those are run-time deps, am I wrong?
<csantosb>These are "propagated-inputs". In case of ungoogled-chromium, there are no any of them.
<ineff>Aren't propagated-inputs input that should also be installed in the profile? While other inputs get installed only in the store?
<csantosb>Yeah, exactly, "8.2.1 ‘package’ Reference""
<csantosb>This is why cups@2.4.2 appears under /gnu/store, but not when I list packages in my profile
<ineff>why would chromium need cups as a dependency? I'm really curious.
<euouae>ineff: I once noticed some dependencies on emacs-nox11 or whatever it is called that made no sense
<csantosb>Good question. Its clearly in the "inputs" array of "chromium.scm", line 872.
<euouae>and what I've been told is that the dependencies are not the leanest possible. that was a few months ago I think)
<euouae>so the focus of Guix devs right now is not leanest dependency tree
<euouae>but you can contribute patches
<ineff>euouae: I would love to, if only I were able
<csantosb>Or participate on guix-devel mail list, to ask this kind of questions to developers.
<ineff>I'm currently trying to learn scheme, though I'm afraid it will take quite some time before I'll able to be helpful.
<csantosb>Same. I started by https://spritely.institute/static/papers/scheme-primer.html.
<peanuts>"A Scheme Primer" https://spritely.institute/static/papers/scheme-primer.html
<csantosb>By the way, you have this took, in case you're trying to contribute
<csantosb> https://guix.gnu.org/en/blog/2023/write-package-definitions-in-a-breeze/
<ineff>I've seen this link csantosb I love guix blog, I think it's an amazing resource
<Kabouik>I'm in the Guix installer, went to tty with Ctrl+Alt+F3, pressed Return to log in, and no command works
<Kabouik>I think basic stuff used to work when I did that last time (also visible in SystemCrafters' video at 26 min: https://www.youtube.com/watch?v=oSy-TmoxG_Y)
<peanuts>"Installing Guix as a Complete GNU/Linux System - YouTube" https://www.youtube.com/watch?v=oSy-TmoxG_Y
<Kabouik>I'm guessing the tty can't find any binary and this may be a PATH issue?
<civodul>yay, core-updates building stuff! \o/ https://guix.bordeaux.inria.fr/jobset/guix-core-updates
<peanuts>"guix-core-updates" https://guix.bordeaux.inria.fr/jobset/guix-core-updates
<civodul>it’s failing on ci.guix due to svn:// though :-/
<ineff>Kabouik: are you inside the shell? What does the PATH var contain?
<Kabouik>I am in the shell yes. The PATH contains /run/setuid-program:/run/current-system/profile/bin:/run/current-system/profile/sbin
<Kabouik>I should say that this is not the official image, this is that one: https://github.com/SystemCrafters/guix-installer. If it turns out the issue is on the image, I'll try the official
<peanuts>"GitHub - SystemCrafters/guix-installer: A GNU Guix installer image with the full Linux kernel!" https://github.com/SystemCrafters/guix-installer
<Kabouik>Does that sound right ineff?
<ineff>Kabouik: it should be....have you tried to check the path referred in that PATH?
<ineff>if you give `/run/current-system/profile/bin/ls` what does it give you?
<Kabouik>I am sorry I quit to retry with the official image now, we'll see if that helps
<ineff>No problem
<Kabouik>Well the official image seems to be worse. The graphic installer does not show up (just a blinking blue screen), and when I go to tty, I see errors saying "usb 6-1-4: device not accepting address xx, error -71"
<ineff>strange....could it be some proprietary driver issue?
<Kabouik>That seems to be related to my WiFi dongle (which was working with the Systemcrafters image, unlike my bultin WiFi or RJ45 adapter)
<Kabouik>But now I removed it and I get /dev/sdc I/O errors, which suggests a usb stick not doing well. Hopefully this is the reason of all the issues I've had.
<ineff>It's not the best thing to have, though
<ineff>still I suppose it's not worse either
<csantosb>I just found this related to my decrypt problem, https://issues.guix.gnu.org/39288, which corresponds to the problem I currently have.
<peanuts>"Incorrect keyboard layout in GRUB stage1 to enter the LUKS passphrase" https://issues.guix.gnu.org/39288
<vivien>Grafts are cool, but they should really be reserved for security updates
<vivien>Otherwise we are heading for a graftocalypse
<civodul>yup
<ieure>I like the alternate definition, "the acquisition of gain (such as money) in dishonest or questionable ways."
<civodul>actually they *are* reserved for security updates
<vivien>It takes a considerable amount of time now on master to update my system, and applying grafts on texlive takes a very long time and temporarily blocks my hard drive
<civodul>yes, it’s a real pain :-/
<civodul>that’s in part where my motivation comes from for pushing ‘core-updates’
<vivien>I also see that we have objective-c in core-updates, which is very cool
<civodul>is it? :-)
<ineff>If I remember correctly these kind of issues could be resolved if it were to use the intesional model for the store, as discussed in E. Dolstra's thesis.
<vivien>I’d like to try and see how usable gnustep is
<podiki>speaking of, I have an update to curl on mesa-updates (i didn't graft it on master though maybe should in the meantime...)
<civodul>yeah, we could update curl on ‘core-updates’
<civodul>though i’d still like to follow the “team branch” model we came up with last year
<civodul>that is, upgrade next to nothing apart from the toolchain, Guile, Mes, & co. on ‘core-updates’
<podiki>curl was being rebuilt due to.... xorgproto (since it rebuilds python and nearly everything then)
<civodul>ah yes, well :-)
<podiki>though I'd like to give myself credit for finding and enabling parallel tests on curl which makes building it so much quicker
<civodul>very nice
<euouae>aren't grafts also for making a package guix-compatible?
<euouae>issues with /bin/sh and such?
<podiki>I guess my team I need to formalize, around I think x/mesa/graphics, will handle things like xorgproto though the impact is through rebuilds of everything else
<podiki>touching something deep like xorgproto means you'll rebuild most things, so get in ungrafting
<csantosb>Wow. As for the doc, keyboard-layout is ignored when using other than ‘grub’ and ‘grub-efi’. I have ‘grub-efi-bootloader’. This explains the issue ?
<civodul>euouae: see https://guix.gnu.org/manual/devel/en/html_node/Security-Updates.html for background on grafts
<peanuts>"Security Updates (GNU Guix Reference Manual)" https://guix.gnu.org/manual/devel/en/html_node/Security-Updates.html
<vivien>Would’nt it be easier to have an “ungraft” branch that only receives ungraft commits from existing grafts on master? It would be easier to merge in a timely manner.
<civodul>yes, that’s roughly what was proposed at last year’s Guix Days
<civodul>i guess we need a champion to coordinate on that
<civodul>essentially a timekeeper, merging the “ungraft” branch every X weeks
<euouae>once I manage to get my guix setup as I want it I'm going to send an e-mail on the guix list to ask to volunteer for something
<euouae>if someone needs help with something
<podiki>yeah an ungraft branch is a good idea, but also good for all other teams to check if a grafted package is being rebuilt so they can ungraft "for free"
<podiki>though that can add other issues, actually using the newer version for builds after ungrafting
<podiki>we should be able to do that in something like "guix refresh -l" right? if a package has a replacement field and would be rebuilt, to output that
<podiki>meaning if a dependent of the refreshed package has a replacement
<civodul>parse error :-)
<civodul>‘guix refresh’ lists dependents, which are the same for both the original package and its replacement
<podiki>I mean if one of the dependents has a replacement, to say so
<podiki>or is that not possible how guix refresh walks the package tree?
<podiki>e.g. call it: guix refresh xorgproto -l --list-grafts would output curl assuming curl has a graft, since it would be rebuilt with an xorgproto change
<civodul>oooh, got it
<civodul>makes sense
<civodul>more generally, i think it would be nice to have tooling to help schedule big changes
<civodul>like if dependents(A) is a superset of dependents(B), then merge updates of B and A on the same branch
<podiki>yeah
<podiki>though I swear these days everything I go to update rebuilds the world...
<csantosb>Just for the record, I managed to get around the issue with incorrect keyboard when decrypting my partitions at boot time with guix system. I just changed the passwd to something I can type with my keyboard.
<csantosb>I followed this https://www.cyberciti.biz/security/how-to-change-luks-disk-encryption-passphrase-in-linux/
<euouae>that's the simplest way to do it
<vivien>csantosb, what I do is have 2 passphrases for the same disk. I first add my password, then switch to the qwerty layout and add a new one by hitting the same keys. As a result, your disk can be decrypted with both layouts if you hit the same keys.
<csantosb>euouae: Sure. But it's a bit discouraging, not being able to boot your system.
<euouae>the trick vivien mentions is possible too
<csantosb>A bit hacky, I'd say.
<qrpnxz>Does guix have stable releases like Debian? I don't like things changing all the time and breaking.
<vagrantc>no
<vagrantc>in theory, someone could create a channel ... but nobody has taken on the massive effort to do so
<qrpnxz>well thanks for the info
<vivien>qrpnxz, if something is broken, you should report it
<csantosb>What about broken guix packages ? guix-bug, I guess ?
<qrpnxz>vivien, for sure. Problem with bleeding-edge is programs freeze, time wasted rebooting and getting back to work. Sometimes work is lost.
<qrpnxz>another question, is it true that I can use guix on top of another system? Does that make sense to do?