IRC channel logs

2026-08-27.log

back to list of logs

<Deltafire>maybe tomorrow there'll be more substitutes
<Icy-Thought>Does guix have something akin to channels in nix? We rarely have to build packages unless they belong to the master branch (or at least the packages I use).
<bdunahu>guix has channels but I don't know what nix channels are
<sham1>Basically the same. The real difference is that Nix has multiple maintained branches whereas Guix only really has the one that most are expected to use. Of course teams will have others, but those aren't really for daily driving
<Deltafire>i wonder if life would be a bit easier if we could update to HEAD minus a few days, so less local rebuilding required
<Icy-Thought>And also, the channels work by building packages for branch a, branch b and so on. So the more down the branches you go, the easier it is to find built packages
<sham1>But that has more to do with Nix's binary caches, which is basically the same as Guix's substitutes
<Icy-Thought>For example, there is this https://nixpkgs-tracker.ocfox.me/?pr=556730 (an example PR with binary availability being displayed)
<sham1>Well since you really only have the `master` branch, you either get substitutes or you don't. You can use `guix weather` to query the substitute servers. One trick that's also used is that with some of the team branches, the package derivations are built beforehand so that once the branch is merged back to `master`, the substitutes will be available basically immediately
<Icy-Thought>Ahh
<Icy-Thought>I guess the sanest way is to always update to a couple of days prior and check weather
<Icy-Thought>Interesting
<sham1>Basically
<sham1>For example I tend to try updating once every Monday, although I've been slacking a bit
<Icy-Thought>Can you not just dependabot the thing :P
<Icy-Thought>I forgot the service name for guix... ffs
<Icy-Thought>I bet that could also be set with a timer
<sham1>unattended-updates-service-type?
<sham1>Or whatever that's called
<Icy-Thought>I think so
<Icy-Thought>(still haven't migrated, but tinkering sometimes to translate my current nix setup to guix)
<sham1>Well my setup is very similar to Nix's flakes in that I pin the channels I use to specific commits and then I commit the locked channels alongside the rest of my configuration, so I can keep everything in sync
<sham1>(Of course I know that flakes do more than just channel pinning, but it seems to me that it's the biggest use case for most people)
<Icy-Thought>Do share your config sham1 because I have been looking for flake alternative inspirations!
<sham1> https://git.sr.ht/~sham1/guix-config
<Icy-Thought>I wonder if a combo between channel pinning + manifest.scm for projects could be somewhat similar to flake.nix
<Icy-Thought>Idk :shrug:
<Icy-Thought>Not found btw
<sham1>Basically the thing you might want to look at is <https://git.sr.ht/~sham1/guix-config/tree/main/item/channels-lock.scm>
<sham1>Oh, is it private
<Icy-Thought>No worries!
<sham1>Try it now
<vagrantc>well, prior might actually be in a worse state, in some cases
<vagrantc>oops ... scroll buffer confusion. :)
<Icy-Thought>I think it should work. It is still checking if I am a bot lol
<Icy-Thought>I wonder what it is calculating... still calculating
<Icy-Thought>Ohh, I was thinking of doing something similar in my config!
<Icy-Thought>Ty for sharing!
<sham1> https://git.sr.ht/~sham1/guix-config/tree/main/item/blackstar.scm And for even more fun, you can see on line 149 that you can of course enable Nix in Guix
<Icy-Thought>What you using nix for? :O
<Icy-Thought>(missing package, I assume?)
<Icy-Thought>another guix question, (define-public .. or #:export ?
<sham1>Depends on your own style
<Icy-Thought>Because imo, if I grep things with consult, it's easier to see when you have define-public compared to #:export. But I could be wrong
<sham1>RE: Nix. It's usually easier to collaborate on projects with Nix than Guix, unless the project is very specifically something to do with Lisp, and more specifically Scheme using Guile. For example when on Haskell, it's probably easier to make use of flakes for getting development dependencies than Guix stuff
<Icy-Thought>Due to fame? Or just nix being easier to use?
<Icy-Thought>I assume the former
<sham1>Yeah. Nix is older than Guix and thus more widely known. And with stuff like the Haskell people liking it, it means that in that ecosystem it has very nice integration, for example
<Icy-Thought>Oh I am familar with the haskell+nix game, I used to run xmonad + learn a bit of haskell. :)
<Icy-Thought>I wonder what modern day cabal is like tbh
<sham1>It's a lot better than it used to be years ago
<Icy-Thought>Good to hear that!
<sham1>But yeah, I obvs do prefer Guix over Nix for many things. For example, the documentation is just immaculate
<Icy-Thought>I guess I am approaching guix wrong... I should setup bare metal and run setup and expand from tehre
<Icy-Thought>Because I keep saying tomorrow...
<Icy-Thought>All I need for that is kmonad config (for bindings) + hyprland + noctalia + emacs.
<sham1>Well or you start with a VM or even use it initially on a foreign distro to get a hang of it
<Icy-Thought>VM is the plan :)
<Icy-Thought>But I gotta fight my ADHD somehow :P
<sham1>Yeah, that's a familiar struggle
<Icy-Thought>Do you by any chance speak swedish? sham1 ?
<sham1>I do want to note that because Guix is comparatively smaller than Nix(OS) in terms of userbase, some stuff may not be there and it's usually expected that people start contributing to the project sooner or later. For example Guix has Guix Home, which is a rough equivalent to Nix community's home-manager, but of course home-manager is a lot larger. OTOH Guix Home is built in as opposed to being a separate module
<sham1>No, not really. Had to learn it at school, but I'm not that competent with it
<Icy-Thought>Tbh I don't mind keeping my stuff in native config languages. Because that's what I mostly use home-manager for + the different services
<Icy-Thought>sham1: Jaha! Well, not going to write something in swedish then
<Icy-Thought>I did feel the missing packages thing before joining with the font I use. Even though famous, it's not on the main channels yet.
<Icy-Thought>maple-mono
<sham1>That's one of the nice things about the way Guix works. You can always add these packages to your own config and then use that in the process to getting them upstreamed
<sham1>I do that with the nerd font derivative of IBM Plex, which isn't upstream yet. I should probably get on that...
<Icy-Thought>IMO the nerd font module needs to be like nix's solution
<Icy-Thought>But then, I wonder if that is allowed
<sham1>Yeah, you can't do the thing that Nix does upstream, but it looks like the font should be buildable from source, which would be fine
<Icy-Thought>I wonder if NonGuix is the way for this, since it's a clean solution that makes all of them available on the get go
<cqst>Where can I find 'javac'? After installing openjdk from Guix?
<sham1>cqst: openjdk:jdk
<cqst>sham1: thank you
<apteryx>is there a way to limit the number of available cpu cores exposed in the build container, like --cores=1 would do on the command line?
<adanska>apteryx, you could have a look at the `parallel-job-count` parameter in guix/build/utils.scm, perhaps wrap the package with a `with-parameters` form? though idk if that would work.
<adanska>Actually, I'm looking through the source code rn and i cant see anything in the daemon code that suggests that the build container actually does anything to "expose" a certain number of cores to a process inside it
<adanska>I mean, I'm not that familiar with how the daemon works so someone else is far better equipped to discuss this, but all I'm seeing is a `NIX_BUILD_CORES` envvar that gets set inside the container, and then guix the build code honours that through the `parallel-job-count` parameter
<adanska>i'm probably missing something, but grepping around isnt showing anything to suggest that. However, you could use a `sched_setaffinity` syscall to make a process only run on specific cores... though idk how useful this would be
<untrusem>adanska: btw how is your emacs-team branch building going on?
<adanska>I've written the syscall bindings for guix in my own projects, as well as pretty much all of the `sched*` syscalls
<adanska>untrusem, I haven't been working on that branch! you must be thinking of someone else :p
<untrusem>ohhh yess my bad
<untrusem>csantob is the one
<untrusem>:p
<adanska>sorry my previous message didnt make any sense. I've written the `sched*` syscall bindings for guix in one of my own projects...
<adanska>untrusem, ahh i see, nw :))
<untrusem>PotentialUser-80: are you still there?
<Potentia`>Hello. I was wondering if there was a particular reason why Apache Spark is not packaged in Guix.
<csantosb>apteryx: ey, I just noticed there is a new home for guile-emacs, codeberg.org/guile-emacs/guile-emacs
<csantosb>I tried to switch url, but commit is wrong; any idea which one should I pick to update the package ?
<stfnbms>exit
<stfnbms>exit
<stfnbms>quit
<stfnbms>\q
<gabber``>is there a way to query the guix daemon to figure out whether it is busy or what it is doing?
<flagellumdei>guix for macos, when? :)
<gabber``>flagellumdei: as soon as it's implemented ;)
<gabber``>for some obscure reason i thought that the big issue was porting Guile, but IIUC this works just fine on macos
<gabber``>so, maybe, it's not that much of a hassle?
<oliverD>I just realized after downloading that the release has breaking Gnome changes or something? anyway files (i think technically nautilus) freezes when I open it.
<cbaines>what use is saying "as soon as it's implemented" if you're not specifying what should be implemented?
<oliverD>When I click the force quit button gnome crashes and I need to log in again
<flagellumdei>yeah, I would have loved to use it on macOS. I don't like the Nix language - much prefer Scheme/guile gabber``
<flagellumdei>Also, haven't really done any guix, but planning to play around in a VM and see if I like it. My experience with Nix was horrendous (ate up all my disk).
<flagellumdei>It was a tad disappointing to see that it's not supported at all on Darwin.
<gabber``>oliverD: by "release" you mean 1.5.0? i'd suggest getting the "Latest" snapshot
<flagellumdei>Is it an implementation issue (Apple's arcane permission model etc.) or more that Apple is a closed non-OSS platform? I thought it was the latter
<flagellumdei>And yeah, I've used guile on macOS - works very nicely. gabber``
<gabber``>cbaines: sorry, i meant "ported". also: would just ignoring the question be better?
<gabber``>flagellumdei: i don't think porting Free Software to non-free OSs is an issue, per se
<flagellumdei>Ah, I see.
<cbaines>gabber``, better than a answer open to misinterpretation at least
<gabber``>cbaines: please excuse me
<cbaines>I don't know much about MacOS, but it has been discussed in the past, e.g. https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00216.html
<gabber``>cbaines: i was a bit astonished to read your comment in 032d478a6cc
<gabber``>may i ask why you don't think it's useful as a formal system?
<flagellumdei>That's actually a nice comment by Chris - very readable. I believe the same issues still stand (maybe even worse now. Heh). cbaines
<cbaines>gabber``, I'm not a big fan of teams as they currently work in Guix for various reasons. Although, this isn't to say I would be against a more formal setup for teams, e.g. Sociocracy is something that's been discussed before and that seems like it could have some uses
<gabber``>flagellumdei: not sure whether i might be missing something, but i guess most of the evaluation goes against porting guix for macOS in mainline GNU Guix. i guess one could port it (with the mentioned impurities) outside of the project and have it still run
<untrusem>btw guix-1.5.0-64d4de2 substitute isn't available
<untrusem>test
<flagellumdei>Yeah, that makes sense, gabber``
<gabber``>cbaines: interesting! do you have any further reading suggestions for Sociocracy? i don't think i've stumbled over the term before
<gabber``>cbaines: may i inquire what you not like about how teams currently work?
<cbaines>gabber``, Sociocracy isn't something I have experience of, I first found out about it when it was discussed at Guix Days events
<cbaines>gabber``, on teams, one concern I have is that the structure of teams doesn't reflect how I'd like to see Guix as software itself structured (which is somewhat similar to Conway's law)
<cbaines>it's an active struggle to resist the language based silos that other package managers find themselves in, and I don't think the way most of the teams around packages are setup helps with this
<gabber``>cbaines: interesting! but wouldn't you agree that teams may be somewhat of the opposite of Conway's law? i.e. the organization which is formed from the software development?
<gabber``>WDYM with "active struggle to resist the language based silos"?
<cbaines>it's somewhat cyclical at least, so yes
<cbaines>gabber``, it's always tempting to just make things in Guix work more like other package managers for short term convenience, e.g. why not just use Bundler to package Ruby applications by downloading the Gem sources on mass, similar to how Rust apps are packaged in Guix? I've done this in the past on top of Guix.
<attila_lendvai>screenlock is broken after a recent pull (never activates). gdbus has changed: No such method “GetInhibitors”
<cbaines>but I want the long term benefits of packaging things properly, and the way to get there is by developing Guix with a broad view across software implemented in various different languages, not considering things on a language/team basis
<gabber``>cbaines: i see! and i agree!
<gabber``>i guess there is some tension between the most up-to-date rolling release distro with as many packages as possible and doing things right™
<stephen0>I'm trying to install guix on a librebooted t480. Install appears to go fine, but after choosing a boot entry on the grub menu, the text disappears and the background remains, but the system doesn't appear to be booting up.
<stephen0>I mounted the drive and went looking for logs, but there aren't any in var log.
<stephen0>Same system can take nix and boot just fine.
<stephen0>Any ideas?
<untrusem>nothing in dmesg too?
<stephen0>var log is empty, so no last dmesg, either.
<stephen0>Also it's an nvme system