IRC channel logs

2026-05-16.log

back to list of logs

<Kolev>Hi all. Trying to update system with 5,000 updates. Wish me luck.
<Kolev>Agate won't start.
<Kolev>lispmacs[work], I'm running into issues getting agate to run. https://pub.microbin.eu/upload/falcon-goat-shark
<fritjof>Hello :)
<fritjof>New user here. I have some experience with emacs (not as a programmer, but as a writer/mediator of GNU/Linux) and have been using Debian for many years.
<fritjof>I have installed GNU Guix on a T430 thinkpad with the Ivyrain bios flash and a Free Software compatible wireless card, so I could use the libre kernel.
<fritjof>My aim is to learn scheme so I can have a liberated machine. I have tried to navigate the documentation, but I am still a bit unsure of what are "best practises" when getting started. Like, for instance installing Emacs on my system - should that be done in .config/guix/system.scm or via 'guix install emacs' ?
<fritjof>currently 'guix pull' is running after first boot in the new system. That seems like the right thing to do, from what I can gather?
<Rutherther>typically what you use as user, without elevated privileges, you would install to your own profile, no need to add it to the system
<Rutherther>the more you add to your system the more chance you won't be able to upgrade, ie. a package not building
<fritjof>ah - thanks. So i'll go with 'guix install' for most of it!
<fritjof>- will the things I install that way still be available to me after an upgrade?
<fritjof>and what about setting a wallpaper? Is there some "cool scheme way" to do that, or is it just done as I do on GNOME normally? WIth a directory that holds the image selected as "wallpaper"?
<Rutherther>guix install and guix system are mostly independent, so what you guix install will remain the same after guix system reconfigure
<Rutherther>when you are updating fully, make sure to do all three: 1. guix pull, 2. system reconfigure and 3. guix upgrade. If you miss any step, you update only partially, ie. only system or only your user packages. Which sometimes you might even want to do. If you were using guix home, you would add guix home reconfigure to it as well
<folaht> https://forum.systemcrafters.net/t/trying-to-create-my-first-package-variant-how-do-i-add-a-patch/2008/2?u=folaht <- I'm trying to apply a patch to create a package variant. So far, the system config compiles, but my patch changing is not showing up in the package. I've got suspicions as to why, but can someone confirm?
<folaht>Or explain if it's wrong.
<fritjof>Thanks for responding so quickly :) - I have done guix pull now. It suggests I add the neessary environment variables. Should I do that before running guix system reconfigure and guix upgrade?
<Rutherther>fritjof: for sure, see "guix describe" output, you will see you are still on the initial system version, not on the one you pulled. This is only first-time issue. You can either execute the code it tell you or relog an you will get the env vars as well
<Rutherther>folaht: patches are applied with -p1, so the first directory does not matter, it's skipped
<Rutherther>folaht: however your message is unclear to me. On one hand you say it compiles, on the other you say the patch is not applied. If the patch did not apply, the build (in this case patch and repack of the tarball) would fail
<fritjof>Rutherther So, I added the environment variables (by copying the suggested setting from the terminal) and then tried 'guix system reconfigure' but it says that I give it the wrong number of arguments. As far as I can see from https://guix.gnu.org/manual/1.5.0/en/html_node/Invoking-guix-system.html I shouldn't give it any arguments? Have I missed
<fritjof>something?
<Rutherther>fritjof: reconfigure is the action, you are missing the file (your config)
<Rutherther>if you installed from the TUI installer, it should be at /etc/config.scm
<fritjof>I installed via the graphical installer from the .iso
<fritjof>Found it!
<fritjof>Same place :)
<folaht>Rutherther, that's weird.
<folaht>I'm still ending up with no patch, but with 'sudo guix reconfigure /etc/config.scm' giving no errors.
<folaht>I'm still ending up with a non-patched package.
<folaht>Should I try changing the path though?
<folaht>And add 'share/X11/xkb' to it?
<fritjof>after doing the 'guix reconfigure /etc/config.scm' I get an error of access... Should I run that command as sudo?
<fritjof>the error seems to have to do with symlink
<Rutherther>fritjof: yes, that command changes your system, if any user could run it, any user could become root
<fritjof>Super.
<fritjof>So should I rerun the whole thing as sudo?
<Rutherther>fritjof: wdym whole thing? only the system reconfigure
<fritjof>that was what I meant. Sorry for being unclear
<fritjof>it just hangs, it seems.
<fritjof>will leave it for a while and see what happens
<Rutherther>folaht: your path is correct, changing it or adding share/X11/xkb is not going to help, rather the latter would lead to a failed build. The source does not have share/X11/xkb
<folaht>Rutherther, is there a way then that I can see what's happening to my patch then?
<Rutherther>folaht: sure just guix build the source of the package you made and inspect it
<folaht>Rutherther, works fine there
<Rutherther>folaht: then your patch itself got applied correctly and works as is intended :)
<folaht>Rutherther, but it's not. So I'm doing something wrong.
<Rutherther>folaht: yes, but not the patch. Stop looking at the patch and start looking at your whole system and mainly its services
<folaht>Where and what should I be looking at then? I'm clueless now.
<Rutherther>at the DE you use and how it gets started from the system, which service does that...
<Rutherther>and starting by what you actually mean that you get 'no patch', what is your actual observation, not derived one
<folaht>Oh, I do "realpath $(guix build xkeyboard-config)" or "guix package -I | grep xkeyboard-config" and look into the package.
<Rutherther>which is completely different package than the one you have in your system
<folaht>Ah, which one is my system using then?
<Rutherther>the system might be using multiple depending on the packages and services you used. But one of the packages it will use is the one you declared in your /etc/config.scm
<Rutherther>which you did not expose in any way so you cannot directly guix build it
<folaht>Oh, you mean that in (operating-system ... I should change '(keyboard-layout (keyboard-layout "us" "dvorak"))' to '(keyboard-layout (keyboard-layout-yr "us" "dvorak"))'
<folaht>No wait, that doesn't make sense
<folaht>Rutherther, what do you mean by 'expose'?
<folaht>Rutherther, how do I know which ones my system is using then?
<Rutherther>if you want to consume the package from tools such as guix build, you need to expose it to it in some way, there are a couple of ways. For example you can make a public variable in a guile module that you have in load path. Or make a file that returns the package at the end, and you guix build -f it. Keep in mind that "guix build X" matches "X" by name and if you expose two packages with the same name and version, it's not guaranteed which one you...
<Rutherther>... will get
<Rutherther>knowing which ones your system uses is not trivial, you could guix build the system and look at the /gnu/store path it gives you. Then you can execute guix graph on that path and look for xkeyboard-config paths there.
<fritjof>after doing guix install emacs, I get:
<fritjof>Consider setting the necessary environment variables by running:
<fritjof>     GUIX_PROFILE="/home/fritjof/.guix-profile"
<fritjof>     . "$GUIX_PROFILE/etc/profile"
<fritjof>     unset GUIX_PROFILE
<fritjof>- should I always just do that, and do I need to do anything after that to preserve the change across updates?
<Rutherther>fritjof: not always, only on changes that introduce new search paths, which can be quite a lot when you start installing at first, but will be very rare afterwards
<fritjof>super! Thanks for clarifying. I really like guix so far :)
<Rutherther>fritjof: note that until you relog, you have to do this in each shell you open to get the packages. On relog your whole environment will get the proper search paths as env vars
<fritjof>Thanks. I haven't seen about "relog" - where do I read about that?
<Rutherther>read about what exactly?
<Rutherther>I mean "re-login", meaning you log out (exit your desktop environment) and log back in. During logging in the /run/current-system/profile, ~/.config/guix/current, ~/.guix-profile profiles environment variables are sourced
<Rutherther>and the env vars sourced are coming from https://guix.gnu.org/manual/devel/en/html_node/Search-Paths.html
<fritjof>Ah - that makes sense :) Thanks
<fritjof>what would be a good place to start playing around with scheme for system set-up for a newbie?
<fritjof>Like, can I set a wallpaper or change icons or something, using /etx/config.scm ?
<fritjof>I am trying to get my emacs .init file set up on the new guix machine, but it complains about jedi:install-server, saying python isn't installed.
<fritjof>I thought I saw python3 being installed during the graphical install for guix, but 'which python' says otherwise?
<fritjof>no python in (/run/setuid-programs:/home/fritjof/.config/guix/current/bin:/home/fritjof/.guix-profile/bin:/run/current-system/profile/bin:/run/current-system/profile/sbin)
<fritjof>do I just 'guix install python' or should I do something else for stuff like that?
<Rutherther>fritjof: that something needs python does not mean it will get installed. Most packages are self-contained. When something needs python, it refers to it by full path. So you do not need to install python to your profile, despite it being needed by one of the programs you use
<Rutherther>fritjof: yes, you can just do guix install for 'end-user' usage like that
<fritjof>Somehow it doesn't see python after I try 'guix install python' - what am I doing wrong?
<Rutherther>fritjof: not seeing it where exactly? what's the PATH environment variable in the process you do not see it in?
<fritjof>I am trying to get jedi:server-install to run after setting up my init.el for emacs on my guix machine, but it complains that it can't see python
<sham1>Are you sure that Emacs is using the current version of your profile
<fritjof>How do I ensure that? Just by logout/login ?
<sham1>Or relaunching emacs
<fritjof>OK
<fritjof>OK - tried closing emacs down and restarting. Still getting the same complaint.
<sham1>Well then you may have to log out and log back in, depending on which way you are launching your emacs
<sham1>And if that doesn't work, then something is really odd
<stephen1>I've had issues where stuff added via guix install wasn't available, but adding to the home config and reconfiguring has always worked.
<fritjof> Something is strange. Here is what happens: I am working on getting my emacs init.el up and running on the new guix system, and everything is going OK - untill I evaluate the init.el, then I get a message about doing "M-x jedi:install-server", but when I try to run it, it just says "program named python does not exist". Even after I tried running 'guix install python'
<fritjof>I have tried both closing emacs down and logging out of the session and logging back in
<sham1>Can you invoke python from your shell
<sham1>Also, why not install jedi in a shell environment
<fritjof>I can't invoke python, but I can invoke python3
<sham1>Like `guix shell`
<fritjof>Oh - only tried with bash
<fritjof>will do guix shell now
<tusharhero-xmpp>Guix shell is not like bash..
<fritjof>I tried it and got: The following derivation will be built:
<fritjof> /gnu/store/ggzah2lxn841wl8k8la7bz7684512s4a-profile.drv
<tusharhero-xmpp>Yes, it is expected behaviour for it to be python3
<fritjof>Ok - so should I change a variable name in the jedi core settings in /elpa/jedi-core.el?
<tusharhero-xmpp>Sure
<fritjof>I can't seem to get it working.
<Rutherther>fritjof: python gives you only python3, if you really need python, use python-wrapper package instead. Uninstalling python and installing python-wrapper instead
<fritjof>I think I'll ust comment the jedi-related lines out, since my main goal is to learn sheme and elisp
<fritjof>and get more into guix
<fritjof>ssh key-generation to push to e.g. codeberg, is that done as it is on debian? Or should I add something to the config.scm ?
<folaht>Rutherther, what do you mean by 'consume' when you say 'consume the package from tools'?
<Rutherther>folaht: that guix build will take the package declaration and realize(build) its outputs in /gnu/store
<kestrelwx>Hi!
<tusharhero-xmpp>kestrelwx: hi
<janneke>yay, bordeaux is back! prolly fore quite some time now
<ElevatorConnoiss>I'm utterly perplexed at how I can't get `guix --version` and `guix shell -C --nesting guix -- guix --version` to match. I've tried every combination of configuration options along with time-machine, that I can imagine.
<Rutherther>ElevatorConnoiss: that's expected, they cannot match
<ElevatorConnoiss>Rutherther: That's good to know. Why?
<Rutherther>ElevatorConnoiss: because the guix package is updated inside of guix commit, it cannot refer to the same commit you are on, only to later one. If you want the same guix inside the shell, do not add guix package, ie. guix shell -C --nesting -- guix --version
<Rutherther>s/later/previous
<ElevatorConnoiss>Ah, I think I see.
<Rutherther>"guix shell guix" will give you guix package from (gnu packages package-management) in shell. The package has a given commit specified. So always commit from history, never current commit
<getstate>Can you offload the "building derivation" part of guix pull? It takes 15-20 minutes on weaker hardware
<janneke>ACTION just managed to boot a hurd image without using any bash scripts
<janneke>w00T
<janneke>ACTION submitted patches everywhere, let's hope they get accepted
<Rutherther>getstate: you mean the 'computing derivation' one? That cannot be offloaded unfortunately.
<ElevatorConnoiss>Rutherther: Thanks a ton. I was pulling my hair out but it's so obvious in hindsight. I don't know why I assumed I needed to add it back in after turning on --nesting.
<Rutherther>getstate: however you could just build guix elsewhere and copy it, without using guix pull locally
<getstate>Rutherther: yes that one.
<getstate>Rutherther: how would I do that? what would I need to copy over?
<Rutherther>getstate: on the machine you want to "offload the build do" you would do "realpath $(guix time-machine -C your-channels.scm)". On the machine you want the profile on you would take the output and do guix copy --from=ssh://<offload-machine> <the-path you got from time-machine>. And then you would have to do a bit of manual work of creating a new generation in /var/guix/profiles/per-user/$USER, you could automate that in a script
<Rutherther>getstate: it's pretty much: 1. locate the last current-guix-X-link. 2. make current-guix-(X+1)-link a symlink to the /gnu/store path you copied, 3. make current-guix a symlink to current-guix-(X+1)-link
<Rutherther>I am not aware of any tooling doing that currently, but it shouldn't be too hard to make
<getstate>Yes was wondering why it wasn't a thing then
<getstate>thanks a lot
<Rutherther>because no one made it :)
<getstate>will add it to my todo list for the sake of my anemic laptop
<Rutherther>note that if you will be making it in scheme, most of the operations already do have functions in guix code... like making a new generation and symlinking current to it are very common operations. It's just that the source differs here
<Rutherther>I think in the future this problem with guix pull will have better solutions, allowing to actually substitute or pull the resulting derivation, but it is what it is now
<getstate>Yes, sounds amazing!
<ieure>getstate, `guix deploy' is also an option for getting Guix on weaker hardware.
<mlxdy>Hello, I tried out NixOS and I really liked it, but I'm more interested in GUIX as it use LISP for config. How GUIX is in daily use?
<Kolev>Having issues running Agate on Guix System.
<kestrelwx>mlxdy: I've been using Guix on my laptop for 2 or 3 years without too much problem, but it depends on your needs, as some things might not be packaged or not tracking last versions fast enough.
<ieure>mlxdy, I've been daily driving it for a couple years, it has the about typical levels of rolling release breakage (comparing to, say, Debian Sid). But since you can roll back to your working generation if something breaks, it's much less of a big deal, you're never stuck with a broken system.
<Kolev>Started a thread on help-guix about my Agate problem.
<mlxdy>Are you doing development on this system? ieure kestrelwx
<mlxdy>Also what I can do if something is not packaged? Flatpak or appimages are working?
<noe>flatpaks work, appimages work with extra steps
<ieure>mlxdy, Yes, I am a Guix committer.
<ieure>mlxdy, You can run flatpaks. I personally dislike doing so.
<fritjof>how do I get custom icons on gnome under guix? I have run 'guix install guix-icons' and gotten them, but how do I activate and choose?
<identity>«activate and choose»?
<fritjof>sorry, I mean how do I change icons, after having installed guix-icons
<bdju>The online (website) guix package search timed out with a 504 when I tried to search "linux". I was hoping to check what the latest kernel available was, in the middle of running updates on my machine.
<bdju>Can anyone tell me if 7.0 is available yet?
<identity>bdju: for a while
<bdju>Nice, thanks.
<identity>fritjof: change what icons to what? what do you think the guix-icons package includes?
<PotentialUser-88>Hi, maybe not the focus of this IRC channel, but i want to know by the people that works with it. I really need to use a free firmware to stay 100% secure and private against bios spyware or something like that? I use guix on a non-free firmware and i dont know if this really makes sense
<identity>yeah, you should really use windows 11 instead
<identity>the slippery slope is quite slippery
<PotentialUser-88>What the fuck?
<Rutherther>PotentialUser-88: it means that even by moving partially you still gain something, it's not all or nothing
<fritjof>sorry for being ambigous. I thought it would make it possible for me to change the icons used by my Desktop environment.
<identity>fritjof: run ‹guix show guix-icons›
<PotentialUser-88>Rutherther that is not my point
<PotentialUser-88>The point is if it is really insecure and non-private to use a nonfree hardware, i know that partially we gain something, but i dont know if are a extreme risk by using the nonfree firmware
<trev>that depends on your personal threat model
<trev>that is why i travelled to the factory where they made my RISC-V SoC and watched it being assembled
<PotentialUser-88>Good joke
<PotentialUser-88>Yeah, that's really true
<PotentialUser-88>But, on a certain threat model, like my totalitarian country, i will be on a endless road
<trev>PotentialUser-88: you should be more worried about physical hacks or confiscation and internet privacy probably...this is unrelated to guix though
<PotentialUser-88>Thanks
<bdju>Is there a way to check which kernel is installed before it's in use, like before rebooting? I swear I saw 6.18.x building earlier rather than 7.0.
<csantosb>Regarding the `system-configuration.scm` file, is there a way to conditionally include additional modules ?