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>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 <JazzJackalope>Tried asking, not sure when people will be available to reply <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 <YAR_Oracool>JazzJackalope: One way is to utilize plain file. But... I need to figure out how to call variables from scheme inside it <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? <czan>Have you looked at mixed-text-file? <ieure>That's what I was about to mention. <ieure>It's mentioned in the manual. <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). <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. <ieure>Example means nothing to me, but I believe it will work. <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. <czan>Sure, something like (define color "#FFFFFF") (mixed-text-file "colors.el" "(setf color \"" color "\")") should work. Although it's a bit clunky. <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. <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). <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. <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! <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 <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>maybe ‘guix remove niri’ to make sure you use the copy that’s in ~/.guix-home/profile/bin <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>i got binutils-mesboot-2.20.1a.drv to fail twice in a row <civodul>this whole branch is next to unbuildable anyway <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 :-) <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>Oh I know, just pushing a little (too mush? :/) while I got you :p <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 <civodul>yelninei: i was sort of holding off everything until ci would be able to evaluate the branch <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) <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 ? <yarl>civodul: Well, thank you :] I'll look about the test. <n|Phreak>ok so it worked but swaylock still not using pam or at least I can use my user pass to unlock <n|Phreak>so I have ~/.guix-home/profile/etc/pam.d/swaylock ... which has auth include login in the file <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>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>Ok so using-pam? #t and using-setuid? #f. PAM and setuid are enabled by default. <yarl>Is it ok for a test form not to be top-level as in (let ((foo bar)) (test-equal foo ...)) <roptat>yarl, I don't think I have the context, but I think it's fine <yelninei>civodul: do you have logs for the configure lockup (where exactly it happens) <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>hint: Did you forget a `use-modules' form? <ieure>n|Phreak, niri-configuration, not home-niri-configuration. <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 <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>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 <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>home-dotfiles-configuration maybe? <snamellit>n|Phreak: for bash files there is the home-bash-service-type to configure those. <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 ? <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>then it works the same for native and foreign distros <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 <ieure>PotentialUser-74, Please put your complete configuration in a pastebin service and paste the URL to that in the channel.