<EndOfAnEra>lilyp: ok then. When I checked out the master branch and set the channel to (url "file:///local/copy"), it seemed to recompile everything, so I thought that's because the local master is an experimental branch
<lilyp>What are you trying to achieve? Did you read through the Contributing section of the manual?
<EndOfAnEra>lilyp: I'm trying to add a package and there seems no way to do "guix system reconfigure" without adding the local git repo as a channel, with that update
<EndOfAnEra>and it begins recompiling everything for 12 hours, webkit twice with webkit-with-libsoup2 etc
<EndOfAnEra>it doesn't load the channels in $HOME/.config/guix/channels
<zimoun>EndOfAnEra: that’s expected. The Guix is from the checkout, so you need to pull. ./pre-inst-env guix pull -p /tmp/new --url=$(pwd) or something along this. But you will not have what you want and the easiest is to write a specific channels.scm file containing extra channels and instead of %default-channel the local checkout.
<EndOfAnEra>zimoun: oh I had no idea about guix pull -p, thought just pull worked
<zimoun>EndOfAnEra: by default “guix pull” creates a generation for the profile ~/.config/guix/current. Therefore, if you do not want to pollute this default profile, you can use another profile and test with ’/tmp/new/bin/guix describe’.
<zimoun>because the Guix you pulled is in the profile ~/.config/guix/current
<zimoun>EndOfAnEra: ’./pre-inst-env guix pull’ uses the code (guix scripts pull) to compile the code from the channels defined by ~/.config/guix/channels and the result is going to the profile ~/.config/guix/current.
<zimoun>’./pre-inst-env guix pull -C channels.scm’ where channels.scm contains your channels and replace ’%default-channels’ by a channel pointing to your local checkout. Then “guix system reconfigure” will use the edited packaged with the packages from your channel.
<zimoun>But doing so, you pollute your history, so I would do “./pre-inst-env guix pull -C channels.scm -p /tmp/new” and then “/tmp/new/bin/guix system reconfigure”
<zimoun>jpoiret, civodul: I had the same question. :-)
<jpoiret>My first guess would be that, for a fixed service type, its extensions form a monoid
<civodul>jpoiret: it can be viewed as a monoid, which gives (few) properties regarding how this thing works and what can be done with it
<civodul>well it's the set of service types plus the extension operation i'd say?
<df>if you wanted to patch the data it looks like the logical source would be CNS 12842
<podiki[m]>yes, that was me with the guix on steam deck! need more time to iron it out, not sure about wifi but at least the usb-c dock I have includes ethernet (or I'll just build a better image from my main computer)
<jpoiret>but, service-type `extend` service-type doesn't give you a new service-type?
<abrenon>civodul: extension combines two services ?
<bost>jpoiret: yeah sure. But I thought somebody may have made something for such a use case already.
<civodul>attila_lendvai: just replied! i'm afraid this is not the reply you expected though, but we'll make progress i'm sure :-)
<attila_lendvai>civodul, i'd like to have a Shepherd in Guix master that includes the #:resource-limits commit, whichever way it's deemed more appropriate. if we release Shepherd HEAD just so that Guix includes only releases of Shepherd... then so be it! FWIW, i'm much more relaxed wrt releases in contexts where there's full version tracking.
<civodul>attila_lendvai: yeah; i think it's good here to have formal releases where we declare new interfaces
<attila_lendvai>civodul, FYI, updating the shepherd package must go into staging. and also to clarify: are you against the entire idea of shepherd-for-guix, or only against building a snapshot?
<attila_lendvai>civodul, there's rationale in the discussion for the latter. namely that it enables a much faster dev cycle when testing changes to Shepherd in the context of the Guix environment.
<attila_lendvai>civodul, let me know if you want me to update the shepherd-for-guix patches, or you prefer to make a shepherd release and tailor them yourself afterwards. i'll have another hour of so today for hacking.
<zimoun>civodul, attila_lendvaiL: I think the use of Git source is a good idea. And it is not about release. :-) I mean the source can point to a Git tagged release. Then attila_lendvai can easily use a package transformation to get the recent Shepherd.
<mekeor[m]>when i try to install my own package from my own channel, i get an error during the build of guix-package-cache. what's wrong?
<zimoun>mekeor[m]: probably a conflict with your own package from your own channel. :-)
<Aurora_v_kosmose>So I just pushed a patch to fix something that hasn't been building for a bit more than a year. Unfortunately it required some questionable fixes.
<mekeor[m]>uh, it'd be so nice if i could guix pull only one of my many channels
<unmatched-paren>i wish guix had an option to sternly tell you off when you use an imperative command instead of a manifest; i'm trying to migrate all the things to guix home, but i keep impulsively running `guix install` :P
<Aurora_v_kosmose>Yeah. It all boils down to the scope you decide to care about and the design goals you intend to reach.
<Aurora_v_kosmose>A significant part of Guix's monads was to abstract & simplify code that otherwise needed to be repetitive and finicky.
<jpoiret>Aurora_v_kosmose: Haskell's justification is that the IO monad could very well just produce bytecode for an IO interpreter, which would then be ran, but they optimize it and directly do the IO.
<blake2b>i'm considering giving it a go just because it would make reading my env vars so much cleaner, but would be curious to hear others experience, if it ends up being to slow, etc
<jpoiret>blake2b: you will no be able to modify bash's own state with such a script
<jpoiret>env vars are inherited by child processes, but not the other way around
<dlowe>I've been trying to get multimedia keys working using the pulseaudio plugin on xfce4. I made a new package for it with libnotify and keybinder enabled, and installed it using guix package --install-from-file. My question is - how can I tell if xfce4-panel is using the one I just installed
<blake2b>ah, got it! thanks that saved me a lot of headache
<nckx>Hullo friends. Libera guix/user/ cloaks: do we want them? Any reservations? I've got two questions about cloaks in as many weeks; probably time for another round of 'who wants a cloak, is it you, do you want a cloak?'
<nckx>And what should be the criteria for them & guix/contributor/* cloaks?
<nckx>Fight amongst yourself, arena-style, & the last one to survive can ping me with the answers when I log back on.
<Aurora_v_kosmose>While on one hand it sounds neat, I don't think I want all my opinions and statements to be assumed representative of the project.
<jonsger>is there an "easy" way to determine if a NAR/narinfo is for a particular architecture?
<Haider>Clangd is giving me the following error:/home/haider/.guix-profile/include/c++/backward/binders.h:130:6: error: expected ';' after class [clang-diagnostic-error]
*Aurora_v_kosmose ponders running Guix on a soundblaster
<nckx>pushcx: But seriously, not being a 90s PC game we don't have a 'system requirement' page. Happiness comes easier with a gig of RAM and some swap, or zswap, or zram, and you need a few gigs of storage for a minimal comfortable /gnu, but so much depends on how & what you build.
<atka>speaking of linux-libre what would you be missing out on with modern intel (framework laptop), I'd bring my own atheros wireless. igpu, hardware encode/decode,thunderbolt 4, would those work?
<Aurora_v_kosmose>And while I can't load all tabs at once, I do have over 500 tabs open in one instance...
<pushcx>It's a pretty small vps running the weechat instance I'm typing in now. It has a gig of RAM which feels like a lot because I'm old enough to have played 90s PC games that required a fancy machine with a second meg of RAM. So pretty much there's just tmux, weechat, and a handful of command-line utils on top of a base system here.
<unmatched-paren>if a pure-finger file downloader doesn't exist, it shouldn't be too hard to make it exist >:) suckless.org will bow to us
<pushcx>Ah, it crashed again. Yeah, output doesn't include "Killed." but 'dmesg -w' logged an OOM kill. How do I know how much more RAM the system needs? And then I guess fingers crossed my vps provider lets me resize.
<pushcx>And... is there any way to run 'guix pull' in a smaller increment rather than 'update everything in the world to current'? This isn't a big rush, I don't mind if it spends a day or two doing small updates.
<pushcx>And I guess it would still be really nice to have an idea of how much RAM is required to run guix. I checked config.scm, the only pacakages added are 'openssh nss-certs rsync tmux vim'.
<lispmacs[work]>hi, I install gajim and gajim-omemo, but gajim doesn't see the plugin. I'm having trouble figuring out how to tell gajim where the plugins are installed. Can anybody here help me with that?
<pushcx>Aurora_v_kosmose: I don't have swap. I've found an example or two of zram, but how do I guess what size to give it?
<singpolyma>pushcx: guix pull doesn't update anything but the guix command itself
<Aurora_v_kosmose>pushcx: However mucn you feel like. I usually give it something like a quarter.
<unmatched-paren>hm, not exactly a promising first experience with nyxt; i got this when i tried to click the back button (haven't set the keys to vi yet): <WARN> [21:48:19] Warning: Error on separate thread: There is no applicable method for the generic function #<STANDARD-GENERIC-FUNCTION HISTORY-TREE:PARENT (1)>
<char[m]>how to debug bluetooth daemon? It was working just fine earlier, but now, when I start it, it stops and becomes disabled.
<pushcx>I added a 1Gib swapfile because it was easier than figuring out zram and 1 is a nice round number. It seems to have done the trick; 'guix pull' has advanced past where it used to crash. It's not so great to run into an undocumented requirement with no way to estimate a correct value.
<Aurora_v_kosmose>A year or two ago, I ended up unable to pull for a day because substitutes for firefox weren't built yet by the Guix substitutes farm and I didn't feel like modifying my local definition of firefox to use the low-memory alternative to its build (nor adding swap).
<Aurora_v_kosmose>These days I'm confident-enough with modifying definitions I'd just go ahead & do that instead.
<singpolyma>Aurora_v_kosmose: you mean you were unable to upgrade? Pull shouldn't be affected by substitutes for a package