IRC channel logs

2023-03-29.log

back to list of logs

<mitchell>hello guix, I am trying to run guix in a vm but every time I try to build a profile it fails saying it can't parse the derivation : expected string `Derive(['
<mitchell>commit is 01fd930f
<mitchell>01fd830f **
<mitchell>Well my guix on the host system can build profiles just fine from that commit... What could be happening? I am running an image generated from `gnu/system/examples/bare-bones.tmpl` copied out of the store and enlarged with qemu-resize.
<apteryx>mitchell: I don't know, but potentially the daemon is too old? although that shouldn't be the case per your commit
<User-31>Does anyone know what package is supposed to provide the file "org.gnome.nm-applet.eap.gschema.xml"? Because after a recent upgrade nm-connection-editor crashes saying it can't find that file when I try to modify certain wifi networks. Although "org.gnome.nm-applet.gschema.xml" exists (provided by package network-manager-applet), but not the *eap*
<User-31>one. Considering it was working before and now the file doesn't exist, could it be a bug?
<apteryx>User-31: oh, network-manager was recently upgraded
<apteryx>I guess the GNOME applet will need to be updated for it
<apteryx>do you know which package name that is?
<apteryx>but nm-connection-editor works for me
<apteryx>ok, the package is network-manager-applet
<User-31>apteryx: yeah I think it's that one, because it provides the non-eap file, so I'm guessing it's supposed to also provide the eap one.
<apteryx>ah, "certain wifi networks"
<User-31>apteryx: Honestly I don't know much about various wifi encryptions. But I think the network was wpa-enterprise with peap, if I try to edit it it crashes the connection editor. But other wifi connections still work.
<apteryx>perhaps iwd is the thing responsible to provide the EAP support? https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/251
<practical-friend>"Extend D-Bus API for iwd and WPA2 Enterprise (#251) · Issues · NetworkManager / NetworkManager · GitLab" https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/251
<apteryx>network-manager is already built with support for it: "-Diwd=true"
<User-31>I can give it a shot
<apteryx>it has: /gnu/store/8x2wxs82ayl4yymykjyc0avr0kwbv7p4-iwd-2.3/share/dbus-1/system.d/ead-dbus.conf
<apteryx>not sure if that'll help
<apteryx>seems there's also some iwd? deprecated field to network-manager-configuration
<apteryx>see info '(guix) Networking Setup'
<apteryx>I'd try adding iwd (the symbol) to the 'shepherd-requirement' of your network-manager-configuration configuration.
<User-31>apteryx: Trying to add it to the configuration and reconfigure my system results in the error: "NetworkManager requires 'iwd', which is not provided by any service". So I guess I need to also need to add an iwd service? But it doesn't look like there is one
<apteryx>could you share your operating-system snippet, or at least the network-manager-configuration one?
<apteryx>you can paste it to paste.debian.net, if there's no personal info in it
<User-31>It's nothing special since I didn't actually have any network-manager configuration prior to this (or really any network configuration of any kind other than adding openssh. It was just using the default from %desktop-services. This is what I tried: http://paste.debian.net/1275579/
<practical-friend>"debian Pastezone" http://paste.debian.net/1275579
<apteryx>OK; it looks fine
<apteryx>so I guess the iwd part is unfinished work
<User-31>The only thing I could find was this random repo that defines their own iwd-service-type https://git.sr.ht/~krevedkokun/dotfiles/tree/master/item/channel/system/services/networking.scm
<practical-friend>"~krevedkokun/dotfiles: channel/system/services/networking.scm - sourcehut git" https://git.sr.ht/~krevedkokun/dotfiles/tree/master/item/channel/system/services/networking.scm
<mirai>I might have hallucinated a bit when I described 'iwd as a service
<mirai>I think there was a mail or patch that proposed iwd as a service
<mirai>ah yes, #59971
<practical-friend>"iwd is packaged but there is no iwd shepherd service" https://issues.guix.gnu.org/59971
<mirai>perhaps a motivated individual could step in to fill the void?
<User-31>mirai: I'm just trying to get my wifi working again, it seems the eap schema file is no longer provided by network-manager-applet. I'm not sure if it's a bug or not. I was only trying iwd as a possible alternative
<mirai>apteryx: was #62463 closed by mistake?
<practical-friend>"[PATCH] services: fstrim: Fix schedule ungexp." https://issues.guix.gnu.org/62463
<apteryx>nope, I just merged it
<apteryx>commit f215d80127
<PotentialUser-4>hey, has any one else tried to do a base install lately, I keep getting an error saying it cant connect...
<PotentialUser-4>I have been running triqueal on the system ... and it had internet ...
<mirai>right, the message I received looked a tad different compared to the usual
<mirai>thanks for clarifying
<apteryx>OK! It was me being lazy in emacs-debbugs and pressing C done RET ;-)
<wdkrnls>Dear Guix, does anyone use the "locate" command?
<wdkrnls>I have noticed it does not accept --prunepaths despite it being listed in the manual.
<apteryx>wdkrnls: the command that accepts --prunepaths is updatedb, not locate itself
<wdkrnls>sorry, that is what I meant :)
<wdkrnls>It just doesn't seem to do anything with that information.
<wdkrnls>I have noticed locate is really slow for the regular expression searches I am performing.
<wdkrnls>I figured leaving all those extra guix profile generations around would slow it down.
<wdkrnls>So, I thought it would be a good idea to have locate command for my home directory.
<wdkrnls>Then, I thought it would be even better to have a locate command just for non-hidden files.
<wdkrnls>I tried: updatedb --localpaths='/home/me' --prunepaths='*/.*' --output=/path/to/my/database/home.db
<podiki[m]>apteryx: I still need to see if the network-manager update is what is causing my connection issues after waking, but is there a reason we are using 1.43.4? actually not seeing that version and a note about even numbers for stable releases
<podiki[m]>and 1.42 seems like the newest release mentioned (and what Arch has, as a reference)
<RavenJoad>Is is possible to forcibly inline a function for use in a Shepherd service? I have `(start #~(make-forkexec-constructor #:log-file (get-log-file-path "wireplumber")))`, but it does not look like get-log-file-path is available by the time the service runs.
<RavenJoad>get-log-file-path is NOT defined as a gexp. Just a simple procedure, meaning `(define (get-log-file-path daemon-name) ...)`.
<dcunit3d>RavenJoad: i think the `get-log-file-path` will be evaluated in the gexp at build time, since the #~ makes it a build expression. other users use an environment variable for things like #:log-file, but i'm not sure how it's available at build time.
<dcunit3d>you might take a look at https://git.sr.ht/~akagi/guixrc/tree/master/item/magi/home/services/pipewire.scm
<practical-friend>"~akagi/guixrc: magi/home/services/pipewire.scm - sourcehut git" https://git.sr.ht/~akagi/guixrc/tree/master/item/magi/home/services/pipewire.scm
<dcunit3d>although some services will pass `#~(lambda args ...)` to the shepherd-service record's start field
<soundmodel>any ideas whether it'd be possible to get a standard C++ ABI on Guix? https://stackoverflow.com/a/10128080/4959635
<dcunit3d>RavenJoad: see guix/gnu/services/shepherd.scm#L189, guix/gnu/services/spice.scm#L52 for the spice-vdagent service, and (i think) shepherd/modules/shepherd.scm#496, although there are probably more clear lines to refer to in shepherd
<ngraves>Hi guix !
<ngraves>Is it usual that the linked folder to /run/current-system is not the same that the one returned at the end of "guix system reconfigure" ? How can I compare them ?
<jpoiret>ngraves: they should be the same
<jpoiret>RavenJoad: you can't use a procedure defined outside a gexp inside a gexp without passing it inside somehow
<jpoiret>what is usually done is using (with-import-modules ((some module) (some other module)) #~(begin (use-modules (some module)) (some gexp))), and some module contains the procedures you want
<ngraves>jpoiret: Thanks, they are now (possibly a clipboard mistake).
<jpoiret>did you have a look at the canonicalized paths?
<rekado>etienne_: the error output is suspicious. You should never have a mix of libraries from Guix and from your system.
<rekado>this is wrong: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /gnu/store/gfjp8gfv4xxschbaxvldpigadfwqazhw-glibc-2.33/lib/libpthread.so.0)
<rekado>somehow you ended up loading the system’s libc.so.6 *and* Guix’s libpthread.so.0.
<etienne_>rekado: Totally, that doesn't make sense. I don't think I used a --pure flag to create the shell I used to configure/make. I think I'll just start from scratch, repull from guix and start over.
<sneek>etienne_, you have 1 message!
<sneek>etienne_, jpoiret says: Not sure pulling will help, did you build using guix-provided dependencies or using debian's?
<etienne_>jpoiret: I have tried to follow the process described in the dev manual; it is possible I made a mistake, but I have not specified specifically dependencies from my debian.
<jpoiret>what do you mean by repull-ing from guix? if you want to develop using the guix-provided dependencies, the steps should be `guix shell -D guix; ./bootstrap; ./configure --localstatedir=/var;make`
<jpoiret>still, check after `guix pull` that `guix describe` does indicate a newer commit
<etienne_>Thanks jpoiret, yes, that's what I (think I) have done. I would rm -Rf and repull just to be more conservative than "make clean".
<etienne_>obviously, something happened in the configure/make stage that confuses my system. I didn't spot any error, and it did compile, and will be more attentive.
<jpoiret>it's probably the ./configure that went wrong. Although, just having `./pre-inst-env guile` not work is weird
<nutcase>Hi all, I'd like to use gtklp on my GUIX system. I think it is not available yet, therefore I'm trying to build it using a package definition from an scm file. 'guix package' complains "The pkg-config script could not be found or is too old.". I included pkg-config in native-inputs. What is missing?
<rekado>nutcase: can you please provide more details such as the package definition you wrote so far?
<nutcase>rekado: https://paste.debian.net/1275617/
<practical-friend>"debian Pastezone" https://paste.debian.net/1275617
<nutcase>this is my first try and pkg-config is the firesterror I get. I also tried glib-and-gtk-
<nutcase>glib-or-gtk-build-system
<rekado>nutcase: I can’t reproduce this
<rekado>when I switch back to gnu-build-system (from cmake) and add the missing import of (gnu packages pkg-config) to the top I get a different error
<rekado>No package 'gtk+-2.0' found
<rekado>nutcase: how are you trying to build this?
<nutcase>rekado: guix package --install-from-file=gtklp.scm -v 3
<rekado>I recommend using “guix build -f the-file.scm”
<rekado>“guix build” is verbose by default
<rekado>what version of Guix do you use?
<nutcase>rekado: I get the same error with 'guix build'. 'guix -V' says guix (GNU Guix) 6d500ad544b2ca773b09001e16d38cb35ce9eb38 (c) 2023. I think (not sure), I'm using guix 1.4, I installed guix system in February.
<practical-friend>"guix.git - GNU Guix and GNU Guix System" https://git.savannah.gnu.org/cgit/guix.git/commit/?id=6d500ad544b2ca773b09001e16d38cb35ce9eb38
<nutcase>rekado: i tried guix build with this one: https://paste.debian.net/1275621/
<practical-friend>"debian Pastezone" https://paste.debian.net/1275621
<rekado>nutcase: works for me: https://elephly.net/paste/1680084809.scm.html
<practical-friend>"test.scm" https://elephly.net/paste/1680084809.scm.html
<rekado>successfully built /gnu/store/w9rqc5iq70ndsig3lhyvsx8jg8x2jikn-gtklp-1.3.3.drv
<rekado>I work from a git checkout of Guix and run ./pre-inst-env guix build -f test.scm
<rekado>but it works just as well with just “guix build -f test.scm”
<nutcase>rekado: "successfully built /gnu/store/w9rqc5iq70ndsig3lhyvsx8jg8x2jikn-gtklp-1.3.3.drv" Thank you so much. Do you think it is a good idea to create a pull request to it? I planned to try this in order to get familiar with the process in case I'd like to add additional packages to guix
<nutcase>rekado: but I still need to figure out, how I could have found out, what to add as (native) inputs and as arguments
<rekado>nutcase: I added whatever the build complained about
<rekado>it would have been faster to look at configure.ac to see what the build system looks for
<rekado>I noticed that it tried to run an older version of aclocal, so I decided to bootstrap the package build system from the autotools files.
<rekado>the gnu-build-system has a bootstrap phase, and to trigger it I deleted the generated “configure” script, thus forcing it to generate the script from configure.ac
<rekado>to do that we need autoconf, automake, libtool, and gettext (we use gettex-minimal for builds).
<nutcase>rekado: that (adding what the build system complains about) was my plan as well, but I got stuck with its first complain, although I already added (gnu packages pkg-config) to the (use-modules).
<nutcase>rekado: I will have a look at it tonight, when there is more time.
<rekado>adding (gnu packages pkg-config) alone would only make the packages defined therein available to your file
<rekado>but not to the build
<rekado>(native-inputs (list pkg-config)) adds it to the build
<nutcase>and I think they were available since it was parseable
<rekado>at no point did I get an error about pkg-config, so I still don’t know what exactly you encountered
<nutcase>guix didn't complain about not being able to resolve the symbol pkg-config
<nutcase>rekado: I will have a look at it tonight again. Maybe I will try to contact you again
<rekado>about the #:configure-flags: I added those because the build failed with “multiple definition” errors
<rekado>older GCCs didn’t mind multiple definitions, but newer GCCs fail with an error
<rekado>we can get the old behavior back by adding -fcommon to CFLAGS
<soundmodel>so anyone know if there are prospects for standardized C++ on Guix?
<soundmodel>I mean, I find several papers that discuss something along that, like https://www.csl.cornell.edu/~cbatten/pdfs/batten-guix-carrv2022.pdf
<unwox>hey! was anyone able to get pulseauidio working with bluetooth headphones?
<User-31>apteryx: I temporarily fixed my wifi issue by rolling back to network-manager-applet prior to its update to version 1.30. In case it matters, here is the diff between the schema files (left is 1.28 right is 1.30). Looks like the newer one is missing entries for EAP, and also switched from gettext-domain="libnma" to "nm-applet". Thanks for your help
<User-31>earlier.
<User-31>apteryx: Forgot the link to the diff: http://paste.debian.net/1275632/
<practical-friend>"debian Pastezone" http://paste.debian.net/1275632
<rekado>“guix system container” is nice. It produces a launcher script.
<rekado>now I would really like to have a nicer name for it.
<rekado>so I use “-r” to link it
<rekado>but I can only do this once as the link name will be in use the second time I run this
<rekado>“-r” is weird
<rekado>I’d much rather like to have a proper profile
<rekado>with roll backs and all that
<rekado>what do you think of that?
<user_oreloznog>unvox: i actually listen radio on bluetooth speakers, but I don't know if it's due to alsa or pulseaudio
<unwox>user_oreloznog: did you have to configure anything for that?
<etienne_>Thanks jpoiret, I'll have a try again, pay attention to what I do, and report back.
<etienne_>Merci !
<user_oreloznog>unwox: yes, I added 3 lines in my list of services.
<user_oreloznog>(service bluetooth-service-type
<user_oreloznog>bluetooth-configuration
<user_oreloznog>(auto-enable? #t))
<user_oreloznog>*(bluetooth-configuration
<user_oreloznog>in /etc/config.scm
<unwox>user_oreloznog: i'll try it, thank you. is bluetooth output listed as a separate card in pavucontrol for you?
<user_oreloznog>unwox: I don't know, I just see the audio speakers in the sound setting of gnome.
<user_oreloznog>*setup
<unwox>got you, thanks
<user_oreloznog>I can paste my config if you need, YW :)
<unwox>well, unfortunately (auto-enable? #t) didn't help. it's probably because i've got fairly minimal configuration without any DE
<Guest50>Hi. I want to specify keybindings for GNOME in my config.scm, but it seems like there is no able configuration record available yet. Has really no one shared a configuration record for that, yet? Would I have to write my own lisp bindings for GNOME?
<unwox>user_oreloznog: it could be helpful :)
<user_oreloznog>unwox: after make changes, you need to 'sudo reconfigure /etc/config.scm'
<unwox>user_oreloznog: yeah, i know that
<user_oreloznog>Ok...
<user_oreloznog>unwox: i have tried to send to you my config file, i donr't know if you can see it
<dcunit3d>will a `guix pull` fail on a channel where some .scm files have no packages?
<unwox>user_oreloznog: i'm not able to see it but i think i figured my problem out. thank you for help!
<user_oreloznog>unwox: cool! yw :)
<dcunit3d>these package transformations are super useful by the way: https://github.com/dcunited001/ellipsis/commit/3db4b0d3647339372a44ff01e9cdb3cc2c98157d
<practical-friend>"move custom package build to a manifest · dcunited001/ellipsis@3db4b0d · GitHub" https://github.com/dcunited001/ellipsis/commit/3db4b0d3647339372a44ff01e9cdb3cc2c98157d
<dcunit3d>i just finally figured out how to really use the manifests/shell
<dcunit3d>a few days ago
<bjc>i love them. they're one of guix' best features, imo
<etienne_>Hi! What happens when you guix shell -D and --pure at the same time?
<bjc>you get a development environment without any of the enclosing environment leaking in
<etienne_>Thanks! Does the order of the flags matter?
<bjc>nafaik
<etienne_>I just saw your ealier comment about manifest/shell. Is there a good tutorial you'd recommend? I come from an experimental research perspective, where I'd like to give a unit (manifest + channels/commits) and have someone replicate my exact bitwise environment. I have had success doing it with manifests/shell, but I would like know the recommend way, and how this differs from profiles.
<etienne_>(and no, I am just beginning with this, and have played with guix pack yet)
<bjc>i don't know if there's a “proper way”, so to speak. for my own projects, i put all the dependencies in ‘manifest.scm’, and use ‘guix shell --pure -m manifest.scm -- $cmd’
<etienne_>Yeah, that's what I played with. Pretty powerful stuff if you ask me.
<_graywolf>When would one prefer --pure and when --container? I understand the difference, just unsure what the "default" go-to should be.
<bjc>for dev, i don't think it matters that much, since you probably don't need the isolation provided by containers. but i'm hardly an expert
<etienne_>I don't know the internal mechanics, but I'd imagine --pure simply empty variables, and --container chroot into an isolated environment. The latter seems more secure.
<etienne_>The --container would also be impermeable to external processes, I'd think.
<etienne_>probably makes a difference when doing multithreading, mpi, complex piping and network?
<etienne_>(I am new to this, .. I am hoping someone wiser would yell at me if I am speaking bullshit.. :) ..)
<etienne_>Is there any way to pass a new PS1 to guix shell?
<_graywolf>Oh, --container does not even have network available by default. Interesting.
<etienne_>Ah interesting! That makes sense actually, from a design perspective. With chroot and the like, you'd have to explicitly add it afterwards.
<_graywolf>Luckilly there is --network flag :)
<etienne_>Hehe.
<jpoiret>--container is not a chroot, it relies on linux namespaces
<apteryx>does chroot not relies on linux namespaces too?
<apteryx>apparently not; it's a more primitive mechanism
<etienne_>Thanks jpoiret .. still up for questions on glibc versioning?
<apteryx>neat, I was able to reconfigure my system/update my user profile from staging
<rekado>etienne_: for reproducibility I record “guix describe -f channels” and the manifest; to recreate: guix time-machine -C channels.scm -- shell -m manifest.scm
<etienne_>Thanks rekado!
<mitchell>Hello guix, I am trying to apply a patch to emacs-guix but the patching phase says the file is read-only. How can sources be read-only during patching?
<mitchell> https://paste.debian.net/1275650/ https://paste.debian.net/1275651/
<practical-friend>"debian Pastezone" https://paste.debian.net/1275650
<practical-friend>"debian Pastezone" https://paste.debian.net/1275651
<spiderbit>I just fail hard to define a emacs user service
<spiderbit> http://ix.io/4s9j
<spiderbit> http://ix.io/4s9j/common-lisp
<practical-friend>"" http://ix.io/4s9j/common-lisp
<spiderbit>it shows it's started
<spiderbit>when I try to stop it I have to C-c it, but then it's stopped if I start it, it says it started but there is no emacs process
<spiderbit>basically did the same as this guy:
<spiderbit> https://lists.gnu.org/archive/html/help-guix/2022-06/msg00051.html
<practical-friend>"Re: Guix home user-level shepherd services" https://lists.gnu.org/archive/html/help-guix/2022-06/msg00051.html
<spiderbit>don't understand how that cannot work it shouldn't be rocket science... sorry a bit frustrated already :D
<mitchell>spiderbit: I would like to look at your links but they are being flagged as security risks. Can you post to paste.debian.net instead?
<mitchell>the ix.io ones i mean
<spiderbit>can I post 20 lines here
<mitchell>probably better to use the debian site
<spiderbit>is that a blacklist? or a whitelist (security)
<spiderbit>how is such a basal website a security risk :D
<mitchell> https://paste.debian.net/1275652/ this is what it tells me, i'm not really that hip to internet security so I generally listen to these warnings
<practical-friend>"debian Pastezone" https://paste.debian.net/1275652
<mekeor[m]>its because its http, not https
<mekeor[m]>doesnt matter much
<RavenJoad>jpoiret: Re: Modules for procedure in gexp: The procedure is in the same module as the service definition. So I still need to import it?
<spiderbit>ahh
<podiki[m]>rekado: re: xetex and 62493 i didn't get your response but saw it on the web front end, will respond later but trying the naive guix import texlive xetex errors our :(
<spiderbit>something stupid I knew it, but well let's stay on topic
<podiki[m]>out
<spiderbit>gosh is that paste website complicated :D
<spiderbit> https://paste.debian.net/1275653/
<spiderbit>there you go
<practical-friend>"debian Pastezone" https://paste.debian.net/1275653
<mitchell>spiderbit: Pro-tip you can use #; to comment out the following sexp instead of ; on every line
<mekeor[m]><mitchell> "Hello guix, I am trying to apply..." <- hey! maybe share the error message too?
<spiderbit>well I select the text and press the emacs defined button to comment / uncomment
<mitchell>mekeor[m]: https://paste.debian.net/1275654/
<practical-friend>"debian Pastezone" https://paste.debian.net/1275654
<spiderbit>I think it assumes that emacs is installed
<spiderbit>with the path as string
<spiderbit>on the system level
<mekeor[m]>mitchell: wildlyguessing without profound knowledge: Maybe it's because the file is read-only checked into the git-repo or so?
<spiderbit>you can use the specification->package  block instead I assume that takes care for installing emacs
<spiderbit>I just made it less and less dynamic to find the problem
<spiderbit>also with log file you have to make sure the path is correct / to your user
<mitchell>Can you start and stop shepherd services without a PID file? I thought that was important
<spiderbit>don't know
<mitchell>mekeor[m]: This file is writable by the owner in the repo
<RavenJoad>spiderbit: The issue you are having is because Emacs defaults to a background fork, which Shepherd does not support. Use the "--fg-daemon=<socket-name>" flag.
<spiderbit>would be nice if shepherd would then not detect it running
<spiderbit>or crash when I try to stop
<spiderbit>hard to debug such strange behaviour
<spiderbit>but well I try it
<spiderbit>sorry still slightly annoyed :D
<RavenJoad>It can't. I had similar complaints when I set up my service. From (emacs) Initial Options, "A “background” daemon disconnects from the terminal and runs in the background". (shepherd) Service De- and Constructors "Note: This will not work as expected if the process “daemonizes” (forks); in that case, you will need to pass ‘#:pid-file’, as explained below."
<RavenJoad>I think the problem circles back around to not having cgroups to collect related processes together for tracking.
<spiderbit>$ herd restart emacs-daemon
<spiderbit>Service emacs-daemon is not running.
<spiderbit>Service emacs-daemon has been started.
<spiderbit>$ ps aux | grep emacs
<spiderbit>black    14306  0.0  0.0   6516  2304 pts/1    S+   17:09   0:00 grep --color=auto emacs
<spiderbit>does it need the pid thing on top of it
<spiderbit>2023-03-29 17:09:14
<spiderbit>2023-03-29 17:09:14 Some deprecated features have been used.  Set the environment
<spiderbit>2023-03-29 17:09:14 variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
<spiderbit>2023-03-29 17:09:14 program to get more information.  Set it to "no" to suppress
<spiderbit>2023-03-29 17:09:14 this message.
<spiderbit>that's in the log file
<spiderbit>ohh or is the name behind fg-daemon mandatory
<spiderbit>I think I forgot a "-"
<spiderbit>2023-03-29 17:13:31 failed to change to user #:t:
<spiderbit>2023-03-29 17:13:31 Wrong type (expecting string): #:t
<spiderbit>hmm it's commented out
<spiderbit>so no it still not works for some reason
<spiderbit>do I have to rebuild something after
<spiderbit>guix home reconfigure src/guix-config/home-configuration.scm
<spiderbit>2023-03-29 17:16:52 failed to change to user #:t:
<spiderbit>2023-03-29 17:16:52 Wrong type (expecting string): #:t
<spiderbit>I even explicitly set it in my home configuration to
<spiderbit>#:user "black"
<spiderbit>something is not refreshing
<rdrg109_>[Q] I've done the graphical installation and in the step where I'm shopwn the generated /etc/config.scm I forgot to press the "Edit" option to modify "kernel". Because I'm using the icnorrect "kernel", my system will not boot. How can I execute "guix system reconfigure" now that I can't boot? Is my only alternative do the installation process again which would imply downloading all packages again?
<RavenJoad>spiderbit: You can see mine here https://github.com/KarlJoad/synnax/blob/master/modules/synnax/systems/home.scm#L34
<practical-friend>"synnax/home.scm at master · KarlJoad/synnax · GitHub" https://github.com/KarlJoad/synnax/blob/master/modules/synnax/systems/home.scm#L34
<spiderbit>I have a idea what the problem is
<spiderbit>I have somewhere seen it as  (services
<spiderbit>   (list
<spiderbit> (service home-shepherd-service-type
<spiderbit>         (home-shepherd-configuration
<spiderbit>          (services (list
<spiderbit>             (shepherd-service
<spiderbit>but the file that generates services? :D
<jlicht>hey guix!
<podiki[m]>o/
<apteryx>rdrg109_: you could try the chroot process described in the manual
<ioxception_>rdrg109_: what about booting from a guix or other linux disc and performing changes in "chroot"?
<apteryx>rdrg109_: and reconfigure from there
<ioxception_>rdrg109_: what apteryx said
<apteryx>:-)
<podiki[m]>apteryx: what would be the easiest way to test out different versions of network-manager? local guix checkout with modifying the package definition? copy the service definition and change to point to a different package? (i rely on another channel so i haven't tried reconfiguring from a local guix checkout before)
<spiderbit>it's really like guix home just get ignored
<spiderbit>2023-03-29 17:30:24 failed to change to user #:t:
<spiderbit>2023-03-29 17:30:24 Wrong type (expecting string): #:t
<spiderbit>I make huge chances
<spiderbit>but nothing chances
<spiderbit>:)
<RavenJoad>spiderbit: Pastebin the entire config?
<spiderbit>yes wait a sec
<spiderbit>RavenJoad: https://paste.debian.net/1275660/
<practical-friend>"debian Pastezone" https://paste.debian.net/1275660
<spiderbit>it's just so frustrating because you get zero usable error messages it just incorrectly succeeds brings some old stuff in the config pretents do stop or start pretents that it would work but it doesn't
<unmatched-paren>afternoon guix :)
<RavenJoad>I have never had an issue where old stuff comes back in, or things pretend to stop. But I agree, sometimes Guix and by extension Guix home produce less-than helpful errors.
<unmatched-paren>spiderbit: one of the problems seems to be that you're trying to use SERVICE for what should be a SIMPLE-SERVICE
<unmatched-paren>SERVICE doesn't create a new service; it adds/configures an existing service-type
<unmatched-paren>SIMPLE-SERVICE extends an existing service to create a new one; it's a shorthand for a simple SERVICE-TYPE used with SERVICE
<unmatched-paren>although since you've got SERVICE commented out the actual immediate problem is something else...
<RavenJoad>spiderbit: I built your home environment (after commenting out the bashrc and profile local-files, as those paths do not exist on my system), and everything went fine.
<unmatched-paren>to get that %logdir variable to work, you'd need to gexp to the value:
<unmatched-paren>*gexp the value:
<unmatched-paren>#~(or ...)
<unmatched-paren>that way you could ungexp it in START to embed the %LOGDIR gexp within the START gexp
<spiderbit>hmm
<unmatched-paren>but again that's not the immediate issue since you're not using %LOGDIR at the moment...
<unmatched-paren>i'm struggling to see what the problem is...
<spiderbit> https://github.com/KarlJoad/synnax/blob/master/modules/synnax/systems/home.scm#L34
<unmatched-paren>by the way, you might want to replace that #~(make-kill-destructor) with this:
<practical-friend>"synnax/home.scm at master · KarlJoad/synnax · GitHub" https://github.com/KarlJoad/synnax/blob/master/modules/synnax/systems/home.scm#L34
<spiderbit>I just changed it like the example RavenJoad gave
<spiderbit>there it's no simple-service
<unmatched-paren> https://paste.sr.ht/~unmatched-paren/318bd5b14ead1a3f10326049b0866f47c906103b <- this is probably better for STOP
<practical-friend>"emacs.scm — paste.sr.ht" https://paste.sr.ht/~unmatched-paren/318bd5b14ead1a3f10326049b0866f47c906103b
<unmatched-paren>i think what it does is allows emacs to run hooks that are assigned for when emacs is killed, though i'm not sure whether that would also happen with MAKE-KILL-DESTRUCTOR
<RavenJoad>I do not usually halt/kill my Emacs daemon, so I have not gotten a good solution for the stop slot yet.
<spiderbit>all that for a emacs --daemon... I think I put it into xinitrc and let it be... like trying for hours to do such a simple task
<unmatched-paren>spiderbit: ah, i didn't know you could do (service home-shepherd-service-type ...)
<RavenJoad>spiderbit: Have you tried a guix home build first? From what you shared with me, your config should work.
<unmatched-paren>it's definitely better to use simple-service though
<spiderbit>I do reconfigure
<spiderbit>is that not enough?
<unmatched-paren>guix home build compiles the home definition without "installing" it
<unmatched-paren>so it's helpful for debugging sometimes
<RavenJoad>Reconfiguring is enough to install the changes, but a build can be faster.
<spiderbit>guix home build src/guix-config/home-configuration.scm
<apteryx>spiderbit: I don't use 'guix home', but i have a very basic shepherd service for emacsclient that reads like: https://paste.debian.net/1275665/
<practical-friend>"debian Pastezone" https://paste.debian.net/1275665
<unmatched-paren>looking at both RavenJoad's and my own (very ugly and complex, don't ask for it, it'll confuse you more :)) emacs services it seems like yours should definitely work
<spiderbit>I am a newer guix user so I am still confused with all the files and commands... I switched from nixos because I love lisp mostly :D
<unmatched-paren>spiderbit: i agree about the errors
<unmatched-paren>i actually think it shouldn't be too hard to make the errors better
<unmatched-paren>in a lot of places where "generic", difficult-to-understand exceptions can occur, we just let the exception unwind as it is, rather than maybe trying to catch it and augment it with lots of extra context that would make it much easier to track down problems
<RavenJoad>spiderbit: I have never seen this error "failed to change to user #:t:" that you posted before. Can you pastebin the entire failing output?
<spiderbit>that it's basically
<spiderbit>2023-03-29 17:30:24 failed to change to user #:t:
<spiderbit>2023-03-29 17:30:24 Wrong type (expecting string): #:t
<unmatched-paren>is there a backtrace?
<spiderbit>2023-03-29 17:30:24
<spiderbit>2023-03-29 17:30:24 Some deprecated features have been used.  Set the environment
<spiderbit>2023-03-29 17:30:24 variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
<spiderbit>2023-03-29 17:30:24 program to get more information.  Set it to "no" to suppress
<spiderbit>2023-03-29 17:30:24 this message.
<unmatched-paren>yeah, you get quieted if you paste too much into the chat too quickly...
<unmatched-paren>just wait a moment, you'll be unquieted
<unmatched-paren>...and there you go
<spiderbit>you didn't talk to me?
<unmatched-paren>use something like paste.debian.net or 0x0.st instead
<spiderbit>with the quiting?
<unmatched-paren>?
<spiderbit>or did you
<spiderbit>was I quieted?
<unmatched-paren>yes, you were, the bot does it if you paste too much
<unmatched-paren>although you should have seen my message; it's only one-way
<spiderbit>ohh boy
<unmatched-paren>it's fine now
<spiderbit>debian pastebin is annoying :D
<unmatched-paren>most people do that at some point, me... definitely included :)
<spiderbit> https://paste.debian.net/1275666/
<practical-friend>"debian Pastezone" https://paste.debian.net/1275666
<spiderbit>that's all
<spiderbit>after each attepmt to restart
<unmatched-paren>ACTION casts their eyes to the massive JPEG sha(somethingsomething) they accidentally pasted instead of the link to the image a long while ago
<unmatched-paren>s/sha\(.*\)/hash of some description/
<spiderbit>guix is a trip, I still use a second xserver with gnome to get suspend working... so this shouldn't be this big thing
<unmatched-paren>services can be tricky sometimes
<spiderbit>switch everyday to tty8 to suspend and back
<apteryx>podiki[m]: yeah, local guix checkout would be easy
<apteryx>make sure to './configure --sysconfdir=/etc --localstatedir=/var' before
<RavenJoad>spiderbit: And you get this error after what? A guix home reconfigure <home-configuration.scm>?
<apteryx>then sudo -E ./pre-inst-env guix system reconfigur your-config.scm -L ~/src/some-channel
<unmatched-paren>spiderbit: ideally there'd be a home-emacs-service-type included with guix itself
<spiderbit>no after stopping and starting with herd
<unmatched-paren>but none has been added yet
<podiki[m]>apteryx: thanks! that will be handy, never actually tried it before
<spiderbit>the emacs-daemon
<unmatched-paren>spiderbit: hmm, that's weird
<podiki[m]>apteryx: I'll try out network-manager 1.42.4 to see how it goes
<unmatched-paren>the #:user thing is commented out, too
<unmatched-paren>from the error you'd think you wrote #:user #:t
<unmatched-paren>accidentally
<jlicht>apteryx: wait, the sysconfdir flag has always been a requirement? Since when? I've mindlessly used just the localstatedir for _years_
<unmatched-paren>but you haven't
<jlicht>s/flag/option
<spiderbit>WARNING: (guile-user): imported module (guix build utils) overrides core binding `delete'
<unmatched-paren>spiderbit: just a thought: maybe you accidentally saved halfway through editing and then forgot to save again...?
<RavenJoad>spiderbit: I think I may know what it is. You may have a stale version of an Emacs definition sitting around that is trying to be loaded. Try this: reconfigure, then log out, and log back in. You may need a new shepherd config to point to the right emacs server config.
<spiderbit>that is the only warning in reconfigure
<unmatched-paren>spiderbit: that particular warning is fine
<unmatched-paren>to be expected
<spiderbit>log out of X?
<spiderbit>or is a login in tty enough?
<spiderbit>to test
<RavenJoad>Because the shepherd config for your user is loaded by on-first-login, which points to a shepherd config which then points to the service configs.
<podiki[m]>jlicht: I too have only use localstatedir before, but never did a reconfigure from within
<RavenJoad>I vote logging out of everything, just to be on the safe side.
<spiderbit>ok then I do that ...
<jlicht>spiderbit: what's the actual generated shepherd config? (should be in $HOME/.guix-home/on-first-login, just after a "--config", which should contain references to each of the relevant scripts in your /gnu/store as well)
<unmatched-paren>jlicht: they've left to log out
<mirai>apteryx: I figured out the #57958 garbage thing
<practical-friend>"configuration->documentation outputs contains some noise" https://issues.guix.gnu.org/57958
<mirai>it's a 1 line patch 😂
<jlicht>not judging, but I can't imagine guix is any fun when trying ye olde "bang head against wall, make edit, back to bang head on wall" workflow :/
<mirai>I think it was a debug “printf” that was left over?
<mirai>doesn't seem to have any ill-effects if removed
<jlicht>(which works, for some definition of the term, for many other tools ¯\_(ツ)_/¯)
<mirai>CC'd you to #62525
<practical-friend>"[PATCH] services: configuration: Fix garbage output in configuration->documentation." https://issues.guix.gnu.org/62525
<RavenJoad>jlicht: Depends on the head-banging to be done. Guix is sometimes nice for it, especially when packaging software. But this one is less fun, because we (at least me) do not edit Shepherd services frequently.
<spiderbit>shepherd seem to not have survived that
<spiderbit>$ herd status
<spiderbit>error: connect: /run/user/1000/shepherd/socket: No such file or directory
<unmatched-paren>oh
<unmatched-paren>ah!
<unmatched-paren>wait, no...
<unmatched-paren>is your configuration the same as the one you pasted
<unmatched-paren>?
<spiderbit>yes
<spiderbit>I could try reconfigure
<spiderbit>if that changes something
<unmatched-paren>i am stumped, sorry :/
<RavenJoad>Correct. You commented out the home-shepherd-service-type. Add it back, with (auto-start? #t) and your Emacs server in the service list.
<RavenJoad> https://paste.debian.net/1275670/
<practical-friend>"debian Pastezone" https://paste.debian.net/1275670
<RavenJoad>spiderbit: Is your config, with the minor edits I just mentioned.
<unmatched-paren>RavenJoad: i don't understand; wouldn't shepherd be run anyway?
<RavenJoad>The system shepherd, yes. But this is a home configuration where the user runs their own shepherd, which manages Emacs.
<spiderbit>I just added your stuff
<spiderbit>define the service and add it to the services
<RavenJoad>And then bring your home-shepherd-service-type back. You want the auto-start? set to #t so that when you log in, your user's shepherd starts automatically.
<RavenJoad>Then, once your use shepherd starts, shepherd will start your Emacs daemon.
<spiderbit>now at least
<spiderbit>something happens with reconfigure
<spiderbit>black@satan ~$ Service emacs-daemon (PID 20377) exited with 1.
<spiderbit>Respawning emacs-daemon.
<spiderbit>Service emacs-daemon has been started.
<spiderbit>Service emacs-daemon (PID 20384) exited with 1.
<spiderbit>is it possible that it only tries for 1 second or so
<spiderbit>or do I need the pid or something
<spiderbit>it just repeats the attempt
<spiderbit>to start it now
<spiderbit>ohh wait
<spiderbit>I have emacs open
<unmatched-paren>RavenJoad: but i don't have a home-shepherd-service-type instance in my home.scm and services still work
<RavenJoad>unmatched-paren: You said you used simple-service, right? I think that extends a user shepherd. I am not 100% sure.
<spiderbit>yes after stopping emacs
<spiderbit>herd succeeds
<spiderbit>with starting
<spiderbit>and it's running
<spiderbit>it looks as it should
<spiderbit>so for guix well similar suggestion
<spiderbit>like for windows
<spiderbit>minor problem reboot...
<spiderbit>just here minor problem re-login
<spiderbit>:D
<RavenJoad>Perfect. I recommend a log-out and log-back in after the reconfigure to double-check that your user shepherd is working.
<RavenJoad>You had to re-log because you made changes to your user. If you change the system, you may need a reboot.
<spiderbit>not very lispy :D
<unmatched-paren>unfortunately, UNIX was not designed to be lispified :)
<spiderbit>I thought that is the point of guix and herd
<spiderbit>I get the kernel is mostly C
<spiderbit>but the rest...
<unmatched-paren>they accomplish that to some extent but it's quite hard to do things fully functionally within the constraints of a UNIX-like system
<unmatched-paren>you *can* however test systems without restarting
<RavenJoad>From my experience, it depends on what you change. Changing the daemon-manager is clunky. Changing configurations/installed packages is not as bad; at worst, a re-indexing of PATH.
<unmatched-paren>using guix system container or guix system vm :)
<jlicht>spiderbit: I've not read the entire backlog, but I often iterate faster with `guix home container myhomeconfig.scm'. YMMV
<spiderbit>there should be some guix restard user-herd
<spiderbit>or so
<spiderbit>I tried to retsart the "root" service of herd but it said I must be joking :D
<unmatched-paren>yeah, not everything needs a relogin/restart
<unmatched-paren>spiderbit: that service runs PID 1 :P
<unmatched-paren>killing it would have... Consequences.
<spiderbit>yeah but shouldn't user-herd not a service under system-herd
<unmatched-paren>Hence the comment about the constraints of UNIX.
<spiderbit>or something alike
<unmatched-paren>ah, right, you were talking about user-herd
<spiderbit>well I think in guix there is no real seperation between user and system
<spiderbit>or not as clear
<spiderbit>I have most success to make a systemupgrade as user with sudo because the paths seem to be all correct
<spiderbit>while as root loged in often it doesn't find my other repositories
<spiderbit>so very confusing for me
<RavenJoad>For me, my user-shepherd is not a service under my system-shepherd. But I think a misconfiguration for your user-shepherd created a bad config file that prevented your user-shepherd from restarting.
<spiderbit>but shouldn't it then bring a message that it can't restart and why
<spiderbit>maybe I missed it
<spiderbit>thanks anyway... 1 of 10 problems or so solved... the suspend thing will be a big thing to solve
<rekado>podiki[m]: the recursive texlive importer isn’t quite as useful as it could be, because we have a lot of legacy packages with incorrect names
<RavenJoad>spiderbit: I think that was the switch to user error you were seeing. Some process was trying to change its username somewhere, which was causing the problem. I am not sure.
<podiki[m]>rekado: not sure if you saw my message on the bug report just now, but any tips to make the xetex package? at first glance the whole texlive packaging system is...byzantine
<spiderbit>so next time I test with the container
<spiderbit>till it works there
<spiderbit>then I don't have to log out of my machine
<RavenJoad>spiderbit: That should make things easier to iterate, yes. There are cases where a re-log is still necessary, but I have not had one of those for a while.
<gnucode>join #talos-workstation
<rdrg109_>[Q] Is there a Guix package for a minimal emacs? I'm using the shell-based installation and I wish I could use Emacs, but I don't want to install Emacs with GTK support, because that's heavy and I'm using it on a tty.
<apteryx>there's emacs-no-x
<unmatched-paren>btw is there anyone around who could review my latest blog post?
<unmatched-paren>here: https://issues.guix.gnu.org/62356
<practical-friend>"[PATCH guix-artwork] website: posts: Add Dissecting Guix, Part 3: G-Expressions." https://issues.guix.gnu.org/62356
<unmatched-paren>ACTION spots a tpyo :)
<mvnx>I posted to the devel-guix mailing list a few days ago about being unable to build Guix per the Contributing guide but my post still isn't there in the archives. I tried again today with latest master and run into the same issue.
<mvnx>This is the test that fails consistently for me. https://paste.debian.net/hidden/d9466b46/ Any idea what's up?
<practical-friend>"Debian Pastezone" https://paste.debian.net/hidden/d9466b46
<unmatched-paren>mvnx: the tests don't seem to run for me either; just don't run them
<futurile>evening guixers
<jpoiret>mvnx: the guix MLs are moderated, I guess nobody has looked at the email yet
<jpoiret>the community has been pretty slow these last few days
<peterpolidoro>I am getting an error inside a guix container about SSL: CERTIFICATE_VERIFY_FAILED. I am including the nss-certs package in the container and I --network --expose=/etc/ssl/certs/ Is there something else I am missing?
<sneek>peterpolidoro, you have 1 message!
<sneek>peterpolidoro, nckx says: I didn't see your message on 22 Feb (PMs are not a reliable way to nab my attention): You did the right thing with Kicad, the Guix version number is not used to signal ‘rebuilds’ like some other distroes do.
<apteryx>mvnx: try export SCM_LOG_DRIVER_FLAGS="--brief=no --show-duration=yes" to see more details
<apteryx>it also failed for me: FAIL: tests/packages.scm - fold-available-packages with/without cache [40.330s]
<mvnx><unmatched-paren> Well, it seemed to have failed because it didn't build well. `guix` wasn't on my path so I couldn't continue with `./pre-inst-env` and building packages.
<mvnx><apteryx> Thanks! I'll give it a shot.
<mvnx><jpoiret> Ah I see yeah I knew they were moderated but I was surprised so many days. I guess people are busy!
<unmatched-paren>mvnx: just to confirm; you used the following sequence of commands: ``./bootstrap && ./configure --localstatedir=/var && make -j$(nproc)'' inside ``guix shell -D guix'', right?
<mvnx>Yes
<unmatched-paren>hmm.
<unmatched-paren>could you try doing ``make clean-all`` and try again?
<mvnx>Ah I've just been using make clean, sure
<apteryx>make clean should be enough
<apteryx>I can reproduce the issue here at least :-)
<mvnx>Yeah you're the 2nd person here to reproduce so I'm thinking something is up!
<apteryx>if anyone else wants to test: make check TESTS=tests/packages.scm SCM_LOG_DRIVER_FLAGS="--brief=no --show-duration=yes --select=fold-available-packages"
<mvnx>Nice thanks for that shortcut
<rdrg109_>[Q] Where can I add channels at the system level? I know for a given user I can add them to ~/.config/guix/channels.scm
<podiki[m]>apteryx: can confirm: FAIL: tests/packages.scm - fold-available-packages with/without cache [8.836s]
<podiki[m]>rekado: thanks for the fix for xetex! will update/close the issue report
<unmatched-paren>rdrg109_: that's not a thing you can do
<unmatched-paren>``guix pull'' is always user-specific
<mvnx>apteryx: Yes, also failed on my rerun with those flags.
<podiki[m]> https://issues.guix.gnu.org/42794 is a similar report from some years ago, culprit was duplicate packages
<mvnx>Just a quick look w3m.scm has two packages with the same name, "w3m" and one is intended for tests.
<rekado>podiki[m]: I had to interrupt my report to the bug tracker, which I intended to send right after pushing the fixes. Hence the delay.
<rekado>didn’t see your message until after I finally sent out my message
<podiki[m]>no worries!
<podiki[m]>appreciate the nice work there, fixed a few bugs :)
<podiki[m]>i just happened to have checked the latest commits and saw it like 15 minutes after you pushed
<podiki[m]>(not procrastinating I swear)
<NewUser-Basic-Qu>can i issue command like "./pre-inst-env guix system   reconfigure system-config.scm" after a git checkout of guix
<NewUser-Basic-Qu>?
<mvnx>NewUser-Basic-Qu: You probably don't have a file `pre-inst-env` in that directory without having followed the Contributing guide first. It seems a few of us are stuck on that right now as it isn't building. https://guix.gnu.org/manual/devel/en/html_node/Building-from-Git.html
<podiki[m]>mvnx: doesn't build at all for you? or just the failing test? the bootstrap procedure should give you the pre-inst-env, and then make should still work (does for me at least today)
<mvnx>Oh yeah, today `./pre-inst-env guix` does work - previously it didn't after the build steps. OK that's helpful I can continue my packaging struggles :)
<podiki[m]>the checks are good to run sometimes, though admittedly I don't check often
<podiki[m]>other times you run into some files that need to be manually cleared or redo the bootstrap, but usually just a git pull and make should get you up to date (you don't have to make actually, but that will be faster later)
<NewUser-Basic-Qu>mvnx I did a git checkout. Went into directory. Issued a "guix environment guix". That was my starting point. pre-inst-env was missing initially i thought but as it was present since yesterday i was under the impression that i gaslighted myselfd...
<unmatched-paren>gexps don't seem to like macros too much
<unmatched-paren> https://paste.sr.ht/~unmatched-paren/da2eb1738b8a27fe41c64c7991cabf1be4f488af <- neither the map/lambda nor map/match-lambda versions work
<unmatched-paren>for the former i get
<unmatched-paren>Wrong type to apply: "#<syntax-transformer search-path-specification-variable>"
<unmatched-paren>ACTION will come back to this tomorrow... night \o
<mvnx>I noticed that if I run `guix style -f filename.scm` on a file (say, `gnu/packages/wm.scm`) in the Guix source tree, modifications are made. I assumed everything in master would be stylized with this tool. Is this not strictly enforced?
<PotentialUser-4> hey, has any one else tried to do a base install lately, I keep getting an error saying it cant connect...
<PotentialUser-4>im running another gnu distro on the same system ... trisqual, and it has internet
<podiki[m]>mvnx: I don't think it was ever run against the whole codebase, other than mostly for the input style change; most will pre-date the current style tool, and other times the output is not ideal (it is a work in progress)
<mvnx>Thanks!
<PotentialUser-4>it seems to get stuck in a loop
<hwpplayer1>hi people !
<hwpplayer1>Whats up ?
<mvnx>I'm working on building a zig project. Any idea what file is "not found" or how I can figure out what steps to take next? Here is the relevant portion from the build log. https://paste.debian.net/hidden/594546b1/