IRC channel logs

2025-11-19.log

back to list of logs

<JodiJodington>dang
<ieure>The only recent WiFi card that doesn't need firmware blobs is ath9k, which is very long in the tooth.
<vagrantc>i have put a usb wifi on a long usb extension cord to be able to better place it on occasion :)
<ieure>vagrantc, USB extension cables are so good. I feel like they're not popular, maybe folks just don't know you can do that.
<waffles>alright so i got -2 on intel wifi
<waffles>the usb wifi shows up in guix but when i try to write a wpa_supplicant.conf i get driver does not support authentication/associated or connect commands
<ente>ieure: doesn't ath9k just have hardcoded blobs?
<ente>if so, that kinda sounds worse to me than blobs that can be replaced
<waffles>this looks like its gonna be difficult
<waffles>i may need to disable my radeon 9000 gpu in grub
<ente>I'd like to see a real open wifi chipset in my lifetime
<waffles>that didnt work either i think my hardware is gonna have issues
<JodiJodington>did you try `nomodeset`? that should be enough to get a tty going no matter what card you have
<waffles>yeah tty works fine i just cant get a graphical display
<waffles>i think ill eventually just need a libre computer
<JodiJodington>waffles: a graphical display somewhat works with nomodeset fwiw, but yeah youll probably want hardware rendering at some point lol. You can always pull proprietary linux-firmware and linux and still use guix as well, it shouldn't be a deal breaker
<apteryx>sneek: later tell yelninei re curl update, I can't find it, I would have assumed it went to the gnome-team but it looks like it isn't there. Maybe I can add it to the mini world rebuild branch.
<sneek>Okay.
<RavenJoad>Does Shepherd's Guile interface have a way to list all services? I'm writing a Guix system test and need to find out why my service-type's shepherd-service is not running, but works in the real world.
<mange>I'm confident it does, but I don't know what it is. The "status" action of the root service is supposed to list all the services, I think?
<mange>I don't know what you're using, but in herd.scm there's (current-services) which should return a list of <live-service> records. If that isn't what you want, the code there might help you anyway.
<RavenJoad>mange: I am writing a Guix VM full-system test for a service-type. I call (current-services), but seem to get nothing back. I saw the 'status stuff in shepherd's code itself, but that's separate from the commands I can use from (gnu services herd).
<mange>Just making sure: you're using the marionette stuff, and marionette-eval to run (current-services)?
<RavenJoad>Yep. (test-assert "check services" (marionette-eval '(begin ... (current-services))))
<mange>Hmm. That's about the limit of my knowledge, unfortunately.
<RavenJoad>No worries. I can ask again later when others are online. I'm confused because the sibling service-type (which provides the same service with a different package) _does_ work. Both of them rely on the same support in the VM, so I'm trying to narrow down what is different.
<trev>Can you call `guix system reconfigure ..' from guile?
<trev>i want to make a helper guile script that can be added to my path and i can call it like `guix-reconfigure [system`
<trev>[system|home]
<trev>i found it, i think
<gabber>is there an example on how to use copy-recursively with the #:select? argument? i try to only copy files whose names start with "lib" or some other string but my lambda seems to not work - copy-recursively does not copy at all... https://termbin.com/niwq
<gabber>ok, i think i got it
<cbaines>there's a lot of spam issues on Codeberg this morning...
<efraim>cbaines: I figured out how to report an issue, codeberg does the actual deleting or can we do that too?
<cbaines>efraim, I've been deleting them
<cbaines>maybe blocking the users at the organisation level would help also, I haven't been doing that yet
<efraim>I looked at a few, registered nov 10, and the issues they've opened are all spam
<efraim>so I think blocking is an acceptable action
<civodul>rekado: howdy! just stumbled upon https://codeberg.org/guix/guix/commit/a77f4fb279b96f2707b475531b60ca36417bde69 and i think it should use ‘package/inherit’ (to get the libxml2 replacement)
<efraim>so far looks to be new issues only
<civodul>rekado: i noticed because of an r-future build failure when ungrafting: https://ci.guix.gnu.org/build/15640682/details
<dthompson>what's the freshest webkit-based browser in guix?
<dthompson>I'm looking for something that is approximately equivalent to safari 26
<dthompson>the git blame of (gnu packages webkit) is leading me to believe that guix is way out of date, though, by over 6 months perhaps
<identity>dthompson: a wild guess: epiphany, perhaps on the gnome-team branch?
<dthompson>identity: unfortunately not. webkit is still over 6 months out of date there.
<rrobin>2.48 is the gtk3 lib variant right?
<dthompson>yes and that hasn't been updated since april
<rrobin>yeah - also guix refresh seems unable to find newer releases
<dthompson>must be an issue with the tool. 2.51.2 was released yesterday.
<dthompson>I'm gonna try making a local epiphany variant with the latest webkitgtk and see how many issues that causes
<dthompson>not having access to a recent webkit browser on my workstation is slowing me down. I have access to safari 26 on an ios device but no dev tools and it's a terrible workflow anyway.
<rrobin>ping if you need some compute to build it, at least i can throw a machine at it
<dthompson>thanks! I think I'll be fine on my laptop
<dthompson>it takes awhile but it's faster than building chromium, particularly v8
<rrobin>not many things would beat chromium i suspect
<dthompson>I'm grateful I'm not on the bleeding edge of v8 features rn because I hate building it from source
<rrobin>are you working on browser/website testing or something
<dthompson>rrobin: I do some webassembly work that requires pretty recent web browser engines, particularly for webkit as they've lagged behind the other engines
<ieure>Hmmm, Guix Home has an implicit dependency on elogind-service-type.
<ieure>I just set up a box that's going to run headless, so didn't bother with any GUI stuff. After setting up Guix Home and logging back in, it complains that $XDG_RUNTIME_DIR doesn't exist, and can't run the on-first-login script, so my Home profile isn't set up correctly, so I'm missing a ton of stuff.
<ieure>Indeed, $XDG_RUNTIME_DIR (/run/user/1000) does not exist. Adding elogind-service-type to the system config will create it when I log in, solving the issue. But feels weird that Guix Home requires something from (gnu services desktop) on a headless box with nothing but a text console.
<yelninei>cant you just set/create XDG_RUNTIME_DIR manually upon login?
<sneek>Welcome back yelninei, you have 1 message!
<sneek>yelninei, apteryx says: re curl update, I can't find it, I would have assumed it went to the gnome-team but it looks like it isn't there. Maybe I can add it to the mini world rebuild branch.
<ieure>yelninei, I think this stuff is happening before anything I can affect in my Guix Home config. And /run/user is on tmpfs, so a manual mkdir only solves the problem for one boot.
<yelninei>ieuere: my .profile first sources .guix-home/setup-environment before it runs .guix-home/on-first-login so you could move XDG_RUNTIME_DIR somewhere else with home-environment-variables-service-type. Also you could try seatd which is a simpler alternative for logind
<ieure>yelninei, I appreciate your suggestions, which are all valid. But my issue isn't that I don't know how to fix it, but that I *have to* fix it. I think it should work out of the box.
<pomel0>hi everyone
<PotentialUser-85>Hey I'm thinking about how to organize configurations. I have 2 computers needing slightly different configs (different file system, different packages). My initial though was to create 2 configs for both, but they inherit "base-operating-system" variable so they only change what's needed, but calling `load` is not great since my configs are in a
<PotentialUser-85>user dir. Also, to create this "base-operating-system" I need a file system - which will not be known at that point. Is there a simpler way?
<ieure>PotentialUser-85, I put a bunch of common stuff into transformation functions I can apply to a base config, and stuck them in my personal channel: https://codeberg.org/ieure/atomized-guix/src/commit/f1d4dbcd42d51d4b1c36fc7df2fa379a493fccfb/atomized/system/profiles.scm
<ieure>PotentialUser-85, The operating-system for any given machine is just the hostname, bootloader, and file-systems. Then make a transform with: (compose +base +intel +ssh) -- and apply it to your operating-system.
<ieure>PotentialUser-85, ex. (define %os (operating-system (host-name "whatever") ...)) -- then (define xf (compose +base +ssh ...)) and the last line is (xf %os).
<ieure>PotentialUser-85, I have the public channel with the general stuff, and a dotfiles repo with the machine configs. I don't really want to leak stuff like disk UUIDs, internal network names, paths, etc etc. So those all stay private.
<PotentialUser-85>I think I need to read up on how to define modules and use them with guix then - this looks really cool!
<PotentialUser-85>btw... is leaking disk UUIDs bad
<PotentialUser-85>because I do have them public and never thought about it
<nckx>No.
<nckx>I mean, at worst people can see that, hey, this is the same person posting these 2 different bug reports, or something.
<ieure>PotentialUser-85, It is a negligable risk, but I prefer to stay frosty and keep stuff close unless there's a specific reason not to.
<identity>PotentialUser-85: defining modules is pretty simple, really. you put (define-module (modulename) …) at the top of modulename.scm, then import the module in other source files. then, you add --load-path=directoryname to your guix commands, where directoryname/modulename.scm is the location of your module, so if it is in the current directory you can just do -L .
<ieure>PotentialUser-85, But there's other stuff in play, like SSH/GPG keys, known_hosts files, private key to use my Guix builder, etc etc. Plenty of other things that definitely shouldn't escape.
<identity>see (info "(guile) Creating Guile Modules") for details
<PotentialUser-85>Is there a way to.. not have to add the `-L`? I can define a channel for that, right?
<identity>defining a channel for that is overkill
<PotentialUser-85>fair
<FuncProgLinux>Just noticed go doesn't pull a C compiler x.x should I add now gcc-toolchain to my manifests for development?
<ieure>FuncProgLinux, Go's self-hosting, right? Why would it need a C compiler?
<FuncProgLinux>ieure: Not by default. It needs CGO_ENABLED=0 to be explicitly set to avoid linking to C. Though is more of a lazyness thing since idk how to set env vars inside a manifest shell
<FuncProgLinux>I tried (setenv) inside the manifest but it didn't work. I kind of got something working with $PATH when making a deno wrapper for Guix.
<ieure>FuncProgLinux, linking to libc is completely different from using a C compiler.
<FuncProgLinux>ieure: It does complain about a c compiler: cgo: C compiler "/run/current-system/profile/bin/gcc" not found: exec: "/run/current-system/profile/bin/gcc": stat /run/current-system/profile/bin/gcc: no such file or directory
<ieure>FuncProgLinux, Interesting, I wonder why the package doesn't have that as an input, then?
<FuncProgLinux>ieure: I don't know. If you use pure-go libraries or stdlib only you should be able to get away with CGO_ENABLED=0 but as far as I know that won't work when you need libraries linked to C
<efraim>'gcc' is too short a string to easily check the go binary for references to gcc using 'strings'
<FuncProgLinux>I do like the language but now I wonder why that behaviour would be the default one ?-?
<efraim>sometimes I do end up tossing gcc-toolchain into an environment just to make sure the expected binaries and libraries are available
<FuncProgLinux>Given that most workflows run in containers and are linked against Musl one would think static binaries would be the rule of thumb
<hanker>Is there something to run flask applications in the guix shepherd?
<hanker>like a gunicorn service or so
<look>ieure: see https://issues.guix.gnu.org/59983 for the reasons why 'on-first-login' should not create XDG_RUNTIME_DIR
<FuncProgLinux>hanker: Not that I'm aware of. I know there's an NGINX service and gunicorn is in the repositories. But idk about a shepherd service itself
<FuncProgLinux>I still haven't figured out how to write shepherd services :/ and I do need to learn to get xdg-desktop-portal-xapp for XFCE/Cinnamon/MATE Desktops to be able to use online accounts and flatpak portals
<Rutherther>Xdg desktop portals are dbus services, they should not really be ran through shepherd
<Rutherther>And for the implementations specifically, those are started by the main Xdg desktop portal 'bridge'. And this one is started by dbus itself
<FuncProgLinux>Rutherther: I see. I still don't know how does the "porting" process work with [Service] Type=dbus :/
<Rutherther>It doesnt. Thats a systemd way of managing dbus services with systemd dbus implementation. Its not necessary at all with shepherd or other non systemd init systems
<FuncProgLinux>I see. That's a relief then because that was also shipped in bamf and that's needed for plank to work
<Rutherther>Standalone dbus manages services by itself, its just the dbus-broker implementation that utilizes systemd definitions like that
<Rutherther>Packages with dbus services should generally ship share/dbus-1/services or something like that, remembering from top of my head. Then those are picked by dbus if they are present in its XDG_DATA_DIRS
<vagrantc>has guix's codeberg setup been getting spam issues and/or pull requests?
<cbaines>spam issues at least
<Rutherther>Definitely. But those are usually promptly removed by codeberg so you might not notice them
<Rutherther>Today I saw one on release planning repo and someone xlaimwe they saw on guix iiuc
<Rutherther>s/xlaimwe/claimed
<vagrantc>ah, reproducible builds is explorign switching to codeberg and first thing i noticed was getting a few spam issues (at least most got closed fairly quickly)
<vagrantc>was just curious how guix compared, having "recently" done a switch to codeberg
<cbaines>today was the first time I saw spam issues
<vagrantc>ah, so it must be a new botnet wave or something ...
<vagrantc>cbaines: thanks for helping me get a sense of it
<FuncProgLinux>cbaines: I have seen some gitea/forgejo instances getting spammed by registration bots.
<cbaines>ok, I guess that could be a problem for Codeberg, it won't affect us directly though
<FuncProgLinux>is it possible to list guix licenses on the REPL?
<FuncProgLinux>oh nvm, the emacs guix thing has a way to list them :P
<civodul>FuncProgLinux: not conveniently, you have to use ‘module-map’ for instance to iterate over the bindings of the (guix licenses) module
<civodul>but yeah, M-x guix-licenses :-)
<FuncProgLinux>civodul: Oh I see. Thanks a lot! :)
<FuncProgLinux>Oh no, we don't have apache2.0 D: is that a proprietary license?
<FuncProgLinux>or is it the same scenario like MIT being expat in reality?
<vagrantc>or spelled apache-2.0 or soemthing
<Rutherther>it's asl2.0
<FuncProgLinux>as in "apache software license"
<vagrantc>yay for TLAs!
<pjmg>Hi! Anyone using guix on a foreign distro and bitlbee? (beginner here) I installed bitlbee to use discord with an IRC client but really don't know hoy to run it, and could use some help :)
<FuncProgLinux>Thanks a lot for the help! I appreciate it :)
<janneke>any idea when / how do i find out when / team-rust branch might get "merged"?
<civodul>hey janneke! the list of pending merges is still at https://qa.guix.gnu.org/
<civodul>apparently there’s no request to merge ‘rust-team’
<janneke>civodul: thanks!
<civodul>pjmg: i use BitlBee but only through the Guix System service; maybe that could serve as inspiration?
<janneke>ACTION may have to package a version that doesn't need rust 1.88 then
<pjmg>civodul: It could! just found that the Guix System documentation mentions the discord plugin. Will investigate a bit more because I cant move right now to the System, but maybe that is the only way to go. Thanks! :)