IRC channel logs


back to list of logs

<ahriman>Hello, I am trying to package shortwave and during the build, meson calls cargo. Is there a way to pass #:cargo-inputs to meson-build-system?
<singpolyma>ahriman: you shouldn't need #:cargo-inputs anymore anyway
<singpolyma>Just regular inputs work
<ahriman>i see
<ahriman>thank you! :D
<abhicherath[m]>ahh, I've submitted the bug report for the node-gyp issues I was having a couple days back
<ahriman>I am running into the problem that cargo.toml has as dependency rust-cast="0.16" but guix search rust-cast only shows 0.3 and 0.2
<ahriman>Is packaging something written with rust a very involved process?
<AwesomeAdam54321>ahriman: Yes
<AwesomeAdam54321>but it shouldn't discourage you from trying
<ahriman>it wont
<ahriman>so guix has a package per version of every rust lib?
<AwesomeAdam54321>ahriman: Yes, but only if the libraries are incompatible
<apteryx>ACTION tries latest mesa and libdrm to see if it resolves nouveau opengl problems when using Linux 6.0.8 (
<podiki[m]>wonder what the kernel changed, though mesa in master is pretty outdated at this point
<apteryx>hmm, switching our mesa to latest (22.2.4) didn't improve anything with my opengl on top of linux 6.0.8
<csepp>could someone restart the jupyter build for i686 if it hasn't already been restarted? seems like it ran out of space on the git dependency:
<ahriman>git-reference with (recursive? #t) is not cloning git submodules, is there another way?
<omlet[m]>missing software in guix for me... (full message at <>)
<lilyp>ahriman: that'd be cursed if true
<lilyp>did you check the hash?
<ahriman>oh wait no
<lilyp>if you already have the checkout cached, you need to flip a bit to cause a rebuild
<ahriman>I see, will try
<omlet[m]><lilyp> "omlet:" <- how can I add packages on the site?
<omlet[m]>Speak about river
<apteryx>nckx: uh, regarding linux kernel bug reports: "Locate the driver or kernel subsystem that seems to be causing the issue. Find out how and where its developers expect reports. Note: most of the time this won’t be, as issues typically need to be sent by mail to a maintainer and a public mailing list."
<apteryx> (
<FareTower>has the fortune-mod package been removed?
<FareTower>(answer: yes, says git, because fortune-mod contained "non-nice things"... whatever that means)
<AwesomeAdam54321>Can someone look into this bug in Guix's GCC package?
<AwesomeAdam54321>It's a blocker to adding more GNUStep packages for Guix, unless the compiler should be changed to Clang for all of them
<FareTower>my yubikey seems to work in a terminal, but in either chromium or firefox, it fails. Is there something special I need to do to configure fido? I do have pcscd running, but didn't configure it specially. I didn't do anything with udev either.
<FareTower>pcscd seems to detect the yubikey when inserted: when started with -d, it outputs a Card ATR line.
<podiki[m]>FareTower: not sure you saw my messages before, but I've had to include udev rules
<FareTower>podiki[m], where do I find those udev rules?
<FareTower>I saw that you mentioned pcscd and these udev rules, but it's not obvious what rules I need to put where
<FareTower>ACTION googles and finds
<FareTower>Assuming I have a copy of this file---how do I convince guix to install it in /etc/udev/rules.d ?
<podiki[m]>take a look at udev rules in services in the manual, but here is what you want:
<podiki[m]>in your services: (udev-rules-service 'u2f libu2f-host #:groups '("plugdev"))
<podiki[m]>libu2f-host is deprecated, I think you should just replace with libfido2 but I haven't yet done that myself
<podiki[m]>will also need the (gnu packages security-token) module in your system config if you don't already
<raghavgururajan>When a package name is changed in a new version upstream, do we usually change the name in existing package-definition or create a new package-definition with the new name and inherit from older definition?
<raghavgururajan>FareTower: Under services in system config, you could create a `simple-service` and extend `udev-service-type` to include your new rules.
<raghavgururajan>FareTower: Ah! May be what podiki[m] mentioned.
<ph03n1xaimverncc>Hi raghav!
<lilyp>FareTower: if you need fortunes, use daikichi with fortunes-jkirchartz – or package your own fortune database
<jpoiret>hi guix!
<unmatched-paren>morning jpoiret, and morning guix :)
<jpoiret>been a long time :( trying to get back into it (and the 700 unread mails aren't helping)
<unmatched-paren>heh, i know that feeling :)
<unmatched-paren>i wonder how long it will be before i give up on reading Every Single Mail
<jpoiret>you still do??
<jpoiret>tbh, I think managed to do that when I was reading them every day, but I haven't managed to do that for the past 2 months
<unmatched-paren>i use aerc's V and mr commands to select and mark-as-read the ones i'm not interested in, and i occasionally do /search -u to see if any escaped
<jpoiret>oh, that's what I do with notmuch in emacs as well
<PotentialUser-30>Hi, wish you a good sunday...
<unmatched-paren>PotentialUser-30: hello!
<PotentialUser-30>i created a variation of gst-plugins-good with qt. It's name is gst-plugins-good-qt, see
<PotentialUser-30>I "installed" it with guix build -f gst-plugins-good-qt.scm
<PotentialUser-30>Now a want to use it for a nheko-qt variant. I created nheko-qt.scm, see
<PotentialUser-30>But when i try to compile i get error messages, for ex. "no code for module (gnu package gst-plugins-good-qt)"
<PotentialUser-30>Whats the right way? What did a miss. Is there a quick and dirty way without creating channels? Thanks again for your kind help !
<unmatched-paren>PotentialUser-30: if you want to do that without a channel (channel is highly recommended by the way :)) you need to create a directory for your packages
<unmatched-paren>and put all your files in there, and make them all modules by using define-module
<unmatched-paren>and then use guix install -L package-dir to install them
<unmatched-paren>also, if you do that, you can remove the return value at the end of the files
<unmatched-paren>this is messy and i would advise you to create a personal channel
<PotentialUser-30>OK. I tried already with use guix install -L package-dir but didn't work. But I try again and report!
<unmatched-paren>moke sure to replace the use-modules forms in each file with (define-module (FILENAME-WITHOUT-DOT-SCM) #:use-module (...) #:use-module (...) ...)
<PotentialUser-30>BTW: I use the webclient for chatting. Is there a good chat client you guys would recommend? hexchat? weechat? Others? Emacs? ;-)
<unmatched-paren>and to import one of the other modules, use #:use-module (FILENAME-WITHOUT-DOT-SCM)
<unmatched-paren>guile module names *must* strictly follow the directory layout
<unmatched-paren>so any (gnu packages *) must be at gnu/packages/*.scm
<unmatched-paren>user_oreloznog: hi!
<user_oreloznog>Hi unmatched-paren!
<PotentialUser-30>With guix build -L /home/joe/guix-pakete/ i get:  no arguments specified, nothing to do
<unmatched-paren>PotentialUser-30: you need to do guix build -L package-dir PKG
<unmatched-paren>because it just adds that directory to the load path
<PotentialUser-30>I thougt that and tried: With guix build -L /home/joe/guix-pakete/ nheko-qt i got:  failed to load '(nheko-qt)
<unmatched-paren>could you put both files on
<PotentialUser-30>Should i paste again?
<PotentialUser-30>Is dpaste also OK? (besides the problem with the missing backslashes) Is there a registration needed for ?
<unmatched-paren>PotentialUser-30: yeah and no
<PotentialUser-30>Here we go: and
<unmatched-paren>PotentialUser-30: you need to use (gst-plugins-good-qt) instead of (gnu packages gst-plugins-good-qt)
<PotentialUser-30>Aaaaah - oooh my dear...
<PotentialUser-30>Seems it compiles now... We'll see :-)
<PotentialUser-30>Thanks again
<unmatched-paren>No problem :)
<PotentialUser-30>gnu/store/k5zyndx4l7wn5gqpdg627a7ppahzhkr0-nheko-qt-0.10.2   :-)
<PotentialUser-30>What would i do without you... :-)
<PotentialUser-30>Dont know if  it's really a guix question: The new nheko-qt doesnt find the changed gstreamer plugin. Is  there an automatism in guix for the plugin search paths or do i have to dig again in the build itself and patch?
<unmatched-paren>PotentialUser-30: the search paths *should* be set up automatically
<unmatched-paren>PotentialUser-30: though i think you need to use (modify-phases (list #$@(@@ (gnu packages gstreamer) %common-gstreamer-phases)) ...)
<yarl>Hello guix!
<omlet[m]>Whats is the oficial guix group in
<unmatched-paren>omlet[m]: there isn't really an official guix matrix
<omlet[m]>unmatched-paren: I see
<omlet[m]>Its irc
<omlet[m]>But i can speak woth bridge
<unmatched-paren>omlet[m]: why not just use irc?
<unmatched-paren>without the bridge, i mean
<omlet[m]>unmatched-paren: Not os federation
<omlet[m]>* Not is federation
<unmatched-paren>omlet[m]: ?
<omlet[m]>IRC can your problems for me old
<omlet[m]>unmatched-paren: XMPP
<PotentialUser-30>unmatched-paren: Thank you. Even more down the rabbit hole ... :-)  But i think  i should read the Scheme Primer first !
<user___>there is no advantage on xmpp or matrix over irc
<omlet[m]>Are more advanced in my opinion than irc
<unmatched-paren>omlet[m]: Sorry, i'm not sure what you mean by that?
<unmatched-paren>oh, right
<omlet[m]>, all with matrix servers
<user___>the biggest difference as that you can use images/videos on matrix
<unmatched-paren>the more advanced features can cause problems when interacting with irc
<unmatched-paren>they're largely useless anyway imo
<omlet[m]>user___: Only this my opinion
<user___>omlet[m]: But what do you mean by advanced?
<user___>I respect your opnion, just tryng to figure out
<unmatched-paren>long messages are truncated and put on some matrix text paste site, which is quite annoying
<user___>I already run my own matrix server and also irc, but never a jabber
<unmatched-paren>the images are put on a media host thing, so it's exactly the same as if you just uploaded the image to the internet
<omlet[m]>user___: Its free software too, for me its better use XMPP And matrix, irc its sam with, good for family, but not good for groups
<user___>Matrix is good when you run your own server in a non federated way, or if some of your friends run this
<unmatched-paren>as i said, the extra features of matrix are pretty much useless across the irc bridge
<user___>Well, I cant see the difference
<user___>the biggest problem with irc and even xmpp is that lots of people refuse to use
<omlet[m]>user___: Federation is the key
<omlet[m]>Peertube GNU social pleroma akkoma Mastodon all woth same federation protoccol
<user___>Because they dont like the clients
<unmatched-paren>omlet[m]: irc does federation, technically :)
<user___>I think efnet doest federation for real
<omlet[m]>user___: Its only package the CLI or tui cliente for guix
<unmatched-paren>omlet[m]: ah, is the problem that there are no GUI irc clients in Guix?
<user___>BUt there is pidgin a think
<unmatched-paren>surely there must be some
<unmatched-paren>there's srain
<omlet[m]>I think oar matrix u xmpp u agride the gnu project even
<omlet[m]>I feel there are things that can improve in guix, learn from nixos and other distros
<omlet[m]>unmatched-paren: No
<omlet[m]>Its why dont line IRC
<user___>I dont get
<omlet[m]>Its old
<user___>Why you dont like irc ?
<user___>What its the problem with old things man
<user___>Your using TCP protocol to connect here
<user___>its more old than us
<unmatched-paren>linux is old :)
<omlet[m]>and say that exceeded my opinion
<omlet[m]>XMPP os old bit its better
<omlet[m]>unmatched-paren: Kernel linux
<unmatched-paren>omlet[m]: ?
<user___>Being old is not equal to be bad
<omlet[m]>user___: Why is very hard for me, i dont line the usablotty only this
<user___>You dont like the way irc works?
<unmatched-paren>there's quassel and konversation too, which are both Qt irc clients i think
<omlet[m]>user___: The question os, have better alterbatives freedom software
<user___>But for something to be <better>
<unmatched-paren>and polari is the gnome irc client
<user___>We need to be measuring something
<user___>I still cant see how xmpp or matrix is better
<unmatched-paren>hexchat is a gui too
<user___>being created after is not being better
<omlet[m]>user___: Why is better view the IRC group in matrix
<omlet[m]>The why not can explicate
<omlet[m]>user___: More easy for beginners too
<unmatched-paren>SASL setup can be a bit confusing at first, I'll grant you that
<user___>For guix help, I never needed SASL, I join here without even a registered nickname
<omlet[m]>The ise matrix group
<omlet[m]>Ansol (fsfe portuguese) too
<omlet[m]>The FSF use xmpp
<yarl>Are files in /run/current-system/profile always read-only? I am trying to package a web application (web server + php + mariadb). What I have done so far is write a package definition (copy-build-system) that extract the zip into srv/http/app and write a system configuration (which uses the package and declares nginx, php-fpm and mysql services). It works fine using `guix system container -N ...` then running the co
<yarl>ntainer but during the application configuration (execution from a browser of some install.php) it fails because /run/current-system/profile/srv/http/app is read-only. Am I doing it right? Do you have any advice?
<omlet[m]>I think the problem os the different model
<omlet[m]>Not os for me install IRC client
<user___>yarl: Sry Idk.. I still noob at packaging
<user___>omlet[m]: Whats exaclty the problem?
<user___>For me, this channel works fine. I already have some problems in the past, I just joined here asked for help and it just worked
<user___>Sometimes you need to wait, or fill a bug in mailing list etc
<user___>But since you already can type here, doing this from any other software will be the same
<omlet[m]>user___: IRC structure
<omlet[m]>My english without translate is bad, but o speak for learning
<omlet[m]>user___: The fórum group too its nonfree?
<user___>Thats like I said
<user___>the structure to solve problems will be the same regardless the software
<omlet[m]>user___: But with small differences
<omlet[m]>Its only one group about guix in xmpp
<efraim>this channel is for discussing Guix. If you'd like to discuss other chat protocols then I'd suggest heading over to #guix-offtopic
<omlet[m]><efraim> "this channel is for discussing..." <- Link for Matrix please
<omlet[m]>The bridge in question
<efraim>I don't know how the matrix bridges work, but its #guix-offtopic
<omlet[m]>Not can search in matrix
<omlet[m]>Good, iTS better not speak
<nckx>apteryx: You asked if there was something more structured than an ML, and that's the only thing.
<cbaines>when git am says: Patch format detection failed
<cbaines>what do you do?
<cbaines>I'm having trouble trying to apply the patches from
<nckx>--patch-format=mboxrd ?
<nckx>cbaines: ☝️
<nckx>Good thing I never send embarrassing private mails.
<cbaines>thanks nckx, that does seem to help, but git still seems to not be able to apply the patch :/
<cbaines>I think I'll just ignore that series for now
<nckx>cbaines: Which series?
<nckx>Oh, I see, never mind.
<cbaines>unfortunately the automation for applying patches has worked, but only for the single patch that was resent
<nckx>Are you downloading them from issues.?
<cbaines>yeah, I tried that for the first patch
<nckx>cbaines: That's because the first patch ‘depends’ on libaec.
<nckx>This is what happens when everyone adds their package to the end of files, instead of (ideally) alphabetically…
<gabber>it's been 10 days since i've opened an issue and sent that patch: . i guess this doesn't live up to Guix standards, but i'd love to have some feedback
<nckx>cbaines: Feel free to ask them to resend when that happens.
<nckx>gabber: Which part doesn't live up to standards?
<unmatched-paren>gabber: your patch is fine
<unmatched-paren>but please create an issue for it
<raghavgururajan>When a package name is changed in a new version upstream, do we usually change the name in existing package-definition or create a new package-definition with the new name and inherit from older definition?
<nckx>unmatched-paren: I don't understand.
<cbaines>nckx, right, thanks for the explaination
<nckx> knew? :) Sorry then.
<raghavgururajan>Or add new pack-def and do `deprecated package` thing?
<nckx>raghavgururajan: We use deprecated-package.
<cbaines>nckx, gabber the patch was sent to the guix package in the bug tracker, rather than guix-patches
<raghavgururajan>Ah cool!
<unmatched-paren>nckx: ignore that, i suppose it's fine to send patches to bug-guix issues
<gabber>the part after ";; Trick the internal mechanism to load the parts" where i did some weird black magic to the code-base to get the thing to work
<unmatched-paren>s/nckx/nckx, gabber/
<raghavgururajan>unmatched-paren: You around?
<unmatched-paren>raghavgururajan: yes :)
<cbaines>unmatched-paren, that does mean that anyone just doing review on the guix-patches issues will miss those patches
<raghavgururajan>Oh darn!
<raghavgururajan>I need coffee.
<unmatched-paren>cbaines: yeah, that was my concern
<gabber>unmatched-paren: i think my first post in the linked thread is the opened issue
<raghavgururajan>unmatched-paren: Could you do the `deprecated-package` thing for go-github-com-go-ini-ini?
<nckx>unmatched-paren: I see. I agree that guix-patches is the right place (my workflow is such that I don't notice) but I don't think it should be re-sent.
<unmatched-paren>gabber: also, your commit message isn't *quite* right:
<nckx>gabber: OK, if you you don't understand what your code is doing, thanks for being up-front about it 😛
<unmatched-paren>raghavgururajan: that package isn't replacing anything
<unmatched-paren>it's a new version of the go-gopkg-in-go-ini packag
<unmatched-paren>somewhere along the line they changed the import path to go-github-com-go-ini-ini
<raghavgururajan>unmatched-paren: There is an existing older version of the package right?
<unmatched-paren>raghavgururajan: yup
<gabber>nckx: i understand what it's doing -- it's circumventing some test which prohibited the application from /just werking/. Fritzing somewhat insists on being able to dynamically pull the parts from it's own repository -- which i think is somewhat agains Guix' philosophy of having bit-by-bit reproducible packages. the boards are included in the package but if the test in question fails the boards are not included or Fritzing fails or
<gabber>some thing (not sure exactly what right now)
<nckx>gabber: Just FYI, we don't include ‘update hash’ separately. It's implied by ‘update to…’ at the top level. This is just a convention.
<unmatched-paren>go-gopkg-in-go-ini still exists
<unmatched-paren>nckx: Gah, didn't notice that.
<nckx>You spotted the mailing list name.
<unmatched-paren> <- maybe something like this
<raghavgururajan>You'd have create deprecation definition for the old package with old name; which mentions the new package with new name.
<unmatched-paren>raghavgururajan: but the old package with the old name still exists :)
<raghavgururajan>unmatched-paren: Same goes for `gnu: go-golang-org-colorful: Rename to go-github-com-lucasb-eyer-go-colorful.`
<unmatched-paren>raghavgururajan: yeah, you did remind me that i should have added a deprecation definition for that
<nckx>gabber: I admit to not really understanding why fritzing's pri/utils.pri can return a Guix/Nix-specific ‘base32’ hash. Who is consuming that?
<raghavgururajan>> raghavgururajan: but the old package with the old name still exists :)
<raghavgururajan>Yes, you'd have to replace that definition with `(deprecate-package` definition.
<nckx>That hash encoding is not used outside of Guix/Nix.
<unmatched-paren>raghavgururajan: the old package is still used though
<raghavgururajan>Yeah, you'd have to update the names there in the same patch.
<unmatched-paren>we don't want to redirect the new package to the old package, because they're different versions and something might break
<nckx>raghavgururajan: I haven't been following along, but deprecation is for when the actual *name* changes, not the version.
<unmatched-paren>s/new package to the old package/old package to the new package/
<raghavgururajan>nckx: Both name and version changed.
<unmatched-paren>nckx: in this case, both the name and the version changed, but the old version is still useful
<nckx>Go's definition of ‘name’ is insane.
<raghavgururajan>> we don't want to redirect the new package to the old package, because they're different versions and something might break
<raghavgururajan>Good point! What's your thought on this, nckx?
<nckx>I agree with unmatched-paren.
<nckx>You could hide the old version if this concerns you.
<unmatched-paren>raghavgururajan: i will send a v14 adding a deprecated definition for go-golang-org-colorful
<raghavgururajan>Let's keep the patch as is then.
<nckx>gabber: That should have pasted src/version/partschecker.cpp, not .pri.
<raghavgururajan>unmatched-paren: Thanks!
<unmatched-paren>raghavgururajan: hmm, actually, this might be a bit of a pain
<unmatched-paren>because you've already merged a few
<unmatched-paren>could i just send you a single amended patch for go-github-com-lucasb-eyer-go-colorful rather than resending the entire patch series?
<raghavgururajan>unmatched-paren: I was gonna say, never mind. I'll attempt to add the deprecation myself. :-)
<unmatched-paren>Okay, that's even better :P But I'll do it if you want
<raghavgururajan>Because, it's just one patch and shouldn't be an issue for me.
<unmatched-paren>remember to amend the commit message too
<ph03n1xaimverncc>How dya manage power on guix?
<ph03n1xaimverncc>Dya guys use xfce-power-manager?
<ph03n1xaimverncc>I'm an exwm user
<ph03n1xaimverncc>I wanna handle the lid-close, the idle-time suspend, etc
<AwesomeAdam54321>ph03n1xaimverncc: I don't use the Guix System yet, so I don't know how to use xfce-power-manager with exwm
<pinoaffe>ph03n1xaimverncc: i personally have not configured anything power-management-related, lid-close seems to work out of the box in my case
<pinoaffe>I also use exwm btw
<ph03n1xaimverncc>pinoaffe: Could you share your dot files
<ph03n1xaimverncc>I wanna add the auto sleep after certain time and auto screen lock
<pinoaffe>ph03n1xaimverncc: this is my dotemacs, somewhat outdated
<pinoaffe>ph03n1xaimverncc: and this is my other config, hopelessly outdated
<pinoaffe>my guix config (as of 2 years ago) can be found at
<ph03n1xaimverncc>Oh thank you
<ph03n1xaimverncc>Does it lock the screen automatically?
<ph03n1xaimverncc>And suspend the system on idle?
<pinoaffe>ph03n1xaimverncc: nope and nope
<ph03n1xaimverncc>Oh okay
<pinoaffe>I have a keybind set up to lock my screen using `slock`
<lechner>unmatched-paren / Hi, has anyone reported that 'git send-mail' barks with --cc="( <>" Unmatched () '( <>' '' at /gnu/store/28lhnzpb2327mpxgm13fh2ixqicgq56f-git-2.38.1-send-email/libexec/git-core/.git-send-email-real line 642.
<unmatched-paren>lechner: what's the actual command you run?
<lechner>unmatched-paren / git send-email --smtp-server=localhost --smtp-server-port=25 --base=master --cc="" -4
<lechner>unmatched-paren / sorry, git send-email --smtp-server=localhost --smtp-server-port=25 --base=master --cc="( <>" -4
<nckx>If you're explicitly passing (, you have to explicitly quote it.
<lechner>nckx / quote according to whose rules?
<nckx>Mail, of course.
<twopubsolar[m]>it is quoted
<nckx>twopubsolar[m]: Not in the example above.
<nckx>E.g., --cc='"(" <>'.
<nckx>‘(’ is meaningful in mail headers, so if you don't want the special meaning, you have to quote it, is what I mean.
<lechner>twopubsolar[m] / no it isn't
<lechner>nckx / i found it. it's the comment in RFC 5322, Section 3.2.2
<twopubsolar[m]>> '"
<lechner>twopubsolar[m] / no problem. it was my error. sorry i was so curt. my annoyance with the RFC may have hit you there
<twopubsolar[m]>that is.. a single quote first and then a double
<nckx>You mean y'all don't read Internet Mail RFCs for fun?
<twopubsolar[m]>they really do compilacted rfcs
<unmatched-paren>lechner: i've replied to all your patches there btw
<lechner>they MUST :)
<lechner>unmatched-paren / thanks
<nckx>The fun part is everything must remain backwards-compatible for basically ever.
<unmatched-paren>the only rfcs i've fully read are a few of these gems:
<nckx>unmatched-paren: Has your display name teased out any real bugs in mail software AFAYK?
<unmatched-paren>nckx: Nope. Not yet.
<lechner>the MUST was a reference to
<unmatched-paren>this is my favourite rfc:
<a12l>Reading § 16.5.4 Formatting Code in the ref. manual. I'm a bit confused, where I'm supposed to find `./etc/indent-code.el`?
<unmatched-paren>a12l: in the guix git repo
<unmatched-paren>...huh. it's not there.
<a12l>unmatched-paren: I thought that it would be in the repo, but I couldn't find any file with that name when I ran `fd indent-code`.
<unmatched-paren>a12l: are you looking at the devel manual?
<unmatched-paren>no, you aren't
<unmatched-paren>looks like that script has been removed
<unmatched-paren>you'll want to use guix style instead
<a12l>Thanks! Got it working :D
<a12l>It there a simple way to pin channels? E.g. if HEAD@guix is broken, but I've my own channel that I want to use the latest version.
<mirai>If a service has a 'account-service-type' extension that adds a group/user that's already defined in 'operating-system', does it overwrite the existing attributes of it?
<unmatched-paren>a12l: you'll want to do something like this in your channels.scm:
<unmatched-paren>and then replace %default-guix-channel with (channel (inherit %default-guix-channel) (commit ...))
<civodul>mbakke: thanks for the lld-wrapper fix in cd9161372aa3ec9b8902385d5937d04e1868495c
<civodul>that fixes a tests/packages.scm failure
<a12l>unmatched-paren: What's the pinning part of that expression?
<a12l>But I found
<unmatched-paren>a12l: there's no pinning in the linked expression,
<unmatched-paren>but the modification i suggest pins it
<a12l>Ah, missed your message after the link
<mirai>Would specifying a user or group that already exists here override the previous values set in 'operating-system'? (
<lilyp>no, they'd clash
<lilyp>unless the users are eq?
<a12l>unmatched-paren: Do I understand correctly that your suggested method is to enable setting a specific commit for only the guix defaulit repo, and not any other repo specified in `channels.scm` file?
<unmatched-paren>a12l: you can do the same thing for any other channel record
<unmatched-paren>add (commit ...)
<a12l>I was thinking that I can't specify the other channels commits in `(channel (inherit %default-channels) (commit [sha256sum])))`
<a12l>Just the guix repo
<unmatched-paren>a12l: you can do e.g. (channel (name 'guixrus) ... (commit ...) ...)
<a12l>And if I want to specify the commit for any other channel I need to do that in their own channel expression
<a12l>Yes, that I know
<a12l>But I think you confirmed my hyphothesis
<lilyp>having an explicit channels.scm is best for reproducibility, but also required in this case i believe
<lechner>unmatched-paren / Hi, thanks for your review. Why should any Golang "libraries", all of which are strictly sources needed to compile a static binary, be regular 'inputs' instead of 'native-inputs' please?
<unmatched-paren>lechner: it's possible for them to include references to other packages
<unmatched-paren>s/possible and allowed/
<unmatched-paren>(you can put references in a source, but it's definitely not a thing you should do)
<unmatched-paren>so their behaviour *can* be architecture-dependent
<lilyp>lechner: If you're compiling an application, it's all inputs, otherwise propagated-inputs
<lilyp>native-inputs is for the compiler and toolchain
<lechner>lilyp / unmatched-paren / i agree with the cross-arch argument and will make the change, but doesn't that result in a waste of runtime storage space? the source "libraries" are never used at runtime.
<lilyp>guix is better at picking up what's used than you are. it tracks actual store references
<unmatched-paren>and even though the source libraries aren't referenced, the source libraries' dependencies might be
<lechner>unmatched-paren / can you give an example, please?
<lechner>lilyp / so the source "libraries" won't be installed on a runtime system?
<unmatched-paren>lechner: they won't, no (iiuc)
<unmatched-paren>lechner: that substitute* means that any binary using go-notmuch will be linked to notmuch
<unmatched-paren>if go-notmuch was a native-input, the notmuch used would be the host notmuch, not the target notmuch
<lechner>i get the cross argument
<lechner>it's just that the regular inputs in guix seem to conflate runtime prerequisites and target build prerequisites, and i am slow to adapt
<lechner>lilyp / thanks for the explanation!
<unmatched-paren>lechner: really, nothing but propagated-inputs is installed
<unmatched-paren>it's just that things that aren't referenced won't be downloaded to the store either, i think...
<jpoiret>unmatched-paren: propagated inputs are unconditionally installed along a package when building a profile with it inside, and for all other inputs the only thing that matters is whether the dependency is referred to by the store output
<jpoiret>if some store output holds a reference to something else, then it will also be substituted, otherwise, you don't need it so it won't
<jpoiret>that applies to native and non-native inputs i believe
<jpoiret>although it's probably forbidden for something to have a reference to a native-input
<lechner>jpoiret / so regular inputs may also be available as a runtime prerequisite but are not visible to the user because they were not installed in the profile, right?
<lechner>jpoiret / thank you! smart system
<jpoiret>propagated inputs are there for things that can't really be hard-coded into the packages
<jpoiret>eg. python libraries
<lechner>jpoiret / or something the user may also want to call directly?
<jpoiret>yes, of course. Although if the user wants to call that directly, it would be better to explicitely install it
<unmatched-paren>lechner: yup, they'll be added to the store, so any store paths pointing to them will be valid, but they won't be actually installed
<unmatched-paren>lechner: propagated-inputs are despicable, avoid them at all costs
<lechner>jpoiret / that's something i have noticed in Guix that is unusual
<jpoiret>that's also why many guix packages patch their sources to be able to directly reference a binary depedency instead of using one from the PATH: the latter would need to use propagated-inputs whereas for the former the reference scanner can kick in
<lechner>jpoiret / some runtime prerequisites are not well tracked
<jpoiret>wdym by that?
<jpoiret>it's harder to adapt to when coming from another distro, but it's *cleaner* on Guix because you have only what you asked for
<unmatched-paren>propagated-inputs often cause issues with profile path collisions
<unmatched-paren>which is *really* annoying :)
<jpoiret>i've never had any profile collisions ever, but i must be one of the lucky few :p
<lechner>jpoiret / my emacs, for example, seems to require sqlite, but maybe that's because of some Elisp package I have installed.
<unmatched-paren>so we avoid them by tracking down things like ``exec("bloop")'' and replacing them with ``exec("/gnu/store/...-bloop-tools-.../bin/bloop")
<jpoiret>oh, sure. Did you install that package through Guix?
<jpoiret>if so, it should be able to use sqlite itself without any issues
<unmatched-paren>if the package requires the sqlite command it should be patched like i just said
<unmatched-paren>if it isn't that's a bug
<unmatched-paren>jpoiret: i've had a few
<lechner>jpoiret / maybe i misspoke. i am new to Guix and still adapting.
<jpoiret>Guix packages are not impervious to errors and omissions though :) if one doesn't work properly, feel free to open a bug report
<lechner>yeah, i'm still learning
<lechner>jpoiret / thank your for the explanations!
<lechner>jpoiret / should fcitx-qt5 pull in fcitx for the user, for example? For some reason, I also had to install libcdio separately
<jpoiret>what was libcdio needed for?
<lechner>jpoiret / unfortunately, i can't remember. maybe nothing
<lechner>jpoiret / maybe brasero or xfburn
<jpoiret>as for the first example, it doesn't look too odd to me. It's hard to judge what should be available from the get-go, but in general guix prefers to not pull in things by default
<jpoiret>one other good example would be wireplumber not pulling in pipewire
<lechner>jpoiret / or maybe xorriso, dvdbackup or dwd-rw-tools
<jpoiret>then i'd say it's probably an omission in the offending package that should be fixed
<lechner>jpoiret / would it be a propagated-input?
<unmatched-paren>lechner: no
<unmatched-paren>definitely not :)
<jpoiret>depends, if it's used as a python library then it would have to be
<unmatched-paren>keep those horrors far, far away
<jpoiret>but if it's used through an executable, it would be fine as a simple input
<unmatched-paren>you may have to patch things though
<ahriman>Hello Guix, I am trying to package something that builds with meson>=0.61.0 but meson-build-system is using 0.60.3, guix search shows that there is version 0.63.2, how do I get meson-build-system to use this version?
<unmatched-paren>ahriman: *probably* (arguments (list #:meson meson-0.63))
<unmatched-paren>we can't change the default meson right now because it'd rebuild every single meson package
<ahriman>unmatched-paren: thank you!
<dirtcastle>(offtopic thanks msg) I have been trying to set up home server to selfhost like god RMS intended. but I didn't know how to expose the computer to the internet for SOOO many months now. I was told I need a public ip for which u have to pay. I came across pagekite recently and ever since I found that I was dying to rent a vps and selfhost it. Learning abt pagekite took me soo many months. And guess what u can't even find stuff like this in
<dirtcastle>networking books. And now I learnt that ddns exist. None of my friends who were involved with networking never mentioned it. I don't know if they even knew abt it. And services for pagekite and ddns are already available in guix. Now I'm convinced I'm going to look through what every guix service does to see if there is any technology that I'm missing out. Thank you so much. I'm going to discover and learn abt so many new technologies from
<dirtcastle> guix manual.
<dirtcastle>guix is already being what I expected and intend it to become - sysadmin/selfhoster's best friend.
<dirtcastle>the ddns service is ddclient
<nckx>dirtcastle: :)
<nckx>What they probably meant by ‘public’ was ‘static’. Your current IP is public (although your IP might block ports and charge you money to unblock them), it just moves around a lot. That (and other things) makes it unsuitable for some services, like mail, but Good Enough for plenty of others.
<singpolyma>For sending mail. Receiving mail requires some of the lowest reliability of any service due to long SMTP retries
<nckx>s/your IP/your ISP/ 🤦
<nckx>singpolyma: Hmmmm.
<singpolyma>I had a mailserver go out for three days once. Lost zero messages
<ahriman>raider is building :D! I will send patch to mailing list once i re-learn git for the millionth time this month.
<dirtcastle>o/ nckx. ive tried to learn abt email server in the past. I've seen ppl saying that convincing isp to unblock mail port isn't easy.
<unmatched-paren> ahriman:
<ahriman>thanks again unmatched-paren
<nckx>dirtcastle: That is, on average, true. It depends entirely on the ISP. Many will not unblock port 25 on consumer contracts for any reason.
<nckx>It is the official port for hacking.
<cbaines>guix archive --authorize doesn't seem to be writing to /etc/guix/acl (on a foreign distro)
<cbaines>any ideas where it's writing to?
<cbaines>nckx, I think I remember you long ago looking at getting in to the install script in terms of putting the key in to the acl, do you remember?
<apteryx>cbaines: perhaps 'strace -f -e file' can help
<lechner>Hi, I do not login via Gdm but instead issue 'herd stop xorg' on a virtual terminal and then start X manually. Which packages should I install explicitly if I drop the gdm-service from my config, please?
<lechner>herd stop xorg-server, actually
<unmatched-paren>lechner: you shouldn't need to install anything
<unmatched-paren>just remove it
<unmatched-paren>like (modify-services %desktop-services (delete gdm-service-type))
<vagrantc>or selectively pick which parts of %desktop-services you want directly
<lechner>unmatched-paren / will i still have X?
<vagrantc>been a while since i've gone that route, though
<unmatched-paren>lechner: the xorg server is provided by a different service
<unmatched-paren>xorg-service-type or something...
<unmatched-paren>gdm-service-type provides gdm and only gdm
<lechner>unmatched-paren / okay, thanks!
<lechner>vagrantc / thanks!
<unmatched-paren>vagrantc, lechner: yeah, i do that:
<lechner>unmatched-paren / you do not use %desktop-services?
<lechner>unmatched-paren / also, what do you get from greetd?
<unmatched-paren>lechner: greetd gives you a login screen, but it's much simpler than gdm
<unmatched-paren>greetd basically provides a daemon that manages the hard parts of login managers
<lechner>i always wanted it, but then it seemed so minimal
<unmatched-paren>and then you can write a program to display the login screen without doing any tricky PAM stuff or whatever
<lechner>can it mount, or is that a seatd domain?
<unmatched-paren>i'm not sure what you mean by mounting here :)
<lechner>unmatched-paren / home
<unmatched-paren>still don't really understand, sorry :P
<lechner>my home folder is not on my desk equipment (and it is encrypted)
<unmatched-paren>i have no idea, i'm afraid
<unmatched-paren>what's it handled by without seatd/greetd
<lechner>it's another PAM use, but shouldn't
<unmatched-paren>oh, by the login manager?
<unmatched-paren>i'm not sure whether greetd implements that. you'd have to ask #kennylevinsen
<lechner>yeah, thanks. i know where to find him
<lechner>i used sway for quite some time
<lechner>the mingetty in your config is an escape hatch?
<unmatched-paren>lechner: yeah
<lechner>unmatched-paren / which greeters to we have in Guix?
<unmatched-paren>lechner: currently just agreety and wlgreet
<unmatched-paren>i believe muradm is working on gtkgreet...
<unmatched-paren>they're the one who added greetd and agreety in the first place
<unmatched-paren>i added wlgreet
<lechner>i am hoping for tuigreet
<unmatched-paren>we tried to do tuigreet.
<unmatched-paren>abandon all hope of ever having it, to be honest
<unmatched-paren>it depends on like 7 web frameworks
<lechner>it looked just like ncurses
<unmatched-paren>because the i18n_embed package it uses for localisation depends on it :)
<lechner>unmatched-paren / do i have to disable any kind of login-service if i borrow that part of your config but otherwise stick with %desktop-services?
<unmatched-paren>lechner: i think gdm is the only part you need to remove (along with elogind, if you plan to use seatd too)
<unmatched-paren>be aware that polkit doesn't work with seatd
<unmatched-paren>so stick with elogind if you use networkmanager or upower
<lechner>unmatched-paren / thanks! i don't use networkmanager except for its default config to pull address assignments for eth0. maybe i can replace it with lower level network tooling in Guix
<unmatched-paren>lechner: connman works
<lechner>unmatched-paren / how come you use upower with seatd, please?
<unmatched-paren>lechner: i don't
<unmatched-paren>oh, huh
<lechner>unmatched-paren /
<unmatched-paren>i appear to have forgotten to remove it :)
<lechner>unmatched-paren / i'll have a look at %desktop-services later, but is there anything else that i should salvage from it when trying your setup?
<lechner>why is ntp-service a user service?
<lechner>whoops, it isn't
<antipode>I am currently on a kind of indefinite hiatus from Guix, please don't wait on responses by me on any currently open patches & bug reports.
<mekeor[m]>antipode: have a nice hiatus - we'll be waiting for you. miss you already! :)
<zamfofex>antipode: Whatever your reason is, I hope your break goes well!
<antipode>(I'll still be watching, but not participating for now)
<mekeor[m]>do i understand correctly that the "mu" package does not come with the guile-bindings?
<mekeor[m]>oh, mu-guile is based on guile2 :(
<abhicherath[m]>guix install php is failing on aarch64,
<abhicherath[m]>I think this can be fixed by applying this patch
<abhicherath[m]>I'll try that soon.
<abhicherath[m]>(also seems to be some spam on :/)
<apteryx>antipode: oh! I wish you well, enjoy the time off. I hope to see you again soon!
<abhicherath[m]>is there a way to mark just one package as nonsubstituted? (I want to build php without the substitutes, but I also don't want to build gcc etc)
<rekado>abhicherath[m]: guix shell php; Ctrl-D; guix build --no-substitutes php
<rekado>guix shell -D php
<apteryx>nckx: I see. Luckily, in my case upstream seems to be this:
<apteryx>according to the Linux kernel's MAINTAINERS file
<mekeor[m]>rekado: wow, thats a funny hack :D
<zamfofex>Conversely: guix gc -D $(guix build php)
<zamfofex>(Though I suppose that doesn’t substitute build dependencies.)
<abhicherath[m]>interesting, I don't see that error on x64, so unlikely to be that cert expiry thing I guess.
<lechner>unmatched-paren / Hi, do you use guix home? I am worried it may not do so well with XDG folders after I drop %desktop-services.
<mirai>guix style --whole-file seems to be unhappy with non-ASCII input (
<civodul>mirai: weird; what locale are you using?
<civodul>currently 'guix style -f' defaults to locale encoding
<civodul>we should probably change that to UTF-8
<zamfofex>I don’t want to sound annoying, I know sometimes people are busy or just don’t have anything to say, but I’m currently feeling a bit anxious that no‐one responded to my email to guix-devel regarding npm. 😬 I suppose maybe it’s just not something people actually have a big interest on, given that npm packages aren’t useful outside of the npm environment itself.
<mirai>civodul: 'operating-system' has it set to '(locale "en_US.utf8")'
<civodul>zamfofex: i didn't see it but yet but npm is not among my skills :-)
<mirai>oh, but from ./pre-inst-env within a guix pure environment "LANG" is unset
<civodul>yeah, that may be the reason
<leelano64>Oh hello everyone, was wondering if I could get some advice, was going to use my old xmonad config however ghc couldnt find the installed modules, tried different ghc versions, no avail. Also attempted to use my old dwm binary, wasnt recognized, tried to recompile dwm, probably some confusion but can even find the xlib package that is needed.
<zamfofex>civodul: I see. That’s fair enough! 😅 My hope is that it’s possible to avoid needing to traverse into all transitive ‘devDependencies’ by employing esbuild in an ad‐hoc way to build packages (instead of needing TypeScript, or whatever the current popular bundler is). That reduces the dependency tree of a package from several thousand packages to just a few hundred (at worst) and a few dozen (at best).
<civodul>mirai: i see, i'll push a fix
<Guest54>Has anyone had trouble with home-shepherd only launching the first service specified in `services-to-start' in the `~/.config/shepherd/init.scm' file? I've been trying to debug this for a week or so, launching the services manually with `herd start' works fine.
<lechner>zamfofex / Hi, does it really make sense to repackage all of npm's goodies in Guix? I used to run the service just straight off of npm's repo
<apteryx>is it OK to use (guix diagnostics) in (gnu packages linux) ?
<apteryx>not on the build side
<zamfofex>lechner: I think the big advantage is that npm does not have a mechanism to allow you to build packages from source, and Guix would help change that.
<civodul>apteryx: technically yes, but in spirit it's not great
<zamfofex>(And when I say “from source”, I mean including dependencies.)
<civodul>well i guess it depends
<apteryx>why so? is it OK then to use srfi-35 and simply raise a &message
<civodul>yes, that's nicer
<apteryx>I prefer exception than (exxt 1) anyway, at the REPL for example
<civodul>nicer as in: less tied to the implementation of diagnostic reporting
<civodul>exit is strictly forbidden in (gnu packages ...) :-)
<apteryx>this kind of insider's knowledge would definitely have a place in a coding style section :-)
<civodul>yup, could be!
<civodul>there's probably too much "insider knowledge" like this
<civodul>actually jpoiret did a great job demystifying a number of common issues at Guix10Years :-)
<apteryx>it'd be nice to document the special cases, or make them disappear :-)
<apteryx>a (guix diagnostics) usable the same on either host or build side would be fantastic
<civodul>on the build side (building a derivation), it wouldn't be very useful
<civodul>since normally nobody will see those messages
<apteryx>we'd have a consistent way to abort the process with a useful message
<apteryx>it's not so often perhaps on the build side, but it happens
<apteryx>say, in downloaders
<civodul>downloaders print machine-readable status lines that are interpreted by (guix status)
<civodul>which in turn uses (guix diagnostics)
<apteryx>oh. interesting.
<apteryx>grepping for 'format "error:"' doesn't turn that many results, but there are a couple examples, of hand-formatted error messages
<apteryx>like 7 occurrences... hm
<apteryx>hm, I can't have a srfi-35 condition reported nicely, it looks like:
<apteryx>with this condition code:
<Kolev>Is there any way to add Guix support to GNOME Software?
<zamfofex>Kolev: See: <>
<jonsger>^ was a second faster :)
<Kolev>zamfofex: Oh, right. They should add per-user software installation. It would be good for Flatpak, too.
<abhicherath[m]>zamfofex, where's this patch? It'd be really useful for my typescript-language-server package... I was having devdep fatigue
<a12l>If I want to develop on a package in the repo I can create an environment with all the package's dependencies in `$PATH` with `guix shell -D <package>`. But how do I actually get the source code of the available package?
<a12l>I checked the ref. manual for `guix shell`, but couldn't find any option.
<abhicherath[m]>abhicherath[m]: ah just saw the email, neat!