IRC channel logs

2026-03-28.log

back to list of logs

<bdunahu>graywolf: I made guix-home deploy my emacs with home-dotfiles-service-type, but I'm not sure I like it at all because it requires the extra step of reconfiguring everytime I make a small change
<graywolf>Yeah that is pretty much my approach as well.. :/
<graywolf>Maybe I should take a step back and just try to read up on how people manage Emacs configuration across multiple systems. Possibly will give me some ideas.
<bdunahu>You could have guix export some environment variables for different aspects of the system and branch on them in the config. Or maybe something like org-mode allows tangling only when the block matches a condition.
<YAR_Oracool>Oh come on... fish is undocumented
<JazzJackalope>If it helps, there's a #fish channel
<YAR_Oracool>Something that would help me more is to haw to integrate my configs with guix
<YAR_Oracool>all I can see is Import X or Y instead of to start configuring this open fish.scm or kitty scm
<JazzJackalope>I would ask in the channel if anyone has any insights, but I'm so new to guix I'm not entirely sure what I would be asking
<YAR_Oracool>Basically. How do I configure without importing
<JazzJackalope>All right
<JazzJackalope>Tried asking, not sure when people will be available to reply
<YAR_Oracool>Not just fish. In general.
<YAR_Oracool>I can not find a single thing about configuring without importing
<YAR_Oracool>There is like ne or 2 things about bash and fish but that's about it
<JazzJackalope>Oh
<YAR_Oracool>Emacs. kitty fish. you get the gist
<YAR_Oracool>JazzJackalope: One way is to utilize plain file. But... I need to figure out how to call variables from scheme inside it
<JazzJackalope>I see
<JazzJackalope>Good luck
<ieure>YAR_Oracool, Can you explain what you mean by "configuring without importing?"
<YAR_Oracool>ieure: Basically using plain-file or something that allows me to pass variables to the config
<ieure>YAR_Oracool, "the config" being what? A config file for some program in its native format?
<YAR_Oracool>ye
<YAR_Oracool>.conf, .el, bashrc and so on
<czan>Have you looked at mixed-text-file?
<ieure>That's what I was about to mention.
<YAR_Oracool>first time I'm hearing the name
<ieure>It's mentioned in the manual.
<YAR_Oracool>can it pass variables calculated in scheme?
<czan>It's like plain-file, but all the arguments are combined with string-append on the build side (so they can be anything that can gexp-compile to what you want).
<YAR_Oracool>Hmmmm gonna look at it after food
<czan>Something like this: (mixed-text-file "whatever.txt" "I can put whatever I want here, including " emacs "/bin/emacs, which will be the path the emacs binary")
<czan>Assuming that the emacs Scheme variable refers to the emacs package object.
<YAR_Oracool>For example, I want to pass color value
<YAR_Oracool>to .conf .el and so on
<ieure>Example means nothing to me, but I believe it will work.
<YAR_Oracool>#FFFFFF to a place to a portion of the config
<ieure>As long as it's a string, I believe it will work.
<YAR_Oracool>the FFFFFF came from some calculations I did in scheme and so on.
<YAR_Oracool>Good
<czan>Sure, something like (define color "#FFFFFF") (mixed-text-file "colors.el" "(setf color \"" color "\")") should work. Although it's a bit clunky.
<YAR_Oracool>so.. .first define is cheme, mix file is mix file
<YAR_Oracool>\"" color "\ is adding the variable
<czan>While you can kind of think of it that way, it will get you into traps. The better way to think of it is (define color "#FFFFFF") is just defining the variable (so I can use it in the example). Then mixed-text-file takes a filename ("colors.el"), and a list of strings.
<YAR_Oracool>what's \ for?
<ieure>Escaping the nested quote, because you're building the (setf color "...") Lisp as a string in Guile.
<YAR_Oracool>oh! \" is to throw " inside an existing " to not break it
<czan>The first string is "(setf color \"", which ends in a double quote (needed for the elisp syntax). The second string is the value of the color variable (which actually might not be a string, but it needs to be something Guix can convert to a string, like a package definition). The third string is "\")" (to finish the elisp form).
<YAR_Oracool>yup got it. Perfect
<YAR_Oracool>in theory
<YAR_Oracool>thanks lads. You are absolute legends
<YAR_Oracool>Can it get mixed with home-dotfiles-configuration?
<apteryx>how does deleting bundled source in crates work? are crates designed to use system provided libraries when the bundled sources aren't there? I see lots of deletion, but no adaptations in the snippets
<apteryx>yeah, it looks like the crate has to be designed to prefer system libraries if available; case at point: selenium-manager, which has zstd:lib and xz added, whose corresponding sys crates have the zstd sources and xz sources deleted.
<lilyp>apteryx: if the crate is not designed that way you can snippet- or patch-insert code that designs it that way
<adanska>would anyone be able to take a look at #7488? its tested to build fine so all it needs now is someone with commit rights to take a look at it :)
<lilyp>it's one day old; I'd wait for mozilla team to wake up first :)
<adanska_>lilyp, youre right, i'm just a reconfigure addict hahaha
<lilyp>you can also use local packages in your system config while waiting for things to be fixed upstream; that's what I personally do
<adanska_>would anyone have any ideas about how to potentially use a system-service-type extension to append kernel arguments to the operating system? i am trying to make a realtime process manager and i want to set the isolcpu and irqaffinity depending on how many managed processes there are... though thats besides the point i think
<adanska_>lilyp, thats true, though the icedove guix machinery is a little involved, so i'd have to reconfigure from a local checkout, and that can take for aaaaages sometimes
<adanska_>cos it needs to pull in a whole new checkout and index it and authenticate it and it ends up taking a good while... so i personally try to avoid it unless theres huge breakages
<adanska_>last time i did that was with the libxml2 grafting debacle
<lilyp>adanska_: fair enough, but you've already built the package, so at worst you can use an inferior
<adanska_>lilyp, i forgot about inferiors. Good idea, might look into it. Or i could just wait a couple days... I gotta stop letting my tinkering urge rule me hahaha
<czan>adanska_: To extend the system-service-type to *add* parameters I expect you would run into problems, because the file-union doesn't merge duplicate files. You'd need to change system-service-type to do some sort of "smarter" merging to get it to do what you want, I expect.
<adanska_>czan, thanks for the pointer! Hmm... getting in the way of file-union sounds like a pain in the butt. my intuition was telling me that i would have just been able to extract the current kernel arguments from the operating system record and then simply append... but clearly this is not how system-service-type works.
<czan>adanska: Yeah, unfortunately that's not how extensions work. The service gets to decide what an extension does, and they usually don't let you see the other extensions/values (for good reasons, like making sure extensions commute). You could write a function that takes an operating-system record and makes a new one which includes your parameters, but that's quite a different approach.
<adanska>czan, i see. thanks for the pointers, you saved me a lot of time. I suppose i will go with some sort of compose mechanism, but its unfortunately not as elegant as i would have hoped. I'll have to do some sort of heuristic inspection of the os-record to determine the amount of seperate processes my realtime-process-service-type is managing.
<adanska>Thanks so much though, diving into the Guix internals is kinda intimidating and overwhelming simply because of how guix is written. There's not a lot of documentation for internal functions and everything is written in a elegant but semi-obtuse functional schemey style that can be hard to parse at times...
<adanska>czan, whats your name on codeberg? i've seen u a lot on irc but i havent been able to map ur username to a contributer :p
<czan>You could write a service which your other services extend to count the number of services, and use fold-services to extract the value from it. Then your composition could use that to decide what value to add.
<czan>I'm https://codeberg.org/czan on Codeberg, which feels straightforward to me. :P
<adanska>czan, strange! I couldn't find it in my cursory search. Thanks :)
<adanska>czan, thats a really clever idea. I'll give this a shot!
<Duongph80>Hello guys. I have a question, please check it here: https://www.reddit.com/r/GUIX/comments/1s5w9xw/guix_avoid_entering_luks_passphrase_multiple_times. I need your help, please.
<yarl>Hi
<snamellit>Duongph80: I answered in the systemcrafters IRC and on reddit.
<civodul>yelninei: hi! i think we have a Gash bug: i’m getting occasional max-silent timeouts when running ./configure scripts and the likes
<civodul>for example with binutils-mesboot-2.20.1a.drv
<civodul>dunno if it’s a 0.3.2 regression
<n|Phreak>Morning , so I have installed niri via guix install , but also created a home config and added niri and pam service in order to swaylock to use pam service so I can actually lock my device using user credentials
<n|Phreak>right now I start up niri via tty1 , how do I make sure that the config file actually loads ?
<civodul>ACTION knows nothing about niri
<civodul>maybe ‘guix remove niri’ to make sure you use the copy that’s in ~/.guix-home/profile/bin
<civodul>(not that it helps)
<n|Phreak>hmm
<n|Phreak>so I need to delete niri and all the packages first ?
<yelninei>civodul: Oh no, i have rebuilt things multiple times with custom tarballs before and never had an issue, I have not yet looked at the final version yet
<civodul>well, we’ll see
<civodul>i got binutils-mesboot-2.20.1a.drv to fail twice in a row
<civodul>this whole branch is next to unbuildable anyway
<civodul>zero successful evaluations
<civodul>takes ages
<civodul>it’s a nightmare
<yarl>Hi civodul, may I borrow a few minutes of yours? Not a hurry. About https://codeberg.org/guix/guix/issues/4416 problem number 2. What do you think about my suggestion that substitute*'s body shouldn't accept a sequence. I think that restricting the body to one expression might avoid potentially buggy uses. I also PRed https://codeberg.org/guix/guix/pulls/7538 for problem 1.
<civodul>n|Phreak: no no; all i’m saying is that, if you use Guix Home, you could probably empty ~/.guix-profile (the profile created by ‘guix install’) and only use Guix Home
<civodul>yarl: i think it’d be incompatible, and also the allowing for a sequence is consistent with what ‘cond’ and ‘match’ do :-)
<civodul>s/the/that/
<yarl>civodul: incompatible?
<yarl>Ok about the consistency.
<civodul>yarl: yes, in that code that works today (has a sequence) would no longer work
<civodul>making this sort of change is always tricky
<yarl>Alright. I sort of felt this.
<yarl>Now I'm sure. Thanks.
<yarl>Could you take a look at https://codeberg.org/guix/guix/pulls/7538? It's a small change.
<civodul>it doesn’t have to be me though :-)
<yarl>Oh I know, just pushing a little (too mush? :/) while I got you :p
<civodul>heh :-)
<civodul>i wish work could be more evenly distributed in the ‘core’ team
<yelninei>civodul: Btw is there someone looking at updating glibc/binutils?
<civodul>it’s only been 3h since you sent the PR though
<yarl>No problem, nevermind.
<civodul>yelninei: i was sort of holding off everything until ci would be able to evaluate the branch
<civodul>but thing is, that’s not happening
<yelninei>civodul: trying binutils-mesboot with --no-substitutes now
<civodul>everything is either too slow (to the point it times out) or possibly broken? (the max-silent timeout i mentioned)
<fhang>Is anyone else getting a "502 Bad Gateway" when visiting https://ci.guix.gnu.org/
<yarl>fhang: yes
<civodul>oh that too :-/
<Rutherther>fhang: yeah, the cuirass frontpage needs to get restarted
<fhang>Ah, good to know that it's not just me.
<n|Phreak>ok so could I just mv ~/.guix-home to something else and then reboot to use the home configuration file ?
<civodul>Rutherther: done
<yarl>civodul: Well, thank you :] I'll look about the test.
<civodul>👍
<n|Phreak>ok so it worked but swaylock still not using pam or at least I can use my user pass to unlock
<kestrelwx>Good evening!
<n|Phreak>so I have ~/.guix-home/profile/etc/pam.d/swaylock ... which has auth include login in the file
<n|Phreak>what am I missing ?
<bjc>i'm pretty rusty on this, but my recollection is that you can either install swaylock as a privileged-program or you can configure it to work with pam
<yelninei>civodul: If there is a gash issue it might be the utf-8 ports with guile 2.0 (the bootstrap gash does not run the tests so we dont need it stictly speeking)
<bjc>i can't remember the latter incantation, but i used to use the former
<civodul>yelninei: but how would that lead to occasional lockups? (rather than crashes)
<chris0ax>hey people, i just noticed the skribilo package has emacs modes inside it, does it make sense to offer the package with a "emacs" output that only installs those elisp files? currently installing skribilo doesn't let you access the major modes it provides in emacs.
<yelninei>civodul: i am just guessing. However i have a gash-0.3.1.21-2735.tar.gz which i have used on my branch successfully. I have not payed to much attention on the other recent changes
<n|Phreak>wow , I can't get this to work at all lol
<chris0ax>n|Phreak: i didnt see your initial messages but i had an issue with swaylock too, theres a screen-locker-service-type you can use. Found it from https://lists.nongnu.org/archive/html/help-guix/2023-12/msg00131.html
<chris0ax>I still need to figure out how to run swayidle on start xD
<n|Phreak>ok yeah I'm see that also now , but where in the docs is that located ?
<chris0ax>n|Phreak: In the info manual under "X Window", i only found this cause of the mailing list
<n|Phreak>hmmm, and it doesn't matter with your using wayland ?
<chris0ax>n|Phreak: nope, because its dealing with PAM primarily right. Probably should be relocated cause its confusing
<n|Phreak>lol yeah I agree .. ok thanks
<Duongph2098>snamellit Thank you again, my friend
<n|Phreak>Ok so using-pam? #t and using-setuid? #f. PAM and setuid are enabled by default.
<n|Phreak>so both of those are invalid now
<roptat>hi guix!
<yarl>Is it ok for a test form not to be top-level as in (let ((foo bar)) (test-equal foo ...))
<yarl>?
<yarl>hi roptat
<roptat>yarl, I don't think I have the context, but I think it's fine
<roptat>the test will still execute
<yarl>ty
<yelninei>civodul: do you have logs for the configure lockup (where exactly it happens)
<yelninei>asl could someone restart this please https://ci.guix.gnu.org/build/20277509/details
<Rutherther>yelninei: restarted
<yelninei>Rutherther: many thanks
<civodul>uh, berlin is unresponsive
<yarl>civodul: https://codeberg.org/guix/guix/pulls/7538 test added.
<yarl>I looked at how location tests are done in records.scm
<roptat>\o/ I managed to update junit to the latest 4.x version, enable tests in ant, and use the latest version of ant by default for all our java packages!
<n|Phreak>what is the difference say to add the niri home services vs just adding niri to the packages? I see it maps out XDG but is that it? Does it really matter ?
<identity>n|Phreak: it also starts a dbus session with niri on login
<n|Phreak>So what am I doing wrong https://paste.debian.net/hidden/8933a792 Keep getting error error: home-niri-configuration: unbound variable
<n|Phreak>hint: Did you forget a `use-modules' form?
<ieure>n|Phreak, niri-configuration, not home-niri-configuration.
<untrusem>I just run niri manually :p
<untrusem>though I am thinking of switching cause it has one claude commit :y
<Guest72>Hey if I leave the shell (bash) alone for say 20 mins then a message appears in one on the lines and looks like 2026-....... MARK
<Guest72>Does anybody know what it means and why? Driving me nuts
<ieure>Guest72, It's syslog.
<Guest72>Any reference where I can read more about it?
<Guest72>I suppose somehwere in the shepherd manual?
<ieure>Guest765, `(guix)Base Services' in the Guix manual. Syslog isn't part of Shepherd.
<ieure>Sorry, Guest72.
<ieure>Guest72, You want to modify you configuration to add (extra-options '("--mark=0"")) to it.
<yelninei>or set max-silent-time to #f if you are using the syslogd that is part of shepherd
<ieure>Guest72, Alternately, you can provide a different configuration which doesn't log anything to /dev/console
<Guest72>I mean the console is displaying my text and then one of the lines turns into this syslog message. I also risk to miss it aith the other text around. Is this the intended behaviour? Is there no ecjo area like in emacs where these messages can be displayed
<Guest72>*with the other
<Guest72>*echo area
<chris0ax>n|Phreak: oh youre trying to get niri running too! did you figure out how to get swayidle running on startup?
<chris0ax>I remember needing to read untrusems config as a reference to get a basic setup
<n|Phreak>Yeah niri is easy to get running , by just installing the package niri , but I'm trying to setup a home-config and using the niri home service
<yelninei>civodul: successfully built /gnu/store/vfbl0azf7yxyx5x755r10l7fc6rbpcvl-binutils-mesboot-2.20.1a.drv
<yarl>n|Phreak: What's your problem now?
<n|Phreak>error: home-files-configuration: unbound variable
<n|Phreak>hint: Did you forget a `use-modules' form?
<ieure>n|Phreak, There's no such configuration record in Guix. What are you trying to do
<ieure>?
<ieure>home-dotfiles-configuration maybe?
<n|Phreak>yes , trying to add bashrc for shell
<n|Phreak> https://paste.debian.net/hidden/d62aafd0
<n|Phreak>ok yeah its dotfiles , thanks
<snamellit>n|Phreak: for bash files there is the home-bash-service-type to configure those.
<n|Phreak>ok , I'll take a look
<n|Phreak>is it possible to use a login manager for your home-config environment ?
<n|Phreak>I have one for system which uses enlightenment, but do I need to add .desktop file to the default GDM first ?
<snamellit>here is an example for bash : https://forge.snamellit.com/pti/snamguix/src/branch/main/snamellit/services/bash.scm
<n|Phreak>cause right now using tty to login into home-config environment
<snamellit>I use a shepherd user service to start niri after logging in
<snamellit>but I also use tty login, but that is also because I have a mix of GUIXSD and foreign distros.
<n|Phreak>do you add the shepard service to system config or the home-config ?
<snamellit>in the home config
<snamellit>then it works the same for native and foreign distros
<n|Phreak>ok cool
<ieure>n|Phreak, You should prefer the more targeted home-shell-profile-configuration / home-bash-configuration over directly copying files over.
<ieure>n|Phreak, You cannot launch a graphical greeter as a user, user processes don't start until you log in, and the greeter is what you log in to. Chicken and egg situation.
<n|Phreak>ACTION ieure , ok thanks I guess thats a duh! moment 
<PotentialUser-74>hello, i just started with guix today, i have been trying to split my config following this guide https://systemcrafters.net/craft-your-system-with-guix/how-to-organize-your-config/ but i'm getting this error "hosts/g1511.scm:2:16: error: (gnu): unknown keyword or bad argument" when i try the reconfigure, am i doing something wrong? is the guide
<PotentialUser-74>outdated?
<ieure>PotentialUser-74, Please put your complete configuration in a pastebin service and paste the URL to that in the channel.
<PotentialUser-74> https://paste.debian.net/hidden/ef2263d2
<PotentialUser-74> https://paste.debian.net/hidden/2f2cfd12
<Rutherther>it is use-module, not use-modules