IRC channel logs

2025-06-18.log

back to list of logs

<Gooberpatrol_66>has anyone ever got kmail working on guix? how did you do it?
<PotentialUser-52>Hi everyone
<PotentialUser-52>Im trying to package https://github.com/Toqozz/wired-notify
<PotentialUser-52>Does anyone know how to handle submodule dependencies in a rust Cargo.toml like here: https://github.com/Toqozz/wired-notify/blob/master/Cargo.toml#L8
<PotentialUser-52>Since the project isnt published to cargo I get errors when trying to build even if I package the submodule as its own package and add it to #:cargo-inputs
<viaken>On a hunch, try putting it in #:inputs instead?
<viaken>ajarara: I had weird 0 byte files on this system when I did a reinstall. I *think* the filesystem wasn't unmounting correctly and flushing its changes. Either that or my USB drive was faulty.
<Ironsmith>i have a new patch for guix to fix a bug, i noticed there are some pull requests in codeburg, is that for internal use only? or can i create a pull request there instead of sending an email?
<sturm>hi folks, I'm writing a guix service for mediagoblin. Is there a way to capture an existing config file and put that in the store? Can you point me to an example of this?
<sturm>(for example so that I can run in a vm and the supplied config file is copied in)
<sturm>... and is that a common approach?
<Ironsmith>sturm does mediagoblin not automatically create a config file in ~/.config if none is present?
<Ironsmith>i think that's the regular approach, and then in your home configuration you can have config files loaded to ~/.config through some config file services
<sturm>Ironsmith: it's a system service, so doesn't really use XDG config
<Ironsmith>ah ok, humm not too sure, i know there's a home-xdg-configuration-files-service-type for XDG configs, and there's also a home-files-service-type for other user configs, not sure if that fits what you're looking for though
<ieure>Ironsmith, Codeberg PRs are open for any and all contributions!
<ieure>sturm, In the case of daemons, the service usually creates the config file and passes the path to it in the arguments to the program.
<ieure>sturm, But, it depends on the service. Others will take a string or a file object for the config, but it otherwise works the same.
<ieure>sturm, The best is to have a configuration record which lets you do all the configuration with Scheme, code to serialize that out to whatever format the thing expects, and a service to do that / launch the daemon pointing to it. But it's a good amount of work and doesn't work great for every case.
<sturm>thans ieure, yes it's partly that work of programatically building out the config file which I'd be happy to defer for a while
<sturm>ieure: any examples of using a file-like object for config you can point me to?
<sturm>(as opposed to building the config up in scheme code)
<sturm>openstmpd looks like it might do that with its "config-file" option, but I'm just trying to understand where in the service this config file asset gets created
<mange>The one I just worked with was (mumble-server-configuration (file (local-file "..."))) which just uses the provided file as the config file.
<mange>Yeah, opensmtpd also does it with config-file.
<mange>If you look at opensmtpd-shepherd-service you can see that #$config-file is gexp-unquoted into the constructor as an argument.
<sturm>thanks mange. Is it magic in the gexp macro that includes the config file in the service then? I can't see anywhere where it looks like it's being built - I'm not very experienced with servicse though
<mange>The opensmtpd service doesn't build it's configuration, you just provide it a "file-like object" (see "(guix) G-Expressions" in the manual). Using such an object in a gexp-unquote puts in the name of the generated file in the resulting expression.
<mange>In this case, you might provide the config as (opensmtpd-configuration (config-file (plain-file "my.conf" "# whatever this config looks like..."))), and the gexp-unquote will save that to the store and put the filename into the opensmtpd shepherd service.
<sturm>thanks. Is it the "plain-file" that actually creates the file?
<sturm>or the gexp?
<mange>plain-file returns a file-like gexp which creates the file when it's built.
<mange>So in this case the gexp's result is forced by the outer gexp (the shepherd service). The file is added to the store because its path is needed for the shepherd service. And similarly, the shepherd service's gexp is forced by the shepherd-root-service-type that instantiates it.
<sturm>great, I think I understand. So the file is created because it's being referred to in the shepherd service - there's no explicit step of writing it to disk needed
<mange>Yep! Gexps are a declarative interface which hides the details of exactly when and where things are written to disk.
<sturm>thanks very much mange
<apteryx>is it possible to not receive codeberg notifications for merged changes?
<apteryx>that doesn't really need my attention
<sturm>how can you tell if an activation service-type ran after running `reconfigure`? Does it go into a log somewhere?
<sturm>mange: wow, I was expecting it to be more complicated than that - I literally just wrapped (local-file) around my config file path and it's now in the store, rather than being read directly from the path at runtime
<ajarara>ieure: (context is the gdm empty Accounts.conf issue causing xorg-server to fail) fsck on the whole filesystem was clean (I have everything but the ESP on one luks partition), using a latest guix install USB boot, when pulled to 3bd7d7e, showed a normal accountsservice build, everything's okay after a reinstall (and I took the liberty of moving back to btrfs, wanted to do that before this anyway)
<ieure>ajarara, Weird.
<ieure>ajarara, Glad it's sorted.
<ajarara>sames. Good night!
<tusharhero>Hello, I am trying to use guix system vm, with this config: http://dpaste.com/7RAD238Q6, I try to run it, I get this error http://dpaste.com/9BZU8FLKY.
<tusharhero>I hadn't setup libvirt service
<lilyp>hey, quick question: are the python build failures with the unprivileged daemon fixed on any branch?
<tusharhero>Setting libvirt didn't work either.
<noe>tusharhero, try this https://stackoverflow.com/a/49717572
<tusharhero>noe: thanks! That worked!
<efraim>As part of an impromtu homeschool lession with my daughter we were going to fix the test suite of grub on riscv64, but instead we enabled the test suite of grub-efi and grub-efi32 for x86* and arm*
<efraim>pull requests #656 and #657
<olndrxyz>Hi, what module does "home-dbus-service-type" require?
<noe>olndrxyz, try running “guix home search dbus”
<noe>it will tell you that it is in the (gnu home services desktop) module
<olndrxyz>noe: thanks, I got confused because in the system config dbus gets declared with its own module
<noe>no worries
<PotentialUser-30>Hi. Are you aware of CVE-2025-6019 related to Guix's current libblockdev? Version 3.3.1 was released recently, so we should incorporate this
<apteryx>sneek: later tell civodul should we sunset the guix-commits mailing list? I see no one subscribed to it, and it's still watching the old Savannah repository, which is a mirror. Seems a waste of resources.
<sneek>Will do.
<futurile>Afternoon
<futurile>Anyone got time to check a hash on an upstream Perl source, I'm getting a mismatch and want someone to verify it (in case I'm doing something wrong)
<noe>futurile, send the link
<noe>Just need to run guix download on it right?
<lilyp>`guix download URL` will give you a hash
<lilyp>only works for url-fetch resources tho
<futurile>also I'm checking the CHECKSUMS file to make sure that what the package is downloading is what the upstream developer thought they'd published
<futurile>I normally do this: guix hash --format=hex Compress-Raw-Zlib-2.213.tar.gz (having downloaded the source)
<futurile>doing something wrong as it normally works - gah too hot here
<lilyp>oh, actually you can do git stuff apparently, with --git
<lilyp>instead of using guix hash, I'd rather use sha256sum et al. directly, but on the store reference
<futurile>ah good idea
<lilyp>this prevents differences in guix' base-whatever implementations of fudging the output
<futurile>ah it was me error
<futurile>thanks Noe - saved me looking silly emailing the developer :-)
<noe>hahaha no problem :)
<futurile>hmm I get a different sha256 if I run sha256sum /gnu/store..., having downloaded with guix build --source. So I can't check the sha256 in the CHECKSUMS versus what we put into the store.
<futurile>I guess we 'do something'
<ieure>Anyone else also seeing this with emacs-magit? https://codeberg.org/guix/guix/issues/659
<old>ieure: great. I will avoid upgrading until this get fixed ..
<apteryx>looks like we shouldn't rebase in-between force-pushes to keep the comparison useful
<apteryx>(diff comparison between updates)
<mange>ieure: I'm on 7ac1075cd606358bd98ca522bfe908ad4af48c14 and rebasing seems to work fine for me.
<ieure>mange, hmmm
<mange>The log of commits that differ between your and my Guix commit don't look immediately suspicious to me.
<frankie>uhm, on guix pull as user I got 'warning: failed to load '(guix platforms loongarch)':
<frankie>In procedure abi-check: #<record-type <platform>>: record ABI mismatch; recompilation needed'. Nothing like that as root.
<frankie>any suggestion?
<avalenn>apteryx: I'd love a forge which know to display range-diff between two push on same branch
<luca>Doesn't codeberg do that? For example https://codeberg.org/guix/guix/compare/f3cc7d1a03ba86af566983b081fa4aad557690b6..9f3f6e85fb66fdc80fd0f39868520d5649be8d76 (for the PR https://codeberg.org/guix/guix/pulls/598)
<csantosb>Do we have a link to what exactly approving changes mean in codeberg ?
<csantosb>Seems like an extra layer of something I ignore
<ieure>csantosb, Because of our need to have signed commits, it's a little superfluous.
<ieure>csantosb, The usual flow for a forge workflow is pr -> review -> approve -> merge. You generally cannot merge a PR until it's approved by someone with permissions to approve it.
<ieure>csantosb, But since we don't use the forge tooling, it doesn't gate merging like it's intended to.
<ieure>I'd consider it to be the equivalent of anyone saying "LGTM" in an email patch review.
<icy-thought>Do we have something like nix's nerd font patcher somewhere in guix?
<icy-thought>Because I cannot see any nerd font for victor mono in the guix packages
<icy-thought> https://github.com/NixOS/nixpkgs/blob/nixos-25.05/pkgs/data/fonts/nerd-fonts/default.nix#L77
<icy-thought>Is what I am thinking of (ignore the line tag)
<ieure>icy-thought, Looks like there's a very stale patch for them, where the contributor abandoned the work: https://issues.guix.gnu.org/44575
<icy-thought>Oh shucks :S
<ieure>Another adjacent one here: https://issues.guix.gnu.org/67808
<icy-thought>This is going to be a very interesting migration
<icy-thought>I wonder how many packages will be missing in the end of the process lol
<ieure>icy-thought, If you want to look at those patches and get one cleaned up and PR it to Codeberg, that's likely your bets route.
<icy-thought>I will try to dabble with it after I have a working setup up and running
<icy-thought>(most likely horrible scheme code by then)
<ieure>icy-thought, Depends how involved the contributors are. I have stuff still sitting in debbugs, but have been pulling things over as I have the bandwidth to give them the attention they need.
<ieure>I will say that since moving to Codeberg, review seems to have picked up quite a bit.
<icy-thought>I don't blame anyone tbh
<icy-thought>Don't know if anyone has mentioned this before, but we could use something like a bot to check for package updates
<icy-thought>Nix has ryan-tm
<icy-thought>or whatever the username was
<ieure>Yes, this has been discussed.
<icy-thought>Oh cool!
<ieure>I don't think anyone has done anything to actually make it happen, but... it's been discussed.
<icy-thought>Hmmm... time to figure out how to get taffybar over to guix. Otherwise I have no status bar lol
<icy-thought>Oh well
<icy-thought>Now here is anotehr question, since I cannot get guix site to work. (502)
<icy-thought>Is there such a thing akin to cabal2nix
<ieure>No idea what that is.
<ieure>What site are you trying to reach? https://guix.gnu.org/ is working for me.
<icy-thought>The guix packages site
<icy-thought>cabal2nix just tells nix to build a package by translating the cabal file
<icy-thought>For haskell packages -> working nix build instructions
<ieure>icy-thought, Ah. The Guix functionality is built-in: https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-import.html
<ieure> https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-import.html#index-hackage rather
<icy-thought>WTF that is so cool!
<ieure>You usually need to do some light hackery afterwards, but it gets you most of the way there.
<icy-thought>Going to test that out!! Thanks for mentioning it ieure
<icy-thought>Wonder how the bot for thanking works (if it was here I saw it)
<ieure>icy-thought, I don't think we have anything like that. Human thanks are fine with me.
<icy-thought>Hehe, then it must've been somewhere else.
<icy-thought>Nonetheless, thanks
<ieure>icy-thought, You'll want to use the -r flag on that import command, that'll also include any dependencies that aren't already packaged.
<icy-thought>Oh
<icy-thought>So it's downloading atm, let's see
<icy-thought>If that works, that is cool af!
<ieure>Like I said... you usually need to tweak it a little.
<ieure>But it is very handy.
<icy-thought>It did generate a whopping 1.3k lines file
<icy-thought>Interesting!
<icy-thought>Not file, but I did pipe it into one
<ieure>icy-thought, The manual has options for adding it to files.
<ieure>*the manual details the options...
<icy-thought>I am going to do more reading :)
<icy-thought>-i okie
<oceane>hi, guix pull won't errm, compute the derivations, complaining about a commit that isn't the descendant of another. i don't think this is related to the commits themselves, and guix pull kindly suggests me to allow the computation of the derivation.
<ieure>oceane, 99% sure I know the issue, but what are the commit IDs, please? Or use a pastebin to share the exact message you're getting.
<oceane>sure, thank you ieure. is https://0x0.st/867W.txt what you need?
<oceane>would you like me to paste the full message? (i was trying to copy them individually, but i couldn't paste them into catgirl(1)).
<ieure>oceane, That's fine... I was asking for the commits (directly in IRC) or the full message in a pastebin, but, I have what I need.
<oceane>i'm halfway through uploading the full message!
<ieure>oceane, tl;dr some commits were accidentally pushed to Savannah after the Codeberg cutover, then they had to be removed and Savannah force-pushed. You were unlucky enough to pull when they were there. Do what the message says and --allow-downgrades.
<oceane>anyway, that's a bit rough.
<oceane>thank you!
<ieure>No problem, sorry for the disruption.
<oceane>oh no worries, thanks for the irc chan!
<oceane>is there a way to notify every guix user?
<oceane>(i.e. in the system itself)
<ieure>oceane, No. :( The only mechanism for that is channel news, but they can't pull the channel because of the issue.
<oceane>ah snap…
<oceane>maybe that should go directly on the guix front page?
<ieure>Would be nice if there was somewhere we could point folks to, yeah. Not sure if the front page is that.
<oceane>i don't think so, that looks more like "this man has some potential for becoming a corpse, let's perfore the abdomen" than a clean fix
<oceane>hmm just a joke, not comparing guix users to corpses
<oceane>but indeed the onboarding process in floss is generally rather bad, and that of guix is astounding honestly. 700 pages of documentation almost fully localized.
<oceane>the cli speaks my language, it's rather intuitive, and the ux is praised here and there. at worst guix users could rollback.
<oceane>i love guix enough to compute it on my pinephone, but
<ieure>Yes, the transactional stuff is excellent.
<oceane>indeed
<oceane>maybe we could make some of its main features more obvious on the front page.
<oceane> https://bazzite.gg could be used as a model because they're clear, concised, and focused on the actual needs of gamers
<oceane>good front page iirc
<oceane>and speaking as a blogger i'd suggest to start with that then build incrementally about reproducible research, rather than treating academics as… another breed of users, if i may say this?
<oceane>would you be interested in an alternative proposal? building on the excellent work that's been done by the guix and bazzite teams, but reorganizing information a bit.
<oceane>actually just smoothing the transitions between the categories.
<podiki>when using a guix vm image, there is no system configuration from inside the running image? guix system describe doesn't show a configuration file