IRC channel logs


back to list of logs

<ieugen[m]>btw, I saw flatpack is not available in guix and was quite surprised
<Guest7477>guix install flatpak
<ieugen[m]>my bad - spelling error
<Guest7477>you're welcome
<Guest40>Hey :) Is there some reasonably simple way to set additional fields in /etc/krb5.conf, for which krb5-configuration has no option? I guess no right? And my best option is to just ignore the whole krb5-service-type and create the /etc/krb5.conf directly using local-file or something?
<mirai>Guest40: what field
<Guest40>mirai: I would like to set dns_lookup_realm, but also the whole domain_realm section.
<mirai>you may have to patch guix for it
<Guest40>I'll add it to my todo list :)
<dp0>Hi, so how does LVM work on Guix? Do you have to setup the volume groups before running guix reconfigure with a lvm mappable-device?
<dp0>I was using the graphical installer by the way...
<dp0>Maybe that's a manual setup only kind of a thing?
<Guest40>lechner: I'm looking at your config on codeberg (very useful btw, thx), and I see you have commented out the rpcbind and friends, while still having the 'mount-nfs-after-networking simple-service. Does that actually work? I've tried to replicate it, but the mount failed. After I created the rcbind and friends, the mount succeeded.
<Guest40>So just checking if the configuration actually works for you.
<lechner>Guest40 / this is for lechner-desktop?
<lechner>I use NFSv4
<Guest40>Me to (4.2), but with kerberos, not sure if that changes anything.
<lechner>are you sure?
<Guest40>Riiight, so I guess the difference will be the kerberos (you are not using sec=krb5p for the nfs, right?). For that it seems I need the gss-service-type, and that depends on rpcbind (even though it should not for v4 only client).
<lechner>maybe that's why i couldn't get gssd running
<lechner>my choice of sec=sys was supposed to be temporary until i migrate my kerberos and LDAP setups to guix. are you running the kerberos servers on Guix equipment?
<Guest40>not yet, the home server will likely be last to migrate since it will be bit tricky
<lechner>what are you running currently, if you do not mind?
<lechner>do you use gssd everywhere?
<Guest40>alpine everywhere except personal laptop, that is guix now (in a bit rough shape)
<lechner>how long ago did you switch the laptop over?
<Guest40>this weekend :)
<lechner>my first four weeks were terrible. i hardly slept.
<Guest40>yeah it's a lot to take in :D and my config files are full of TODOs
<lechner>which window manager are you using?
<Guest40>gimme a sec will boot up and check the gssd on the media player machine
<Guest40>awesome atm, thinking about switching to stumpwm
<lechner>stump is popular around here i think (among the exotics). i use exwm
<Guest40>I spent a lot of time thinking about exwm, and at the end decided I do not like the idea of single process handling both all (most of) text editing and window managing
<lechner>you are only mentioning the drawbacks, though
<lechner>but i share your concerns
<Guest40>at the end of the day I basically just switch between firefox and emacs, so wm is just not that important to me I guess
<Guest40>(I've actually tried it, but did not manage to get the exwm-xim to work properly, and it froze few times and I got scared)
<lechner>i used stump for a while. it's good
<lechner>why do you need XIM?
<Guest40>then I could use emacs input method for japanese in other non-emacs windows
<Guest40>at least base on the documentation it was supposed to work, but was pretty rough around edges
<Guest40>and yes, rpc.gssd is running, so probably required
<lechner>I have to dig up my fcitx setup (or was it ibus?). i had chinese input working for a while and would not mind those german umlauts again. i think that happened without XIM, but i am not sure
<Guest40>yeah, in the end I managed to setup ibus (with anthy), but but much more painful then I expected
<lechner>sorry, i actually want gssproxy. the nfs-utils maintainer does not like, but i love it
<Guest40>When running /guix/store/*-ibus-anthy-*/libexec/ibus-anthy-setup is part of the setup process something is not that optimal
<lechner>a lot of my setup is currently not optimal, but i love the parts that are!
<Guest40>No gssproxy here (and not sure what it does :) )
<lechner>i'll be coming out with a Guile plugin for PAM shortly to address some of those shortfalls
<Guest40>yeah, I'm slowly migrating my setup over, but it is pretty messy so far, will need big cleanup :/ looking forward to getting weechat woprking so I can stop being guest40 :)
<lechner>i use Circe in Emacs, and haven't looked back
<lechner>i used weechat for five years before that and irssi since time immemorial
<Guest40>yeah in the first step I'm just migrating my setup over as is (but managed by guix home), but once done, I plan to explore emacs a bit more (for example for email and irc)
<lechner>btw, as an NFS user you may like my v2 to #41180 from this morning
<fruit-loops>"[PATCH] Add cachefilesd service."
<Guest40>Hm, that looks useful :) Well anyway, I'll go to bed, it is past 3am here and cat decided my keyboard is best place for a nap, so I'll take that as a sign.
<Guest40>Good night Guix :)
<lechner>Hi, I'm not sure should also serve unencrypted HTTP. I guess we are making it really easy!
<wdkrnls>Dear Guix, how can I use the plocate command?
<wdkrnls>On debian it seemed quite easy to use: 1) Install 2) Run updatedb. On guix it complains it cannot find it's own group and when you create it, it still complains you don't have permission to query from it's database.
<wdkrnls>I am going down this route in the attempt to figure out how I managed to see my window manager's *.desktop file in /gnu/store.
<wdkrnls>When I try to add my user account to this plocate group, guix system reconfigure complains that this supplementary group is undeclared.
<AwesomeAdam54321>wdkrnls: Does it say where the database is located in the filesystem?
<wdkrnls>Yeah, it's in /var/cache
<wdkrnls>plocate seems better than mlocate in that respect.
<wdkrnls>I cannot see how mlocate could work at all it seems to point directly at /gnu/store
<wdkrnls>I guess sudo plocate commands work.
<wdkrnls>I was not expecting sudo to be necessary. It is not necessary on Ubuntu.
<bumble[m]>do guix users here use iwctl from the iwd package here?
<fruit-loops>"iwd 2.3 — Packages — GNU Guix"
<bumble[m]>I haven't tried it yet (please excuse me)
<bumble[m]>oh nevermind I found this linked from the package page
<fruit-loops>"iwd is packaged but there is no iwd shepherd service"
<wdkrnls>Do you guys use something like idutils to find stuff in the Guix source code?
<lechner>what are you looking for?
<wdkrnls>I am trying to figure out how to better explore the Guix code base.
<wdkrnls>I thought I could use idutils to quickly find the definition of things like %standard-phases.
<wdkrnls>Instead of having to keep grep'ing about.
<wdkrnls>It was mentioned in blog post on the Guix home page.
<lilyp>I'm using good ol' rgrep :(
<wdkrnls>I guess what I'm really aiming for is being able to trace code definitions in scheme.
<wdkrnls>like what I see with M-. and M-, in some emacs modes.
<wdkrnls>I think geiser promises to be able to do that, but I have not managed to figure it out.
<lilyp>C-s define ;9
<lilyp>anyway gtg
<wdkrnls>My short term end is to figure out how to get my window manager to show up in GDM.
<wdkrnls>I got distracted with my long term end of knowing what I'm doing.
<wdkrnls>What's frustrating is that it works on my old laptop, but I don't remember how it got to working.
<wdkrnls>I do remember puzzling over it for a bit.
<wdkrnls>I know that it has something to do with the *.desktop file. I remember making that file and I was able to use plocate to verify there is a /gnu/store entry where that desktop file exists.
<wdkrnls>GDM doesn't show it on my new computer.
<wdkrnls>I remember waiting until I could see both in the drop down before removing GNOME entirely.
<civodul>Hello Guix!
<jpoiret>would it be possible to get builds for things like llvm in core-updates?
<jpoiret>also mesa
<jpoiret>every time I've wanted to work on it, my first reflex is to test if sway builds, but I need llvm and mesa for that
<jpoiret>civodul: regarding the core-updates dashboard, seems like some cross-compiling issues for gcc were already present on master
<fruit-loops>"GCC fails to cross-compile"
<jpoiret>also, where can I see the core-updates jobset? can't seem to find any manifest in the repo for it
<jpoiret>gcc<9 does not build anymore with gcc 11, because we need to pass -Wno-missing-attributes, but I'm not too sure of 1) why gcc-8.5 is only being cross-built 2) where to pass that, there doesn't seem to be any configure flags used to compile old versions of gcc (which seems weird, I would guess you would need to disable some newer errors sometimes,
<jpoiret>like here)
<civodul>jpoiret: hi! yes, but i think we made good progress!
<civodul>like GCC actually cross-compiles now \o/
<civodul>the main issues now are: i586-pc-gnu and *-mingw*
<civodul>jpoiret: re manifest, see %core-packages in (gnu ci)
<civodul>we're building the 'core' subset
<jpoiret>i'm looking at right now. Do you know why gcc-8 is being cross-built?
<fruit-loops>"Build 532719"
<jpoiret>as i said above, i think all gcc<9 need -Wno-missing-attributes, but I don't know where I should put that, since there doesn't seem to be a precedent (weirdly enough)
<jpoiret>in another news, I probably need a beefier laptop now :(
<jpoiret>also, gcc-12 does not cross-compile either, when looking at the error above the solution would be to cross-compile gcc-12 with a gcc-12, otherwise some symbols are unavailable
<civodul>jpoiret: re gcc-8, that's because it's in %core-packages; i stripped that list in 768b7705977aa951c36bd37e48956bf91dcc7719
<fruit-loops>"guix.git - GNU Guix and GNU Guix System"
<civodul>jpoiret: re -Wno-missing-attributes, you can probably pass it as done in 0aed5bf5120bd434e53be0cea3f96547f95837d6?
<fruit-loops>"guix.git - GNU Guix and GNU Guix System"
<civodul>ah :-)
<civodul>also we could create you an account on berlin or bayfront to test builds
<jpoiret>civodul: wdym pass it as done?
<jpoiret>it's still not building on the last evaluation 16 hours ago
<jpoiret>although now we won't be able to see the failure since it's been removed from the jobset
<jpoiret>wrt. the account on berlin or bayfront, well, that would probably help! it's mainly for offloads, right?
<civodul>jpoiret: uh sorry, i guess i'm not sure what i'm typing! i mean you can pass -Wno-missing-attributes via #:configure-flags as done in that commit
<civodul>you wouldn't be able to actually offload there, because then you'd be sending binaries from your laptop to these machines, which we don't want
<civodul>but you could either log in and build there, or do: GUIX_DAEMON_SOCKET=ssh://berlin guix build ...
<civodul>could you email guix-sysadmin about it?
<civodul>so we can check with others what they think is appropriate
<rekado>civodul: would that not open the door to letting berlin distribute substitutes for things built by jpoiret?
<rekado>including potentially proprietary software when building from arbitrary channels?
<civodul>rekado: berlin would indeed distribute things built by jpoiret, but the moral contract i guess would be that jpoiret would only use it to test changes to Guix (and thus free software)
<civodul>i think it's been used this way before
<civodul>we can discuss it of course
<jpoiret>as long as it's not a system-wide offload setup, that'll be fine
<jpoiret>i was worried about having to setup offload for my guix daemon
<civodul>bayfront doesn't use "guix publish" and doesn't even distribute things from its store
<jpoiret>wrt. hurd, we probably need all the upgrades that zamfofex has been working on
<jpoiret>looks like a lot of work
<jpoiret>does that need to be a blocker for core-updates?
<jpoiret>glibc 2.35 seems to have brought changes that require a mig update among others
<jpoiret>uhm, seems we just aren't doing the right thing for cross compilation of gcc
<jpoiret>we should be building the runtime libraries using the cross-built gcc
<sarg>Hi, I can't get my head around g exprs. Need some help here. I have a (shepherd service) that should take a 'file-like' and append it to cmdline.
<sarg>Here is what I wrote: #~(make-forkexec-constructor '(#$@(if v (list (string-concat "--param" v)) '())))
<sarg>typo, it's `--param=`, so that the end result would be `--param=/gnu/store/blabla.conf`
<sarg>but v is not a string, so it can't be used in `string-concat`. If I do #$v I get an error 'ungexp: unbound'
<cbaines>right, so here #$@(if you're ungexp'ing what the if evaluates to
<cbaines>the '() is fine, but currently you haven't got a gexp to ungexp
<cbaines>the first part of that if, the (list (string-concat ... bit probably wants to be a gexp
<sarg>if I remove string-concat, making it just (list "--param" v) then it works for v being (plain-file)
<cbaines>that makes sense
<sarg>(not for me, lol, I am struggling here)
<cbaines>#$@ is ungexp-splicing, which works with lists. When you add in (string-concat, then the thing to ungexp isn't a first level part of the list, so it's not handled properly
<sarg>how to output gexp contents in repl? it shows me just #<gexp 7f7015bfcb70>
<jlicht>hey guix!
<sarg>maybe gexp->approximate-sexp ?
<jpoiret>sarg: exactly
<jpoiret>for some reason the cross-toolchain for gnueabihf is incredibly slow for the configure phase of gawk
<jpoiret>civodul: is `guix build --target=arm-linux-gnueabihf gcc-toolchain@8` supposed to work?
<civodul>jpoiret: re gexp, i'm willing to change the printer to use gexp->approximate-sexp
<civodul>jpoiret: re gcc-toolchain, not sure; try -e '(@@ (gnu packages gcc) gcc-8)' :-)
<jpoiret>civodul: looks like a good idea. Are you also saying that regarding what cbaines was asking on the ML?
<jpoiret>I don't think it will solve that problem
<jpoiret>(re: gexp)
<civodul>jpoiret: ah no, i haven't seen (yet) what cbaines wrote
<jpoiret>no worries then, it just looked very similar so i had to ask
<mirai>approximate-sexp isn't "recursive" though
<mirai>#~(string-append #~(string-append ...) ...) will only "strip" the first layer
<civodul>we could fix that
<civodul>though in practice we only ever use one layer
<mirai>I've been working around this by ,build (mixed-content-file "foo" #~(...)) and cat'ing the file
<civodul>speaking of gexps and nesting, check this out: 4895846197bd445dd68c832364c667dea4337f8c
<fruit-loops>"guix.git - GNU Guix and GNU Guix System"
<civodul>the ncurses package was superconvoluted because it had two levels of quasiquotation
<civodul>(gcc is still like that!)
<civodul>using gexps makes it much nicer
<mirai>(#:configure-flags ,(cons* 'quasiquote `(("--with-shared" ...
<mirai>I've also seen some odd things done with gexps, such as #~#$foo
<civodul>there are situations where it makes sense
<civodul>i forgot which :-)
<mirai>#~(... #$(if x? #~#$a #~b))
<civodul>i think you could write just "a" here
<civodul>but if you find a specific example, we can discuss :-)
<fruit-loops>"guix.git - GNU Guix and GNU Guix System"
<civodul>mirai: #$output is special so yes, it's unavoidable here
<civodul>it expands to (getenv "out") in fact, which is a bit of a shame, but that's the way it is
<nhcjvg9ynv[m]>Is Guix still joint against Stallman?
<mirai>the first case is: gnu/system.scm: ("login.defs" ,#~#$login.defs)
<AwesomeAdam54321>nhcjvg9ynv[m]: No
<mirai>civodul: where the etc-files-service is configured iirc
<civodul>oh, hmm
<civodul>there must have been a good reason :-)
<civodul>but... at first sight i'd say it's uselses
<civodul>rekado: could you take a look at as time permits?
<fruit-loops>"[PATCH] services: base: Deprecate 'pam-limits-service' procedure."
<civodul>it LGTM but it's more "in your area" IIRC
<mirai>I noticed this during the hosts-file change though I didn't look too deeply into it
<civodul>we should try to remove that #~#$
<mirai>I guess one way to find out is "change it and see what happens" :)
<civodul>right :-)
<civodul>then we can make up a justification :-)
<mirai>civodul: what do you think on having "raw-strings" within guix?
<civodul>what d'ya mean "raw strings"?
<mirai>verbatim strings without having to escape double quotes
<mirai>for one it makes writing regex easier
<mirai>but embedding files as well
<civodul>in general, i'm reluctant to syntactic sugar
<civodul>as a principle, but also because it poses technical issues
<civodul>like, changing the reader is a side effect
<civodul>it can conflict with other reader extensions, etc.
<civodul>so IMO it has to be done in exceptional cases, like gexps
<bjc>if it's just for regexp, there's always the (rx …) approach, which is more readable anyway
<civodul>right, srfi-105 IIRC?
<fruit-loops>"SRFI 105: Curly-infix-expressions"
<civodul>ah no
<civodul>srfi something five?
<fruit-loops>"SRFI 109: Extended string quasi-literals"
<fruit-loops>"SRFI 109: Extended string quasi-literals"
<mirai>(idk, I'm looking at the references listed in
<fruit-loops>"GitHub - lloda/guile-raw-strings: A Guile reader extension for ‘raw strings’"
<fruit-loops>"SRFI 115: Scheme Regular Expressions"
<bjc>i got it from emacs and perl =)
<bjc>(perl6, that is. not sure it's in 5/7)
<civodul>so i'm all for srfi-115 instead of regexps-in-strings
<fruit-loops>"SRFI 115: Scheme Regular Expressions"
<civodul>but i'm rather against reader extensions
<mirai>does it "synthesize" a regex string out from a S-expression?
<civodul>(another advantage of srf​i 115 is that we'd have regexps that don't go through libc, so no weird corner cases such as nulls within strings)
<civodul>mirai: it's a pure Scheme regexp implementation
<bjc>the biggest thing for me is that it simplifies quoting. regexp-in-string can get quite hairy
<mirai>when I brought this up I was mostly thinking on 'how to pass a regex string to a service that expects one in its configuration fields'
<civodul>hmm looks like is miscounting failures
<fruit-loops>"Issue 61745 Guix Quality Assurance"
<jpoiret>civodul: what about performance then? we do make heavy use of regexps
<civodul>no idea, we'd have to try
<mirai>things like opensmtpd or any application that uses "regex"
<civodul>on the build side, performance is often less critical
<sarg>I've finally got around the gexps. This one didn't work: #~(list #$@(if a (string-append "a=" a) '()))
<sarg>This one works: #~`(,@(if #$a (string-append "a=" #$a) '()))
<sarg>Where a is: (define a (plain-file "a" ""))
<apteryx>our openssl is grafted with openssl/fixed; do applications making use of openssl still detect it as the older 1.1.1l ? It seems like this, right?
<apteryx>(the grafted one is 1.1.1t)
<jpoiret>sarg: #~(list #$@(if a (list (string-append "a=" a)) '())) should work
<jpoiret>note the added (list ...)
<mirai>sarg: I was just looking at your dnsmasq post
<apteryx>case at hand: ruby-puma: OPENSSL_LIBRARY_VERSION: OpenSSL 1.1.1l 24 Aug 2021 OpenSSL 1.1.1l 24 Aug 2021
<apteryx>it fails one of its test, perhaps because of misunderstanding the version it's dealing with
<mirai>sarg: jpoiret beat me to it :)
<jpoiret>apteryx: well, i don't think grafting can solve that unfortunately
<sarg>jpoiret: made a typo, I do have the list. It's not working, because 'a' is not a string and can't be used by string-append
<jpoiret>what is a then?
<jpoiret>and why do you want to check if it is non-#f
<sarg>because it's optional
<fruit-loops>"[PATCH] services: dns: Extend dnsmasq-configuration."
<jpoiret>then won't #$@(if a (list a) '()) work?
<jpoiret>and move the string-append into the gexp
<jpoiret>ah no, that won't work either
<jpoiret>#$@(if a (list #~(string-append "a=" #$a)) '())
<jpoiret>but it's getting extra ugly
<apteryx>jpoiret: in the graft case, the packages continue to refer to the original store file names, right?
<apteryx>ACTION never studied grafts in details
<jpoiret>no, they do refer to the new store file names
<mirai>(file-append "--servers-file=" servers-file)
<jpoiret>but I guess the version string of the dependencies is picked up at configure time, and we can't detect those and replace them
<apteryx>hm. so why would a library making used of the grafted openssl detect it as 1.1.1l instead of 1.1.1t?
<apteryx>I see
<mirai>sarg: #$@(if servers-file (list (file-append "--servers-file=" servers-file)) '())
<civodul>rekado: there was a trick to get the external mic visible under "Configuration" in pavucontrol, does that ring a bell?
<mirai>dont forget to change '( to (list right at the beginning of the constructor
<mirai>civodul: does 'make check' apply for changes to gnu/system.scm ?
<mirai>or is that the job for make check-system
<civodul>the latter
<sarg>mirai: not working, (expecting struct): "--servers-file="
<mirai>totally unrelated but I think the computer I use for tinkering with guix is located somewhere within the Oort cloud
<mirai>Adapter: ACPI interface
<mirai>temp1: -263.2°C
<mirai>Adapter: PCI adapter
<mirai>Composite: +41.9°C (low = -273.1°C, high = +82.8°C)
<sarg>it's just zero kelvin
<sarg>maybe it's kind of NaN?
<mirai>-263.2 isn't 0K though
<mirai>sarg: can you pastebin this
<mirai>with your changes
<mirai>to make sure we're on the same page
<sarg>but it's fine, file-append-compiler does (lower-object) on the first parameter
<mirai>I wonder
<mirai>is the equal sign required?
<sarg>haha, I also had this question. Isn't documented in the man page
<fruit-loops>"Untitled - Pastebin Service"
<jpoiret>sarg: have you tried my suggestion above?
<mirai>that or do jpoirets gexp dance
<jpoiret>you can't use file-append inside a gexp
<mirai>jpoiret: wdym
<mirai>#~(... #$(file-append ...)) works
<mirai>(it has to be ungexped though)
<sarg>jpoiret: (string-append) ends up in the shepherd service. make-forkexec-constructor doesn't evaluate the supplied list.
<sarg>fails at `herd start`
<jpoiret>mirai: i read string-append as file-append in your example, my bad 🙃
<jpoiret>sarg: what do you mean make-forkexec-constructor doesn't eval the supplied list??
<jpoiret>it's a guile procedure
<sarg>yeah, I'm also stumbled by that. When I `herd restart` I get: Wrong type (expecting string): (string-append "--servers-file=" "/etc/dnsmasq")
<mirai>am I overthinking this? (map manifest-entry-name (manifest-entries (load "etc/system-tests.scm")))
<mirai>to retrieve a list of system tests that exist in guix
<jpoiret>okay, this must be some GOOPS f--kery sarg
<jpoiret>i have no idea, but it's definitely not good behavior, and I think that's the part that should be seen as a bug
<sarg>jpoiret: I've restarted and now it behaves properly. No idea what caused that
<mirai>civodul: I believe I might have found out what's the business surrounding #~#$
<fruit-loops>"Untitled - Pastebin Service"
<mirai>though tbh I see it used with non-thunks as well
<mirai>probably a copy-paste artefact
<mirai>what guix system bizarreness is this:
<fruit-loops>"Untitled - Pastebin Service"
<mirai>why is ./pre-inst-env authenticating
<zacchae[m]>Is it possible to include a 32bit glibc version in a 64bit profile?
<lechner>hopefully, per multilib (but not sure about Guix)
<gabber>does cuirass use substitutes by default?
<apteryx>is it possible to launch a postgresql server for tests in a package?
<apteryx>perhaps it needs some directories under /var?
<AwesomeAdam54321>apteryx: The postgresql server needs a directory to look for sockets, it should be changeable with the -k option to postgres
<zacchae[m]>lechner: I don't see any way to do this. guix search multilib comes up empty too...
<AwesomeAdam54321>A hackier way is modifying the postgresql package definition to use /tmp as the DEFAULT_PGSOCKET_DIR
<AwesomeAdam54321>In either case, it's definitely possible since I had the same situation
<gabber>can i make cuirass build in a --no-substitutes way?
<AwesomeAdam54321>gabber: Are you using the default mode in cuirass?
<fruit-loops>"Cuirass Reference Manual"
<gabber>yes, i am
<AwesomeAdam54321>In that case, it's the guix daemon which decides whether to use substitutes or not
<gabber>i see! thanks for clarifying!
<gabber>so i have some specifications that now (after a long period of showing red X's) finally show the build-badges (you know, the numbers in the three - green, red, gray - boxes). but the numbers remain [0][0][0]. does that mean there's substitutes and no need to build them?
<apteryx>AwesomeAdam54321: thanks
<apteryx>AwesomeAdam54321: any example in the guix code base?
<apteryx>(or elsewhere?)
<AwesomeAdam54321>gabber: maybe, if you want to double check you could try use the remote build mechanism of cuirass documented in its manual which doesn't use substitutes by default
<unmatched-paren>hello guix :)
<Guest7474>does someone know which package provides "go-previous" icon? I have already installed hires and adwaita but those icons are still missing for Firefox
<Guest7474>unmatched-paren hello
<jpoiret>mirai: vm-image uses (current-guix) in its configuration
<gabber>Guest7474: you could give a try
<jpoiret>Guest7474: don't you mean hicolor?
<jpoiret>but if it's the go-back arrow at the top left I would assume it's provided by firefox itself
<jpoiret>this could be a librsvg missing thing for gdk-pixbuf-loader
<Guest7474>gabber didn't find anything
<Guest7474>jpoiret yea you are right, it is hicolor called
<jpoiret>can you start firefox/icecat inside a shell and see if there are any error messages related to it?
<Guest7474>jpoiret exactly, those two icons if you open bookmarks in the top left are not displayed
<weidtn>Hey, does anybody use tailscale on guix? How can I install it?
<AwesomeAdam54321>apteryx: apteryx:
<fruit-loops>"debian Pastezone"
<jpoiret>weidtn: looks to be in go, so if we have it good if we don't then it's going to be a pain to packgae
<Guest7474>jpoiret if I exec firefox it just opens it without any output msg, to you may know the cmd to get output?
<gabber>Guest7474: you get all options with --help
<Guest7474>Mar  6 20:26:34 localhost shepherd[1]: [slim] (firefox-default:19860): Gtk-WARNING **: 20:26:34.751: Error loading theme icon 'go-previous' for stock:
<Guest7474>Mar  6 20:26:34 localhost shepherd[1]: [slim]
<Guest7474>Mar  6 20:26:34 localhost shepherd[1]: [slim] (firefox-default:19860): Gtk-WARNING **: 20:26:34.798: Error loading theme icon 'go-next' for stock:
<Guest7474>Mar  6 20:26:34 localhost shepherd[1]: [slim]
<Guest7474>Mar  6 20:26:34 localhost shepherd[1]: [slim] (firefox-default:19860): Gtk-WARNING **: 20:26:34.847: Error loading theme icon 'go-previous' for stock:
<Guest7474>don't know how to get it directly from firefox, --help isn't really helping either
<Guest7474>(icecat-default:13535): Gtk-WARNING **: 17:32:06.771: Error loading theme icon 'go-previous' for stock:
<Guest7474>(icecat-default:13535): Gtk-WARNING **: 17:32:06.771: Error loading theme icon 'go-next' for stock:
<Guest7474>(icecat-default:13535): Gtk-WARNING **: 17:32:06.811: Error loading theme icon 'go-previous' for stock:
<apteryx>AwesomeAdam54321: thanks!
<weidtn>Is there a guide how to define a new service that needs root? (tailscaled) I only know how to define user-services
<oriansj>weidtn: do you mean root or setuid?
<weidtn>not sure what setuid is. But tailscaled needs to be run like "sudo tailscaled" and I want to start it on boot.
<oriansj>setuid is for enabling a process to have more permissions than the user running it normally would. It is needed for processes such as sudo, passwd,ping and swaylock
<sarg>doesn't it bother you that system reconfiguration runs under sudo, but most of the time root privileges are not necessary. They're required only to install the bootloader afaik. I wonder if there is a way to install system produced by `guix build`?
<oriansj>sarg: yes: dd if=$result.img of=$target
<oriansj>in an odd request: anyone package this yet?
<fruit-loops>"Software written by Martin Ward"
<jimtaylor>Does guix home (or guix in general, really) have an equivalent to writeShellScriptBin in Nix?
<unmatched-paren>jimtaylor: does this add a script to /bin?
<unmatched-paren>this wouldn't be possible with guix home, but it would be with guix system
<jimtaylor>unmatched-paren: It does, and allows you to write the content right there in the configuration. About the only reason I ask is laziness - I can make a simple-service to put some files in ~/bin easily enough, but that requires me to chmod +x them all in advance. Unless there's an easier way to accomplish that?
<sarg>oriansj, not getting your `dd` advice. I have built this: /gnu/store/qfaj2mawzihilw8gjbsyizb2zfj4ngh4-system, how do I install it? It was built with `guix system build ~/.config/guix/system.scm`
<unmatched-paren>jimtaylor: ah, ~/bin, not /bin
<unmatched-paren>jimtaylor: should be possible to write an activation-service-type that chmods them on start
<jimtaylor>unmatched-paren: Ah, fair enough. I will look into doing that. Thank you!
<rekado>sneek: later tell civodul Make sure that the selected profile on the Configuration tab is a duplex profile. When a playback only profile is selected you won’t see the microphone.
<Guest7474>after guix pull I need to run hash guix to refer to the latest guix?
<unmatched-paren>Guest7474: if it's your first guix pull, maybe
<Guest7474>because I get hash cmd not found in tramp eshell
<rekado>Guest7474: “hash” is a Bash builtin
<rekado>it tells Bash to update its internal cache for mapping command names to file names
<rekado>i.e. it tells Bash that it should forget where it has previously found the executable “guix” and look for it again
<rekado>since the previous step is to put ~/.config/guix/current/bin as the first entry on PATH the result is that Bash will find “guix” right there and forget about whatever other “guix” you may have used up till then (e.g. /usr/local/bin/guix or whatever).
<Guest7474>ah okay, that explains the error.  I tried using vterm and I do not get an error but it still points to the old guix (guix version 1.3 instead of a commit hash)
<Guest7474>well it works in the tty, going to update it through that. (it is a vm and I connect through SSH so I can copy/paste cmds)
<Guest7474>btw, the progress bars gives me a question mark in a rectangle in the beginning and end of the progression bar in the tty
<jpoiret>sarg: installing involves also changing the current-system symlink, which is owned by root
<jpoiret>if you've built the system already, reconfigure should be extra fast
<jpoiret>Guest7474: have you solved your icon error?
<Guest7474>jpoiret not yet
<jpoiret>can you temporarily try `guix shell librsvg gdk-pixbuf -- firefox`?
<jpoiret>Guest7474 ^
<Guest7474>jpoiret still same error with missing icons
<sarg>jpoiret: nope, when I `sudo guix system reconfigure` it builds another derivation
<sarg>here is an example:
<jpoiret>Guest7474: are you on a foreign distro or guix system?
<Guest7474>guix system with exwm therefore I do not have packages installed like a normal desktop user
<jpoiret>have you rebooted since installing the icons?
<Guest7474>+slim instead of gdm
<jpoiret>can you try that first please?
<Guest7474>actually thought it is not require since virt-manager does it on the fly
<jpoiret>sarg: damn, I probably need to finish up my diff-drv script
<jpoiret>that would let us know pretty easily what's missing here
<jpoiret>is there a provenance file in the `system build` system?
<sarg>jpoiret: that's right, the `reconfigure` one depends on provenance, channels and configuration.scm as well
<sarg>they're missing in `system build`
<Guest74>jpoiret ran cmd again after reboot and still missing icons
<sarg>I'm also on exwm and I've just tried `guix shell firefox -- firefox`. Works for me. The only icon packs installed are adwaita and hicolor
<sarg>I also made a mistake installing papirus icon theme which is bloated as hell - ~90k files. After several reconfigures I ended up with no inodes left lol
<Guest74>did you visit the bookmarks page?
<Guest74>hamburger menu top right > bookmarks > manage bookmarks
<sarg>yeah, have the same error
<Guest74>welcome to the club
<Guest74>it is really hard to search for it as well since they either talk about gnome-icons or themes for firefox itself
<lechner>zacchae[m] / multiarch/multilib is a path naming scheme that allows co-installed 32-bit libraries. it is implemented in binutils e.g.
<fruit-loops>"Multiarch/LibraryPathOverview - Debian Wiki"
<lechner>Guix is, of course, way ahead in the path separation due to the store
<sarg>Guest74: try `tango-icon-theme`, it has go-previous
<sarg>yep, works for me with tango
<sarg>you can preview icons with lxappearance
<mmarshall540>Does anyone know the policy on which architectures new packages need to build on? I have a package definition I'm working on which, according to the Guix QA site, builds successfully on everything except for i586-gnu.
<jpoiret>Guest74: hah, I have the same
<jpoiret>mmarshall540: that should be fine, you just need to specify the (supported-systems ...) field properly
<jpoiret>(something which nobody does, but since you're asking :p)
<jpoiret>it's to be expected that most packages would not build on the hurd... otherwise I'd already be running it
<mmarshall540>Oh, that sounds good! I only just noticed that it's the only one without the "-linux" suffix.
<mmarshall540>jpoiret: Thanks!
<Guest74>guess it requires a restart, will try later
<cel7t>I tried building dwm with guix build dwm --with-source=/home/$USER/.local/dwm but got a runpath error (libXft, libX11 etc missing)
<cel7t>How do you guys build dwm usually?
<sarg>Guest74 apply the theme in `lxappearance`. No restart required
<tux_life>Hi! I have a wireless printer/scanner (Canon Pixma MG2950). Works perfectly with distributions like Trisquel and Parabola: system-config-printer reveals it automatically. How do I install it also on Guix? I have cups, sane and avahi, but Guix does not see the network printer.
<lechner>ACTION misses nckx 
<nckx>ACTION is not well, do not inquire further.
<lechner>ACTION is sorry to read that and sends best wishes for a swift and complete recovery
<nckx>Thank you.
<apteryx>how do I cause the failed builds to persist (--keep-failed) when using (guix)'s ,build ?
<apteryx>I tried (set-build-options (open-connection) #:keep-failed? #t) but that doesn't seem to do it
<mirai>jpoiret: ok... so how/when is vm-image.tmpl used?
<mirai>outside of a pre-inst-env?
<jpoiret>? you were the one trying to use vm-image.tmpl right?
<jpoiret>it's not used by anything
<devmsv>hi guix. I'm trying ganeti under guix and when I create an instance it says not enough nodes online (I'm using just one).
<ekaitz>hi guix, our zig 0.10 package is broken => Illegal Instruction. Is this a known thing...?
<ekaitz>it works in 0.9
<gnucode>ekaitz: ut oh! How long have you been playing with zig on guix?
<ekaitz>just today
<pukkamustard>ekaitz: I've also encountered this. I believe it's because Zig is compiled with processor optimizaitons that don't work on older cpus.
<pukkamustard>see the nixpkgs issue:
<fruit-loops>"zig 0.10.1: SIGILL on SSE4a instruction insertq · Issue #214356 · NixOS/nixpkgs · GitHub"
<ekaitz>pukkamustard: they told me in #zig that it looks this line may be missing:
<fruit-loops>"svntogit-community/PKGBUILD at 31055e6750a5672ebbd85114fe7a93163f8af575 · archlinux/svntogit-community · GitHub"
<ekaitz>i'll give it a go and send a patch
<pukkamustard>perfect, thanks!
<pukkamustard>it's a tricky thing to test...if you compile it on your own machine, it will just work :) ... but be different than what the build farms build
<tux_life>ok, I think my Canon Pixma MG2950 printer is supported by Gutenprint drivers. On Guix I can't find any package to install these drivers. I think this is why the network printer is not detected... What to do?
<ekaitz>pukkamustard: well, it's just setting it to avoid it from building for our machine specifically :) but yeah... impossible to test with just one machine
<nbalzarotti>Hi everybody! I think I should ask this on the mailing list but I'll give a shot here. I need opencv 3.4, and tried time-machine. I encountered this: (openssl tests failing because of system time). What's the proper way to circumvent this with package trasnformations? I was looking for some example online but couldn't find much (and for each try i need to wait a lot for package
<nbalzarotti>rebuilds). Is there some blog post or something on the coockbook?
<fruit-loops>"OpenSSL 1.1.1n test failures due to expired certificates (time bomb)"
<weidtn> This guide only works for "user services". How do I define a "system" service? one that shows up when i run "sudo herd status"?
<pkal>isn't that documented in the manual?
<jpoiret>nbalzarotti: you should start by adding a new package definition openssl/fixed, which inherits from openssl using package/inherit, but modifies its arguments field by using substitute-keyword-arguments to add #:test? #f. Then, try to see if that builds
<jpoiret>if so, you can then use package-input-rewriting with `((,openssl . ,openssl/fixed))
<tux_life>Hi! Which cups.scm should I patch? I mean this patch for gutenprint:
<fruit-loops>"[PATCH] gnu: Add gutenprint."
<nbalzarotti>jpoiret: Ok thanks, trying to run the modified openssl now. Will then package-input-rewriting work even if openssl isn't a direct dependency of opencv?
<jpoiret>yes, package-input-rewriting rewrites the full dependency tree by default
<jpoiret>we could consider patching the past using guix/quirks.scm to fix this for everyone
<jpoiret>although you'd then get different derivations, so losing reproducibility 🤔
<Guest74>tux_life cups has a extension parameter for drivers.  if you have the gutenprint package you can just add it to the list see:
<fruit-loops>"Printing Services (GNU Guix Reference Manual)"
<tux_life>Guest74 But I don't have any gutenprint driver package...
<nbalzarotti>ok cool. Oh we have a way to patch the past? Blog post material then :D .. Yeah regarding that, I'm not sure either on which would be better. But the failing package by itself, which used to work, is a lack of reproducibility. The other thing I thought would be to have time-machine use libfaketime set the time set the time of the commit, or better yet, for the future, having the CI system trying to build things with
<nbalzarotti>time set to the unix epoch (or much in the future, so that we catch this time-bombs before they explode)
<Guest74>tux_life you could just copy the patch and define it yourself
<Guest74>if it is not officially included
<tux_life>Guest74 I copy the patch and then what? I can't figure out what to patch - I understand I need to patch a '/gnu/packages/cups.scm' file and I have several on my system.
<Guest74>jpoiret sarg thanks for helping out, my Firefox now loads those arrows
<civodul>hey, hi nbalzarotti! :-)
<sneek>Welcome back civodul, you have 1 message!
<sneek>civodul, rekado says: Make sure that the selected profile on the Configuration tab is a duplex profile. When a playback only profile is selected you won’t see the microphone.
<civodul>rekado: tx! in the end it didn't work on time but got back to work after i really needed it, go figure (i did find about the various profiles)
<civodul>✨new✨ Shepherd CI! ->
<Guest74>tux_life you can copy the code here and save it in some file. also read and search for --install-from-file.  but I am not sure if you edit config.scm it knows about the package gutenprint after that since you have installed it locally.  I am new to
<Guest74>Guix and Scheme too.
<fruit-loops>"[PATCH] gnu: Add gutenprint."
<nbalzarotti>Hi civodul! :D
<the_tubular>Nice civodul!
<the_tubular>Is it big enough to warrant a blog post ?
<nbalzarotti>jpoiret: I'm having no luck, tests always run. Might it be that openssl gets pulled in by guix itself?
<jpoiret>civodul: were we always able to cross-build different versions of gcc?
<jpoiret>nbalzarotti: oh, does the error happen during guix pull?
<jpoiret>of course it does, duh :(
<jpoiret>then, I'd say quirks.scm would be the way, using a patch to add #:tests? #f to the openssl package definition
<nbalzarotti>I'm using commit e337061b3a7af892d3a14f5191efb2487ec0fad9 but I think a lot of the past might be affected
<fruit-loops>"guix.git - GNU Guix and GNU Guix System"
<civodul>jpoiret: probably not always, and not all versions; but some did work
<civodul>jpoiret: #:tests? #f in quirks.scm is not an option: that would change the derivation
<jpoiret>yes, I'm not saying we should upstream it
<civodul>the only recourse for time bombs is building in an (virtual) machine with a date in the past
<jpoiret>the only other option i see would be patching the daemon to run everything with a modified time
<civodul>AFAIK we can't change the date "locally" (per process)
<jpoiret>there are time namespaces I think now
<civodul>so i'd suggest using qemu with -rtc
<civodul>yes, but the time namespace is only for CLOCK_MONOTONIC
<civodul>it's not for the actual date as returned by gettimeofday etc.
<jpoiret>arf, right, that was too good to be true
<jpoiret>re cross-compiling gcc: if we want to cross-compile gcc X, we first need to build a cross-compiling gcc X on the host, then use that to cross-compile gcc X and its runtime libs
<civodul>it doesn't have to be the same version
<jpoiret>it has to
<jpoiret>because you need to compile the runtime libs with the same version
<jpoiret>otherwise you run into the issue that we get with gcc 12
<civodul>oh right, but the runtime libs (libgcc_s, libgomp, etc.) are compiled as part of GCC itself
<civodul>or am i missing something?
<jpoiret>they are yes
<jpoiret>but in the recommended bootstrap mode, they'd be compiled with the stage 3 compiler
<civodul>and that's not what we're doing?
<jpoiret>if we're in cross-compilation mode, we can't do that, because as soon as host=/= system, you can't do the bootstrapping, since you can't run the compiled gcc
<jpoiret>so we basically just cross-build gcc once and also its runtime libs
<civodul>oh ok
<civodul>so are you saying that attempts to cross-build several versions were futile? :-)
<jpoiret>but changing that would require a lot of effort, since basically `guix build --system=X --target=Y gcc@v` would need to still pass the X gcc to the builder so that it then builds the cross-compiler at version v for Y, and then builds a native gcc for Y
<jpoiret>given how cross-compilation works in guix right now, yes :)
<jpoiret>only the same version of gcc can be cross-built with certainty
<civodul>though currently in core-updates 9, 10, and 11 cross-build fine apparently
<civodul>as in: guix build --target=aarch64-linux-gnu -e '(@@ (gnu packages gcc) gcc-11)' -n
<jpoiret>well, yeah, because they're not too far apart, but 12 is such an instance
<civodul>i see
<civodul>well we can give up on 12 and 8 if that's too much work
<civodul>what matters is to have the one in make-bootstrap.scm cross-build fine
<civodul>so that we're able to produce those bootstrap tarballs
<jpoiret>8 is probably fixable with the right -Wno (but I tried 5 and it can't even find gmp.h, whereas the native one can, probably for the same reason)
<civodul>(and actually we don't even need that on x86 thanks to the full-source bootstrap)
<jpoiret>but yeah, we should probably forbid cross-building gcc from the command line
<jpoiret>and instead add some procedure which takes a gcc package definition and creates a cross-compiling definition for a system
<jpoiret>so that people who REALLY want guix to handle the cross-compilation of gcc itself can still use it
<civodul>cross-compilation in Guix is very much "best effort"; there's only a few packages we really pay attention to
<civodul>GCC is no exception in that regard
<jpoiret>what's funny though is that there is nothing about cross-building a gcc on the official "installing gcc" documentation
<Guest74>I want to rename a packages executable to differentiate between the original and my customized one.  how would I do that? If I do add-before 'install 'rename install phase doesn't work anymore
<Guest74>thought something like this
<fruit-loops>"debian Pastezone"
<Goober_patrol66>when I try to run "guix pack", it tries to build "proot-static". the check phase on that package started running last night on a 6-core ryzen desktop, and it is still running, which is absolutely ludicrous. how do I turn off the check phase for it? i'm aware of package transformations, but i think proot-static is a dependency of the guix pack command itself and not a particular package
<jpoiret>civodul: I'm having trouble programatically triggering cross-builds. seems to just build the native one
<fruit-loops>"debian Pastezone"
<jpoiret>any gotcha i should know?
<civodul>jpoiret: try passing explicit system and target arguments to 'lower-object'
<civodul>it doesn't really honor (%current-target-system)
<civodul>Goober_patrol66: hi! this is weird; however substitutes are available currently for proot-static
<civodul>what does "guix weather proot-static" tell you?
<jpoiret>well, I stopped just short of that for some reason...
<jpoiret>it works, but is there a reason why lower-object doesn't honor %current-target-system? from a first glance I thought it wolud
<jpoiret>would *
<apteryx>jpoiret: re cross-compiling with different gcc version; I had some patches in #60056 that may help
<fruit-loops>"cross-compilation doesn't honor gcc native input"
<Goober_patrol66>civodul: it's actually worse than i said. i'm trying to run guix pack on a raspberry pi. i tried building it on my desktop to give me an idea of how long it would take.
<Goober_patrol66>civodul: guix weather says "0.0% substitutes available (0 out of 1)" and also "100.0% substitutes available (1 out of 1)", not sure what that means
<jpoiret>apteryx: just looked at it briefly, but it seems we could cherry pick patch 3 onto gnu-build-system, right?
<jpoiret>although i don't think it would work just like this: we'd need to supply gcc-12 as a native-input to gcc-12 😳
<Goober_patrol66>civodul: bordeaux is enabled as a substitute server by default on guix on debian, right? i think it's saying it's available on bordeaux
<civodul>Goober_patrol66: it should be; you can check the options passed to guix-daemon with "ps aux |grep guix-daemon" or similar
<Goober_patrol66>i don't see any servers listed in the output of that
<civodul>then if you're on 1.4.0 or later bordeaux.guix is enabled by default
<jpoiret>well, i don't think debian has 1.4
<jpoiret>and the daemon is the distro-provided one by default
<apteryx>jpoiret: yes, the interesting is in patch 3
<apteryx>jpoiret: ah, so maybe not directly related to the problem you're trying to solve
<apteryx>is Tramp still broken in Emacs?
<jpoiret>apteryx: no, unfortunately it's not exactly similar (but close)
<apteryx>seems Tramp is broken here (M-x /ssh:my-host:) returns "File not found and directory write-protected"
<Goober_patrol66>yeah, the problem was bordeaux not being enabled, thanks