IRC channel logs

2023-03-16.log

back to list of logs

<apteryx>jpoiret: I can adjust to use --rbind everywhere for the chroot, if that's better
<apteryx>someone else also reported NVRam getting filled up with DUMP_* files by grub-install, which could be prevented with its --no-nvram option; perhaps we should add this option
<guixfren>how would I go about adding a new language to libreoffice using guix?
<sneek>wb lechner!!
<apteryx>jlicht: no you have to add it yourself: (error 'stop)
<lechner>sneek / hi
<sneek>lechner, you have 1 message!
<sneek>lechner, unmatched-paren says: yes, lemme guess: it doesn't work for you? :/ i'm aware that it doesn't seem to work for anyone but me but i have no idea why... /o\
<lechner>sneek / botsnack
<sneek>:)
<jpoiret>apteryx: if you're fine with doing that then that'd be great
<jpoiret>I'm a bit swamped by the hurd commits rn
<xelxebar>ACTION smiles at the hurd getting lots of TLC
<jpoiret>if by TLC you mean "constantly swearing at the git tags not building without backporting patches" then yes
<jpoiret>upstream could benefit from a bit more CI, if they want more downstream projects to adopt the Hurd
<xelxebar>Sounds like the kind of TLC my parents gave me!
<xelxebar>What you do mean by more upstream CI? Cuirass not actually running many things against i586-gnu or something?
<jonsger>ACTION is pretty impressed how active hurd/gnumach became in the last weeks and months...
<jpoiret>xelxebar: no, i mean them actually trying to build the HEADs/git-tags together in isolated environments, and also cross-compiling everything from scratch, to make sure it's actually buildable
<abrenon>hello guix
<jpoiret>i've been mixing and matching gnumach/mig/hurd versions, adding patches as I go to make them build
<jpoiret>it's been quite painful and could've been avoided if upstream had checked before tagging that everything would build together, and also stating what glibc version this is compatible with
<xelxebar>jpoiret: Oh, okay. So "them" here is referring to the gnumach/mig/hurd trio.
<jpoiret>yup
<jpoiret>even though it's really the same people, which is why they don't really bother with this compatibility stuff Google-style
<xelxebar>"It works when I build it."
<xelxebar>Sounds fun. If you have a donation link, I'd like to buy you a coffee/beer/whatever.
<jpoiret>aha no way, I do this also because I like it. If you really want to donate for that, the money would be better spent on charity
<jpoiret>(for something quite related to the topic, Outreachy would be a nice choice :) )
<xelxebar>Aw, don't be like that. Non-linear effects dominate at small scale, and it's nice to make sure people doing good work in obscure trenches know they are appreciated :)
<jpoiret> https://lwn.net/Articles/925924/ doesn't reference Guix for building the toolchain :(
<Lumine>Good morning #guix
<abrenon>o/ Lumine
<Lumine>o/
<cgenie[m]>hello, does anyone if it's possible in guix to overrite base version? I know one can set cabal.project file with allow-newer: ... options
<cgenie[m]>and I guess when writing a package definition one would have to add cabal.project manually to the repo with these contents, am i thinking correctly? :)
<abrenon>cgenie[m]: well base is distributed with ghc so an older version of ghc would do the trick
<cgenie[m]>yes, but that module is my dependency and i don't want to downgrade ghc because of one module
<cgenie[m]>and from what i've heard, base is quite stable and it's safe to just allow-newer on that
<abrenon>yeah, that's what I usually do, but in that case you should just alter a copy of the haskell package
<abrenon>and use a local-file origin for your guix package
<abrenon>not sure what you meant by "add cabal.project manually", but I have to go sorry
<abrenon>don't hesitate to log your attempts I'll read it later
<Guest39>unmatched-paren publish/pull problem with TLS seems to be permanent. I do have to say I have ssh tunneling in between..
<cgenie[m]>well, adding a cabal.project file allows to specify the allow-newer: base:* option which in theory should supress cabal warning that base is at wrong version
<cgenie[m]>however, it seems that guix patches its own `.cabal` file:... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/ebfdfb444478210ce9fb1bac8aecb58f1596bd19>)
<cgenie[m]>ah, ok, that's because i have a cabal-revision setting, whatever it means
<civodul>janneke: thumbs up for the Home services! https://issues.guix.gnu.org/61483
<civodul>just checked the updated version, that's very nice
<janneke>civodul: thanks for the review (and changes)!
<janneke>setting SSH_AUTH_SOCK automagically would be very nice indeed
<cgenie[m]>civodul: out of curiosity, I did `guix home import ~/src/guix-home` and then `guix home container ~/src/guix-home/home-container.scm` and got... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/937007e17264c4ea3d4c49fe75e2a7bad007e834>)
<cgenie[m]>even though i added (gnu packages base) to use-modules
<civodul>janneke: yup! setting SSH_AUTH_SOCK automatically can be done separately if you prefer, no rush
<civodul>it's great to have these new services
<mirai>lately I've been pondering at this question: "what is Guix?"
<drakonis>it is what we make of it
<mirai>it's not just any ordinary package manager, it comes with many utilities that it would be fair to consider it a guile library
<drakonis>thus is the nature of lisps
<mirai>but calling it a library doesn't do enough justice too
<drakonis>i wouldnt call it a framework yet
<drakonis>it still needs to do away with the restrictions imposed by the daemon
<mirai>the closest analogy I can think of is... GNU's spin of WinAPI
<drakonis>eh
<drakonis>you're aware of nix (the package manager)'s influence on its design, yeah?
<mirai>you can build some interesting stuff using guix facilities alone
<mirai>drakonis: the packaging part yes
<drakonis>huh
<drakonis>zephyr uses guix
<drakonis>or a third party does, at least.
<drakonis>scheme is a mighty fine language
<drakonis>its more like a lisp (scheme) machine than anything
<drakonis>i find that guix makes it significantly easier to run a CI pipeline
<drakonis>even when it still heavily relies on nix's overall design
<drakonis>mirai: what makes it possible is the way that procedures can be combined together
<civodul>mirai: i often describe Guix as a "toolbox for reproducible deployment"
<civodul>problem is it's too broad, so often it makes more sense to focus on one specific tool within Guix
<abrenon>cgenie[m]: ooh, right, that cabal.project, I had forgotten about that possibility for projects
<evilsetg[m]>I am trying to build a package that needs libusb so I included libusb in the inputs. However, during configure checking for libusb fails. Does anybody know why that might be? Do I have to do something extra to have libusb available for the build?
<civodul>Someone™ should submit a Guix paper for https://www.functional-architecture.org/events/funarch-2023/
<abrenon>I haven't used any of those since I use guix so I couldn't say how it works
<abrenon>evilsetg[m]: wouldn't that be "native-inputs" ?
<gnucode>So I hear the OpenBSD crowd is currently not pursuing re-producible builds. Also notable several of their daemons relink their libraries upon reboot...hence a reboot changes your packages' hashes...
<evilsetg[m]>abrenon: I think you are right. I do know that the package needs libusb while running so I guess it would be in both inputs and native-inputs. Unfortunately, adding libusb to native-inputs does not solve the issue.
<abrenon>that is weird, what build-system does the package use ?
<jpoiret>evilsetg[m]: have you tried adding pkg-config to native-inputs?
<gnucode>I guess guix's packages could not relink their libraries on reboot...at least not easily...
<drakonis>oh heck, mike sperber is the chair
<drakonis>so good.
<drakonis>andy keep and anil madhavapeddy
<drakonis>good langs are well represented
<drakonis>haskell might be overrepresented though
<drakonis>ah, i forgot that shriram is there too
<ds-ac>>b liberq
<ds-ac>Sorry, I mistyped
<evilsetg[m]>jpoiret: Wow, thank you. That solved it.
<efraim>funarch-2023 overlaps with debconf
<sarg>janneke, `no code for module (shepherd support)` after `guix pull`, could you please commit the missing file?
<sneek>sarg, you have 1 message!
<sneek>sarg, Guest99 says: thanks for you code. It works.
<janneke>sarg: (shepherd support) should be available
<janneke>i think, lemme check
<janneke>ACTION goes to compile in a container
<janneke>civodul: oops, it seems i've added a dependency to the shepherd by using (shepherd support)
<janneke>i guess we both have the shepherd in our environment...
<mirai>janneke: I missed your patch, can you switch @defvr {Scheme Variable} to @defvar when you get the chance to?
<janneke>mirai: maybe i could if you were more specific, but it would help if i knew why ;)
<janneke>ACTION looks to add the shepherd as a dependency to guix
<sarg>janneke isn't it just dangling import? What do you use from `support` package?
<mirai>janneke: https://issues.guix.gnu.org/60634
<mirai>keeps the manual consistent
<janneke>mirai: ah, right -- i just copied it from other @defvr usages, doesn't it make more sense to change them all?
<mirai>it can't have been more recently than https://issues.guix.gnu.org/62042 :)
<apteryx>jpoiret: OK :-)
<mirai>the manual has been expunged of them
<apteryx>jpoiret: should we use --rbind everywhere, or just for /sys ?
<janneke>bah, make update-guix-package fails for me
<janneke>error: Failed to find the origin git remote.
<apteryx>oh! what's your remote URL?
<janneke>it's just set to savannah, this used to work
<apteryx>it's handled in 'find-origin-remote' in build-aux/update-guix-package.scm
<apteryx>it still works on my end
<apteryx>git remote -v -> origin ssh://apteryx@git.sv.gnu.org/srv/git/guix.git (fetch)
<janneke>apteryx: thanks, that's it
<janneke>ACTION had: url = gnu:guix (using the gnu alias)
<janneke>but apparently someone looks at that and cannot handle it now
<janneke>also, git+ssh://git.sv.gnu.org/srv/git/guix does not work!
<civodul>janneke: Guix should not depend on the Shepherd?
<civodul>"should not" as in "it's not desirable"
<civodul>why did you need (shepherd support) for?
<civodul>*what
<apteryx>janneke: yes, it's the procedure I referred to, that looks at that: find-origin-remote
<civodul>(i totally overlooked that)
<janneke>yeah, me too, sorry
<janneke> (socket-directory home-ssh-agent-socket-directory ;string
<janneke> (default (string-append %user-runtime-dir "/ssh-agent")))
<janneke>
<civodul>hmm, i see
<janneke>it's the %user-runtime-dir here (i copied that from my shepherd services solution)
<janneke>oops!
<civodul>can you make that a gexp?
<civodul>#~(string-append ...)
<civodul>lemme check
<apteryx>janneke: what does 'git remote -v' prints on your side?
<civodul>janneke: like so: https://paste.debian.net/1274259/ (needs to be tested)
<janneke>civodul: great & thanks, but i need to run; please (someone) revert my patches if necessary, i can look at this in a couple of hours (sorry!)
<civodul>looks like you'll also need this field: (modules '((shepherd support)))
<civodul>janneke: alright!
<civodul>np
<apteryx>lots of technical debt in our ruby packages collection (lack of tests)
<Guest39>are people successful at getting substitutes through SOCKS5? Having trouble doing publish/pull across ssh -D..
<ekaitz>hi! I'm trying to build something with --target=i686-w64-mingw32 and bash fails to build
<ekaitz>./config.h:361:19: error: two or more data types in declaration specifiers
<ekaitz> 361 | #define socklen_t unsigned int
<ekaitz>that's the error it gives
<ekaitz>is building things with mingw32 supported?
<civodul>egun on, ekaitz!
<ekaitz>egun on civodul
<civodul>ekaitz: yes it's supported, but in general, there's no guarantee that a package will cross-build for a given triplet
<ekaitz>(arratsalde on is better for this time but anyway :) )
<civodul>i have yet to learn ;-)
<civodul>on ci.guix we test cross-compilation of a handful of packages
<ekaitz>civodul: but having issues with bash is pretty weird, most of the packages will depend on it
<civodul>ah bash, yes, should prolly work
<ekaitz>bash is the one that explodes
<civodul>ok
<civodul>well i guess it needs to be fixed, then
<ekaitz>gcc -DPROGRAM='"bash.exe"' -DCONF_HOSTTYPE='"x86_64"' -DCONF_OSTYPE='"mingw32"' -DCONF_MACHTYPE='"x86_64-w64-mingw32"' -DCONF_VENDOR='"w64"' -DLOCALEDIR='"/gnu/store/lb1afqc8mx7jjynpf8qbn6mc13h9p4ji-bash-minimal-5.1.8/share/locale"' -DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include -I./lib -g -DCROSS_COMPILING -g -DCROSS_COMPILING -o mksyntax.exe ./mksyntax.c
<ekaitz>that fails
<ekaitz>also with hosttype i686
<civodul>hosttype?
<ekaitz>i686-w64-mingw32 i meant
<civodul>ah
<ekaitz>the error btw is pretty stupid, it fails because there's a #define socklen_t unsigned int
<civodul>so my guess is that it's a bug in the Bash configury that we need to work around
<ekaitz>and it says there are two or more datatypes :S
<ekaitz>i always find something that blocks me from going forward... software, huh?
<ekaitz>let me take a look
<ekaitz>more specifically it's `bash-minimal`
<ekaitz>not bash
<mirai>error: failed to load 'gnu/home/services/media.scm':
<mirai>ice-9/eval.scm:293:34: no code for module (shepherd support)
<jpoiret>ekaitz: what's the exact error?
<ekaitz>jpoiret: let me use a paste
<civodul>mirai: i just pushed a fix
<civodul>has to do with https://issues.guix.gnu.org/61483
<mirai>civodul: for ssh-agent yes :)
<mirai>but this one is in another file
<civodul>oh crap
<civodul>well, lemme apply the same recipe...
<ekaitz>jpoiret: http://paste.debian.net/1274269/
<mirai>civodul: gnu/home/services/messaging.scm: #:use-module (shepherd support) as well
<jpoiret>civodul: btw, I have a Hurd built but don't really know how to test it. The bare bones hurd system configuration pulls in rust, qtbase, texlive for some reason
<jpoiret>but maybe I ended up touching some derivations and it's actually qemu being rebuilt
<civodul>mirai: i'm on it :-)
<lechner>sneek / later tell mitchell / Hi, Zephyr was headlined on LWN.net (but a subscription is needed to view the article during the first week)
<sneek>Okay.
<lechner>sneek / later tell mitchell / also, thanks for the timely blog post!
<sneek>Got it.
<civodul>mirai: pushed
<mirai>thanks
<mirai>it's building now
<lechner>mirai / civodul / i'm so glad you found each other
<jpoiret>ekaitz: well, I can't make anything of it either
<mirai>:)
<ekaitz>jpoiret: can you replicate at least?
<jpoiret>yes, exactly the same
<ekaitz>good! I'll try to fix it in my side
<civodul>jpoiret: hi! did you see my suggestion of "guix copy"ing the stuff to a childhurd?
<civodul>(yesterday?)
<lechner>hi, does the certbot service renew certificates for anyone, please? For the past year (which is my entire time running Guix System) I have had to renew them manually after stopping the nginx service
<lechner>Also, with Gandi.net having been sold, what's everyone's favorite domain registrar, please?
<jpoiret>civodul: ah no
<arjan>lechner: I think the cerbot service just generates a script that you still have to run, it should show in the activation output
<arjan>and I guess the requirement for the cronjobs to succeed it to have nginx running
<lechner>arjan / thanks! is the idea that i have set up my own cron job with that script?
<jonsger>lechner: I'm using a deploy hook (from the manual or so): https://gitlab.com/jonsger/jonsger-guix/-/blob/master/config/baebia.scm#L8 it works automatically
<helpful-friend>"config/baebia.scm · master · Jonathan Brielmaier / jonsger-guix · GitLab" https://gitlab.com/jonsger/jonsger-guix/-/blob/master/config/baebia.scm#L8
<arjan>the service should add the cron job, but it probably tuns the same script which depends on nginx being able to serve some files
<arjan>runs *
<jonsger>lechner: I'm using inwx.de for domains since 2014. Works...
<lechner>jonsger / hi, i have that too, but my issue is certificate renewal with LE, not getting Nginx to use them
<lechner>that being said, certbot renew fails without Nginx (and without --standalone) saying it needs Nginx. When I enable Nginx, it says port 80 busy
<mirai>lechner: I use dns challenge
<mirai>it works for me ™
<lechner>ah, i think we talked about that already
<jonsger>lechner: https://gitlab.com/jonsger/jonsger-guix/-/blob/master/config/baebia.scm#L124 I just disabled HTTP listening...
<helpful-friend>"config/baebia.scm · master · Jonathan Brielmaier / jonsger-guix · GitLab" https://gitlab.com/jonsger/jonsger-guix/-/blob/master/config/baebia.scm#L124
<lechner>mirai / okay, another construction site
<arjan>lechner: maybe check which other program is listening on port 80?
<lechner>jonsger / thanks for that listen stanza. i'll put that in just for the 'http2'
<lechner>jonsger / also thanks for the domain registrar. those .de names are cheap! unfortunately the price is less competitive for .com and .org (based on preferred pricing elsewhere)
<lechner>jonsger / where is the "default-location" for the redirects to be found, please?
<lechner>arjan / i'm pretty sure it's nginx, which is why mirai's dns challenge is theoretically superior
<janneke>sarg, mirai: thanks for the headsup
<janneke>civodul: thank you very much for your fixes _||
<janneke>*_/|\_
<jonsger>lechner: thats how the resulting nginx.conf looks like: http://paste.debian.net/plain/1274274
<arjan>lechner: I think the certbot service extends the nginx service, so the renew script should not try to do standalone but depends on the configuration that it extends the nginx service with
<civodul>janneke: you're welcome!
<civodul>i noticed that the znc service isn't configurable
<civodul>would be nice to providing "bindings" to the configuration file
<lechner>arjan / yeah it does not work because i do some port 80 redirects manually because those domains are forwarded elsewhere
<janneke>civodul: yes, i'm still just using .znc/configs/znc.conf from git, as it has plain text passwords :-(
<arjan>civodul: I am also making progress with preparing my pounce service definition for upstream, just need to do the documentation
<lechner>jonsger / thanks! that config looks great. Is the .well-known location, which is presumably the same for all "servers" configurable?
<janneke>we prolly don't want znc.conf in the store, unless we can find a workaround
<janneke>mirai: re defvr: https://issues.guix.gnu.org/60634; it seems to me that the "@defvr {Scheme Variable} ..." that i added actually need to be "@defvr {Scheme Procedure}" instead of "@defvar ...", WDYT?
<helpful-friend>"[PATCH 0/3][DOCUMENTATION] Use @defvar for Scheme variables." https://issues.guix.gnu.org/60634
<Guest74>how can i stop guix home from creating .config/fontconfig/fonts.conf since I want to use my own config?
<janneke>hmm, passwords can be hashed https://wiki.znc.in/Configuration
<helpful-friend>"Configuration - ZNC" https://wiki.znc.in/Configuration
<mirai>janneke: @defun for procedures
<mirai>@defvar for variables
<mirai>@defmac for macros
<mirai>arjan: the thing that makes certbot http challenges tough to get it right in guix is NAT
<mirai>its relatively easy to get a certificate if none exists or if nginx (or whatever uses port 80) is stopped
<mirai>the trouble is when nginx is running and you want to renew it
<lechner>mirai / why is NAT an issue. isn't the router likely to have a port forward?
<mirai>you can't just brake nginx, spawn a httpd to fetch new certificates and resume nginx
<mirai>that will upset some people who care for nginx to be always up
<mirai>lechner: NAT issue because there's only 1 port 80
<mirai>in a ipv6 world this simply wouldn't happen
<lechner>are you assuming that, in an ipv6 world, no one would rely on host-headers?
<mirai>assign a v6 address, use it for certbot httpd only, renew, discard
<mirai>lechner: its not a host-headers issue
<lechner>i se
<lechner>i see
<lechner>mirai / on that note, thanks for figuring out your quits and re-joins!
<mirai>maybe if you can use arbitrary ports for http-challenge?
<mirai>say, port 6666
<lechner>no chance
<lechner>it would have to be privileged (ie under 1024) at least
<sarg>Guest74 filter out `home-fontconfig-service-type` from `(home-environment (essential-services))`
<mirai>must be port 80 per RFC8555
<helpful-friend>"RFC 8555 - Automatic Certificate Management Environment (ACME)" https://datatracker.ietf.org/doc/html/rfc8555
<mirai>so, no dice
<sarg>jpoiret: here is a patch to set the gpt partition table for efi images https://issues.guix.gnu.org/62223
<helpful-friend>"[PATCH] image: Prefer gpt partition table for efi disk images" https://issues.guix.gnu.org/62223
<jonsger>apteryx: how do I execute "comm-source->locales+changeset"? guile -l ~/coding/guix/gnu/packages/gnuzilla.scm -c '(comm-source->locales+changeset ".") doesnt work...
<sarg>I've run `make check-system TESTS="basic images"` as well
<janneke>mirai: @defvar fix pushed, thanks!
<lechner>mirai / maybe one day i can use TLS-ALPN-01, but don't know why they discourage the adoption by a broad range of users https://letsencrypt.org/docs/challenge-types/#tls-alpn-01
<helpful-friend>"Challenge Types - Let's Encrypt" https://letsencrypt.org/docs/challenge-types/#tls-alpn-01
<lechner>nginx can do it https://github.com/dehydrated-io/dehydrated/blob/master/docs/tls-alpn.md#example-nginx-config
<helpful-friend>"dehydrated/tls-alpn.md at master · dehydrated-io/dehydrated · GitHub" https://github.com/dehydrated-io/dehydrated/blob/master/docs/tls-alpn.md#example-nginx-config
<PotentialUser-87>Hello!
<PotentialUser-87>The NixOS live CD makes it very quick and easy for beginners to explore and experiment, without having to commit to anything, and without having to download hundreds of megabytes whenever making the slightest change.  For example, one can create an "/etc/nixos/configuration.nix" which does nothing but import
<PotentialUser-87>"<nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>", and build it using "nixos-rebuild build", which results in a no-op since that configuration describes the currently running system.  Then add a minor customization (such a changing the keyboard layout), and give it a no-strings-attached test-ride using "nixos-rebuild test",
<PotentialUser-87>which *maybe* results in downloading a couple of megabytes.
<PotentialUser-87>My question: Can this be done with the Guix installation CD?  If so, how?
<apteryx>jonsger: I'd work from a REPL with the module in scope
<apteryx>,use (gnu packages gnuzilla)
<apteryx>rather: ,m (gnu packages gnuzilla)
<jonsger>a guile or a guix repl?
<apteryx>guix repl
<apteryx>jonsger: are you trying to update icedove?
<janneke>civodul: re znc.conf: it seems that the configure file location is not configurable, and also znc need that file to be writable, afaik; so i really don't know what we can (easily) do here?
<sarg>PotentialUser-87 maybe just give it a try? Should be the same for the guix live cd
<PotentialUser-87>sarg: Thanks for your reply! I cannot find the configuration file that describes the currently running system.
<jonsger>apteryx: yes
<PotentialUser-87>I mean, I did, like this: "find / -wholename *guix-system-source/gnu/system/install.scm"
<PotentialUser-87>but building it ("guix system build --derivation $(find / -wholename *guix-system-source/gnu/system/install.scm)") results in a failed download from SWH...
<sarg>yeah, according to https://guix.gnu.org/manual/en/html_node/Building-the-Installation-Image.html the live cd is built without provenance
<helpful-friend>"Building the Installation Image (GNU Guix Reference Manual)" https://guix.gnu.org/manual/en/html_node/Building-the-Installation-Image.html
<apteryx>jonsger: OK; fyi Mozilla is supposed to now release the locales for both firefox and thunderbird as a single tarball, which would make things easier as I commented in gnuzilla.scm
<apteryx>perhaps worth checking if it became available
<PotentialUser-87>sarg: so, if there is no provenance, does that mean we cannot further (declaratively) configure the currently running system on the fly?
<PotentialUser-87>would it be possible to build an installation image that *does* allow this?
<apteryx>jonsger: the last issue about it was https://bugzilla.mozilla.org/show_bug.cgi?id=1817086
<helpful-friend>"1817086 - Strings source not uploaded to FTP during release" https://bugzilla.mozilla.org/show_bug.cgi?id=1817086
<jonsger>apteryx: for me the bug looked like, that they targeted it for the next thunderbird _major_ version
<jonsger>but I didn't checked the FTP servers...
<sarg>PotentialUser-87 just add --save-provenance to the command from the doc. It'll put the channels and the configuration.scm in /run/current-system/
<apteryx>jonsger: I just checked but can't find it
<PotentialUser-87>sarg:  I read "https://guix.gnu.org/manual/en/html_node/Invoking-guix-system.html" and "--save-provenance" appears to indeed be what I'm looking for.
<PotentialUser-87>I checked "guix-system-install-1.4.0.i686-linux.iso" in a VM, and "/run/current-system/" indeed does not contain any config files.  That surprises me.
<PotentialUser-87>Do you know why the installation images are built without provenance information?
<helpful-friend>"Invoking guix system (GNU Guix Reference Manual)" https://guix.gnu.org/manual/en/html_node/Invoking-guix-system.html
<Guest74>sarg Do you have an example since I am new to Scheme and I don't really know how to do this
<lechner>PotentialUser-87 / Hi, was the provenance information dropped in order to save space?
<sarg>lechner: what space? it's 10kb max
<PotentialUser-87>lechner: I have no idea. I'm not a Guix user yet. I use NixOS, but would like to switch (free sofware and scheme FTW!). I would like to explore and experiment with the system with the same ease as with which I started using NixOS.
<lechner>sarg / i was only guessing (and trying to be helpful). obviously that data is extremely helpful
<PotentialUser-87>sarg, lechner: yes, it should be nothing but a small plaintext file
<PotentialUser-87>lechner: I'm very thankful for your input.
<PotentialUser-87>sarg: and yours.
<lechner>PotentialUser-87 / Hi, your troubles with the installation image aside, it should be easy for you to switch from Nix. I came from Debian and had very bad first month or so
<lechner>it's hard to overstate my anxiety upon switching, but thanks to the patience and helpful assistance of folks in this channel, i made it. it's also why i respond to questions here even if i am not the most qualified person to do so
<lilyp>re provenance: it is not tracked for packs and environments, because it's silent metadata that doesn't contribute to the build process
<apteryx>jonsger: ah yes, it's just for the beta so far: https://ftp.mozilla.org/pub/thunderbird/releases/112.0b1/source/
<apteryx>the file isthunderbird-112.0b1.strings_all.tar.zst
<PotentialUser-87>lechner: I'm really looking forward to switching, but prefer to gradually recreate my full working environment in Guix while staying on NixOS, and when finished, do do a big-bang switch.
<Guest74>sarg okay it works now.  thanks for pointing me in the right direction
<apteryx>jonsger: I'm told it'll be in the next 102 release
<PotentialUser-87>lilyp: That's too bad, because it would be very useful. I'm not sure if you were present for my first messages so I'll repeat them.
<PotentialUser-87>The NixOS live CD makes it very quick and easy for beginners to explore and experiment, without having to commit to anything, and without having to download hundreds of megabytes whenever making the slightest change.  For example, one can create an "/etc/nixos/configuration.nix" which does nothing but import
<PotentialUser-87>"<nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>", and build it using "nixos-rebuild build", which results in a no-op since that configuration describes the currently running system.  Then add a minor customization (such a changing the keyboard layout), and give it a no-strings-attached test-ride using "nixos-rebuild test",
<PotentialUser-87>which *maybe* results in downloading a couple of megabytes.
<PotentialUser-87>My question: Can this be done with the Guix installation CD?  If so, how?
<helpful-friend>Exception: #<&compound-exception components: (#<&error> #<&irritants irritants: (#<gnutls-error-enum The TLS connection was non-properly terminated.> handshake)> #<&exception-with-kind-and-args kind: gnutls-error args: (#<gnutls-error-enum The TLS connection was non-properly terminated.> handshake)>)> https://ftp.mozilla.org/pub/thunderbird/releases/112.0b1/source
<lilyp>PotentialUser-87: currently no, because the installation CD isn't really a "live" CD
<lilyp>It very notably uses a store on the disk you are installing things on to work with and sadly loses that information between reboots
<jonsger>apteryx: even as zstd :)
<lilyp>that said, I don't think it'd be impossible to have a reasonably large guix usb stick (think of 32gb or 64gb) to plug into your favourite device and try things out
<lilyp>that's larger than your typical cd, but it also gives you plenty of room to install several generations of $thing-you-like
<PotentialUser-87>lilyp: yes, I've notice that the installation process spends a lot of time downloading all kinds of things one would  reasonably expect to be already present *on* the installation medium
<PotentialUser-87>this does not happen with NixOS, so it's not an inherent limitation of declarative system configuration
<PotentialUser-87>is this a conscious choice made during the implementation of Guix?
<PotentialUser-87>it's a major disadvantage, so I'm curious as to whether it provides any advantages?
<PotentialUser-87>So, in a VM, I searched the Guix installation image config: "find / -wholename */gnu/system/install.scm", yielding multiple results.
<PotentialUser-87>My best guess is the single result returned by "find / -wholename *guix-system-source/gnu/system/install.scm" (is this correct?).
<PotentialUser-87>I tried to build the ISO image with provenance: "guix system image --save-provenance -t iso9660 $(find / -wholename *guix-system-source/gnu/system/install.scm)"
<PotentialUser-87>But this fails trying to download from SWH.
<PotentialUser-87>Probably because it expects the source directory to be writable.
<sarg>you try that while in the live cd environment?
<PotentialUser-87>So I would probably need to checkout the git repo to do this...
<PotentialUser-87>sarg: yes
<PotentialUser-87>which means another couple hundreds of megs to download
<PotentialUser-87>many hoops to jump through
<PotentialUser-87>NixOS makes this *so* easy. But I *really*want to switch to Guix.
<PotentialUser-87>this is a major barrier to entry for new users...
<lechner>PotentialUser-87 / We are not perfect and look forward to your suggestions on how to become better
<PotentialUser-87>lechner: same here ;D
<PotentialUser-87>lechner: suggestion #1: make it so that the installation cd is actually a live cd (that also happens to be able to install the system) in which potential users can freely experiment with both imperative and declarative system configuration without having to do a full installation and without having to download massive amounts of software (the
<PotentialUser-87>majority of which appears to be already present *on* the installation medium)
<PotentialUser-87>I'm not sure how difficult this would be, but NixOS does it, so it's definitely within the realms of possibility.
<mirai>PotentialUser-87: I think you'll get better feedback by posting this to help-guix or guix-devel
<mirai>you seem to have put some thought on this
<sarg>PotentialUser-87: have you considered install guix in a virtual machine?
<PotentialUser-87>mirai: good suggestion
<PotentialUser-87>sarg: I have done so multiple times in the past, and every time my conclusion was "not yet"
<PotentialUser-87>this was a major blocker: https://issues.guix.gnu.org/53210
<helpful-friend>"installer: referring to N-1 guix is problematic." https://issues.guix.gnu.org/53210
<PotentialUser-87>which appears to be resolved
<PotentialUser-87>but maybe it did not mean what I thought it did
<apteryx>we still rely on the N-1 guix for guix system
<apteryx>for things like the running guix-daemon
<PotentialUser-87>apteryx : interesting... would that be the root cause of this issue I'm having?
<PotentialUser-87>if the running guix-daemon would use guix instead of guix N-1, would that allow the live system to be freely reconfigurable?
<PotentialUser-87>(declaratively)
<gabber>hi there! i fail to `guix pull` with my own channel in which i define manifests. `guix pull` seems to fail with packages that are not in the main guix repo. how can i resolve this issue? you can see the manifests here: https://git.sr.ht/~gabber/gabber-channel/tree/trunk/item/gabber/manifests
<helpful-friend>"~gabber/gabber-channel: gabber/manifests/ - sourcehut git" https://git.sr.ht/~gabber/gabber-channel/tree/trunk/item/gabber/manifests
<mitchell>gabber: you need to specify the other channels as dependencies
<sneek>Welcome back mitchell, you have 2 messages!
<sneek>mitchell, lechner says: / Hi, Zephyr was headlined on LWN.net (but a subscription is needed to view the article during the first week)
<sneek>mitchell, lechner says: / also, thanks for the timely blog post!
<mitchell> https://gitlab.com/guix-gaming-channels/games/-/blob/master/.guix-channel see this for an example
<helpful-friend>".guix-channel · master · Guix Gaming Channels / Games · GitLab" https://gitlab.com/guix-gaming-channels/games/-/blob/master/.guix-channel
<PotentialUser-87>apteryx: interesting point you have brought up
<PotentialUser-87>With a freshly booted installation image in a VM, installing nano(1) ("guix install nano") should ideally result in a no-op since it's already part of the installation image.
<PotentialUser-87>And yet, it results in 17 megs worth of downloads, including guile-3.0.7 (which is already present in the store), but not nano itself.
<lilyp>PotentialUser-87: I think we want to be able to install Guix from CDs, which don't have that much disk space available (700 MB max if I recall). Now our ISOs are sometimes larger than that, but it's good to save space :)
<mitchell>lechner: Thank you! I'm happy to be able to contribute
<lilyp>again, the install disk is not a "live" disk in the sense that you can use it as a day-to-day OS (which you can with other systems I've seen so far)
<mitchell>PotentialUser-87: it could be the version of guix that is packaged in the image is not the same one that packaged the image
<gabber>mitchell: i see! thanks! on the current HEAD on trunk there's "seafile-applet" which is part of the very same channel (gabber in this case) -- do i have to add "gabber-channel" to as it's own dependency?
<lilyp>mitchell: actually, it very surely isn't
<lilyp>`guix build guix' always points into the past
<mitchell>gabber: Yes you need to add the gabber channel to your `.guix-channel` so when you pull those packages are included in the guile path
<gabber>thanks for the clarification!
<mitchell>gabber: Wait, the think you linked is the gabber channel. I'm sorry i misunderstood, you shouldn't need to include itself as a dependency
<apteryx>PotentialUser-87: yes, we should fix that :-)
<apteryx>it's unintuitive and wasteful
<gabber>mitchell: huh
<gabber>i tried it anyhow - i hope my machine doesn't disintegrate
<apteryx>mitchell: hi! please do not link to non-free channels here
<mitchell>apteryx: I'm sorry! I was not advocating the use of the software described in that channel, only the free code that consists of the channel itself
<gabber>i got a "Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS" -- so i guess kinda close to disintegration
<mitchell>probably because of the circular dependency lol
<gabber>yes, pretty sure :)
<apteryx>mitchell: OK!
<mitchell>I can't imagine it would have a problem with manifests being included in a channel
<mitchell>gabber: I think i know what is happening. You should use packages->manifest instead of specification to manifest
<mitchell>maybe..
<mitchell>i'm not sure how it all gets resolved during a `guix pull` but I would think that explicitly refering to a package by it's symbol is going to be more fool proof than trying to look it up by package-name
<evilsetg[m]>How could I refer to an output directory in a package definition? I know how to do that with gexps but I need the directory in a string for a configure flag.
<mitchell>evilsetg[m]: you can use package:output syntax. like `guix shell gcc:lib`
<gabber>mitchell: i thought that just using a string would be safe since the s-exp wouldn't be evaluated until it was used -- which should only be in the case when the relevant channels had been pulled and their modules were made available
<mitchell>You might be right
<ngz>evilsetg[m]: You can use G-exps in configure flags too.
<gabber>mitchell: i'm definitely not since it doesn't work (at least not in the way i imagined)
<gabber>i really preferred the specify-the-packages-by-strings method because i'm pretty lazy :)
<gabber>guess i'll give it some thought, try it out later and eventually fix it (: thanks for your input!
<evilsetg[m]>mitchell: Thank you. I am defining the package the output of which I want to refer to so I suspect that might not work.
<ekaitz>civodul: i'm digging on the bash-minimal mingw issue, i'll report it btw, is it feasible to git bisect it or it's going to take ages to try
<ekaitz>?
<jgart[m]>Hi, has anyone tried running Guix on Fedora Silverblue? https://silverblue.fedoraproject.org/
<helpful-friend>"Team Silverblue" https://silverblue.fedoraproject.org
<PotentialUser-87>sarg, lechner, lilyp, mirai, mitchell, apteryx: Okay, unfortunately I'm out of time for playing around with this any further tonight.  Thank you all very much for your input!  You've been most helpful.
<jgart[m]>Is something like this currently supported with Guix? https://nixos.wiki/wiki/Nix_Installation_Guide#Installing_without_root_permissions
<helpful-friend>"Nix Installation Guide - NixOS Wiki" https://nixos.wiki/wiki/Nix_Installation_Guide#Installing_without_root_permissions
<evilsetg[m]>ngz: Can you explain to to me how would I do that?
<hwpplayer1>hi people !
<lilyp>jgart[m]: yes, there are guides with proot and stuff
<hwpplayer1>Does GNU Guix uses both Hurd and Linux Libre kernels ?
<lechner>hwpplayer1 / not at the same time
<jgart[m]>can you link me to one of those?
<evilsetg[m]>Hi hwpplayer!
<ngz>evilsetg[m]: I can't : I don't know what you're trying to do. But you said you know how to do "that" with G-exps. I'm merely pointing out that you can use G-exps.
<hwpplayer1>lechner: could you please elaborate ?
<ngz>evilsetg[m]: Do you have a proof of concept of your package definition?
<ngz>a draft, rather.
<hwpplayer1>evilsetg[m]: hi
<mitchell>evilsetg[m]: when you specify your arguments you normally do it like "`(#:tests? ...)" you can use a gexpression instead of a quasiquote
<lechner>hwpplayer1 / to paraphrase dos equis, we don't use kernels other than linux often, but whenever we do we prefer the Hurd
<mitchell>or you can escape the quasiquote and introduce the g-exp like `(... #:configure-flags ,#~(...))
<hwpplayer1>lechner: what is the role of Hurd ?
<lechner>hwpplayer1 / the gnu herd is a kernel that should have been and may never be. it's the grand dream of what would have happened if linus had embraced micro-kernels
<lechner>hwpplayer1 / from a theoretical perspective, many of us would like to see Linux be replaced by a microkernel architecture
<mitchell>lechner: don't give up hope!
<evilsetg[m]>ngz: Here is a draft of the package: https://paste.debian.net/1274299/
<evilsetg[m]>I am trying to create a string that contains the output directory of the package.
<helpful-friend>"debian Pastezone" https://paste.debian.net/1274299
<ngz>evilsetg[m]: Have you tried (list #:configure-flags #~(list (string-append "--with-usbdropdir=" #$output "/pcsc/drivers"))) ?
<mitchell>evilsetg[m]: #$obj:output
<mitchell>(ungexp obj output)
<mitchell>
<mitchell> This is like the form above, but referring explicitly to the output of obj—this is useful when obj produces multiple outputs (see Packages with Multiple Outputs).
<mitchell>
<mitchell>sorry!
<hwpplayer1>lechner: please forgive me as I am confused now Could you please elaborate more ?
<mitchell> https://guix.gnu.org/manual/en/html_node/G_002dExpressions.html from this page
<helpful-friend>"G-Expressions (GNU Guix Reference Manual)" https://guix.gnu.org/manual/en/html_node/G_002dExpressions.html
<mitchell>you are probably after the #$output:extra-output syntax
<evilsetg[m]>@ngz That did the trick. Thank you.
<lechner>hwpplayer1 / for give me, but you sound a little bit like GPT-4. what are you looking for please?
<hwpplayer1>lechner: I would like to know if any piece of HURD is inside in Guix
<lechner>now you sound like a lawyer
<evilsetg[m]>mitchell: Yes that is what I am after but until now I did not know how to put the gexp into the package. I thought I could not just pass a quoted expression for the configure flag. But I guess it is evaluated at build. I guess I just understood what gexp are really for.
<lechner>hwpplayer1 / https://www.phoronix.com/news/GNU-Guix-Hurd-Images
<hwpplayer1>lechner: Thanks
<helpful-friend>"GNU Guix Begins Publishing System Images Based On Hurd - Phoronix" https://www.phoronix.com/news/GNU-Guix-Hurd-Images
<reyman>hi guixer :
<mitchell>evilsetg[m]: If you haven't already I highly recommend reading this https://arxiv.org/pdf/1709.00833.pdf
<mitchell>it's pretty great
<evilsetg[m]>Thanks I will read that :)
<reyman>little question, i have a /gnu/store/myapp that contain a /out/myfile.so, i need to set an env file with "setenv "path-of-so" /gnu/store/myapp/out/myfile.so
<reyman>is there some way to replace /gnu/store/myapp/out/ path ? by something dynamic based on the current hash ?
<mitchell>reyman: have you tried g-expressions?
<reyman>how ?
<reyman>something like #$myapp ?
<mitchell>from another package definition which requires the env file you might write #~(with-output-to-file (string-append #$output "/env") (format #t "setenv ~a" (string-append #$other-package "/path-to-so")))
<reyman>ok i will try, thanks mitchell !
<hwpplayer1>mitchell: thanks for the pdf file
<mitchell>it may not be exactly that but store path resolution is one of the benefits of gexpressions
<reyman>ok !
<gabber>mitchell: i'm trying packages->manifest now with no luck (i get a "Wrong package object: %S" exception). when i (use-modules) the relevant code by hand the manifest seems to be defined well
<gabber>is there any example code floating around where a manifest uses package definitions from more than the main channel? because i start to suspect that i've found a bug (or at least surprising behaviour)
<mitchell> https://git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/website/manifest.scm here is one that uses manifests which have local files
<helpful-friend>"manifest.scm\website - guix/guix-artwork.git - Artwork and web site of Guix" https://git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/website/manifest.scm
<mitchell>it may not be what you are looking for and it is not part of a channel
<civodul>jgart[m]: hi! it's more or less supported via "guix pack -RR guix" (that gives you a relocatable Guix)
<civodul>well, rather less than more TBH
<gabber>mitchell: thanks! and also: hats off for being so darn quick!
<mitchell>I am avoiding work by playing tech support :)
<gabber>way to go!
<gabber>also: probably false alarm. i forgot to force push so my last attempt failed. packages->manifest seems to work after all
<mitchell>I was hoping to get some feedback on this post http://gnucode.me/creating-new-build-systems.html before I attempt to submit it to the blog
<reyman>hum, i try to write this with no success : (setenv "DENO_DOM_PLUGIN" #~(string-append #$rust-deno-test-util "/bin")), something i misunderstand it seems
<mitchell>reyman: can you share the larger example on pastebin?
<reyman> https://paste.debian.net/1274306/
<mitchell>reyman: when you write your package arguments, instead of using a quasi quote use a g-expression. Then when you modify-phases and add the make-env-file phase you can replace `string-append` with `file-append` and ungexp that expression
<helpful-friend>"debian Pastezone" https://paste.debian.net/1274306
<mitchell> https://paste.debian.net/1274308/ something like this
<helpful-friend>"debian Pastezone" https://paste.debian.net/1274308
<mitchell>don't forget to include (guix gexp). if you don't include it and it doesn't yell at your when you compile the file you did it wrong lol
<reyman>ok ahah :) thanks mitchell
<spiderbit>Hi I have following problem, suspend "crashes" my system around 50% of times
<spiderbit>that is the case for stumpwm with "loginctl suspend" yet in gnome it seems to work perfectly over the UI
<mitchell>spiderbit: Thanks for teaching me that command! Perhaps its a wayland issue?
<gabber>mitchell: i could give it a try but i'm rather tired already. do you have any particular aspect in mind i should most focus on?
<spiderbit>my first thought would be is there some "gnome-power-ctl suspend" command or so that I can use the functioning gnome suspend inside stumpwm
<gabber>spiderbit: i guess /var/log/messages dosn't mention anything interesting?
<spiderbit>not really it gives some errors but it's not really helpful
<mitchell>gabber: https://guix.gnu.org/en/blog/2023/building-toolchains-with-guix/ it is a follow up to this post. I just want to see if it makes sense to people who haven't been working on this for a while.
<spiderbit>the question is do I need to use loginctl
<mitchell>or if there is some other information that might be interesting/useful
<gabber>mitchell: soooo i need to read those two? i might not make it tonight, but let's see :)
<mitchell>gabber: don't worry the subject matter is very dry
<jonsger>apteryx: thanks for all your work on improving icedove!
<spiderbit>Mar 16 18:05:24 localhost dbus-daemon[377]: [system] Successfully activated service 'org.freedesktop.login1'
<spiderbit>hmm I saw dbus commands to send a suspend to gnome somehow that had such org.freedesktop path
<spiderbit>in other linuxes you would use systemctl suspend, but there is no herd suspend
<lechner>mirai / Hi, does the opensmtpd service now depend on 'networking? I thought it was working but it just failed to come up again on a reboot
<gabber>mitchell: i will definitively mention it when i give a talk about reproducible builds at work next week - and i will most probably read it before that
<mitchell>oh? do you work with these kinds of systems?
<mitchell>My favorite thing about browsing the web with EWW is a lot of paywalls don't work when you don't run javascript
<jonsger>mitchell: nice blog post btw. I've read it a few hours ago :)
<spiderbit>ok that seemed to work:
<spiderbit>dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Suspend" boolean:true
<apteryx>jonsger: thanks to you for actually maintaining it :-)
<mitchell>jonsger: thank you!
<spiderbit>it's far from a perfect solution I need gnome installed as far as I understand so that this works, but it's a usable workaround :)
<hwpplayer1>What do you think about deploying a web application from local to remote server via a package manager ?
<lilyp>you can actually use loginctl suspend and loginctl hibernate too, supposed you have a running dbus
<mitchell>hwpplayer1: I made a guix deployable config.scm which can deploy haunt websites
<mitchell> https://paste.debian.net/1274313/
<helpful-friend>"debian Pastezone" https://paste.debian.net/1274313
<hwpplayer1>mitchell: thanks it sounds great
<mitchell>I think guix deploy is the most sane way to deploy web apps
<hwpplayer1>Can I deploy MediaWiki Wordpress and similar PHP written web applications ?
<mitchell>I don't know anything about it but i made pretty significant progress on an open-emr-service-type https://www.open-emr.org/ i have a long way to go but it could be interesting
<helpful-friend>"OpenEMR" https://www.open-emr.org
<spiderbit>ok did not work it still only works sometimes with the dbus command
<mitchell>spiderbit: do you have the same issues with i3?
<spiderbit>it's nearly like it awakes instaltly so it goes dark then picture comes back, then after 5 seconds input frozen it goes dark again
<spiderbit>not 100% sure but I tried on tty
<spiderbit>with loginctl
<mitchell>i see
<mitchell>I wonder what's different with gnome
<spiderbit>gnome does some magic it seems
<mitchell>i bet it's all the bloat /s
<spiderbit>is there some elogin command to suspend
<hwpplayer1>I prefer GNOME rather than a window manager
<mitchell>I use i3 but i also use stuff like gnome-calculator so i'm not sure where the boundries of gnome are
<hwpplayer1>Yes I understood
<mitchell>i know i can't do thinks that need gnome-shell but it seems like a lot of gnome apps work without it
<hwpplayer1>Surely
<evilsetg[m]>spiderbit: loginctl belongs to elogind I think. So l`loginctl suspend` is correct.
<hwpplayer1>What is the latest GNU Emacs version in GNU Guix ?
<mitchell>28.2
<hwpplayer1>Noisytoot welcome
<hwpplayer1>Okay thanks mitchell
<mitchell>technically 29
<mitchell>if you use emacs-next
<hwpplayer1>Understood thanks
<spiderbit> http://ix.io/4r1j
<spiderbit>that should be a unsuccesful suspend
<spiderbit>not very much useful
<civodul>mirai: could you comment on https://issues.guix.gnu.org/62128 ? i don't see the difference
<helpful-friend>"[PATCH] services: network-manager: Avoid doubling iwd shepherd-requirement." https://issues.guix.gnu.org/62128
<spiderbit>I can switch to gnome and make there a suspend as comparsion
<spiderbit>doesn't look that much differently
<spiderbit>Mar 16 22:26:18 localhost vmunix: [ 1295.959029] PM: suspend entry (deep)
<spiderbit>Mar 16 22:26:25 localhost vmunix: [ 1295.971658] Filesystems sync: 0.012 seconds
<spiderbit>filesystemsync is a bit faster I think 0.01 vs 0.9? or do I remember wrong
<spiderbit>na was 0.009
<spiderbit>ok just tested it with loginctl suspend inside gnome it works
<spiderbit>multiple times
<spiderbit>and in i3 with fresh config it also crashes
<spiderbit>so it's not the command but somehow the environment
<mitchell>does gnome use wayland?
<mitchell>i3 uses xorg i'm pretty sure
<spiderbit>it's default setup didn't change anything
<spiderbit>I would assume
<spiderbit>that gnome uses wayland
<spiderbit>well
<hwpplayer1>Why did you ask gnome and wayland ?
<spiderbit>I have some xorg configs so it must then use at least xwayland
<spiderbit>I have a trackball config it uses that xorg lines in gnome
<hwpplayer1>mitchell ^
<spiderbit>so for other people suspend works outside gnome I assume?
<mitchell>I don't understand the linux desktop very well. I don't know if different display managers affect the suspend programs. I learned when i switched to i3 that a lot of things gnome used to do for me stopped working. Like i said before I really don't know where one thing ends and the other begins
<hwpplayer1>What is your device a laptop if a laptop what brand it is spiderbit ?
<spiderbit>it's a deskmini what do you call that
<spiderbit>ryzen system
<spiderbit>suspend works in nixos as example
<spiderbit> https://www.asrock.com/nettop/AMD/DeskMini%20A300%20Series/
<hwpplayer1>ACTION needs to sleep see you all friends
<spiderbit>ohh and maybe I have to mention that I use vanilla kernel
<spiderbit>nonguix
<spiderbit>otherwise I think that would not boot or not be usable with X
<spiderbit>I guess I could use a second X with gnome
<spiderbit>as workaround maybe :D
<spiderbit>would need 2 seets
<mirai>civodul: tbh I don't see any as well
<mirai>I think the 'doubling' here means = avoid shadowing the variable
<spiderbit>another problem that sucks when you have to reboot so often is that after tty is there it waits 30-60 seconds before it starts X
<mirai>logically it does the same thing
<spiderbit>have a fast ssd nvme shouldn't take long to get to the login promt
<gabber>mitchell: i am (currently) not an active Zephyr user, but i am employed in some applied-science-with-embedded-systems kind of gig. needless to say i'm the rainbow unicorn talking about Guix and reproducible software and all that jazz
<mirai>I think shadowing the variable is fine since eventually it will get simplified into (iwd? (and shepherd-requirement ...)) which is more readable than burying it within the string-append
<mirai>lechner: adding 'networking to shepherd-requirement field of opensmtpd-configuration didn't fix it?
<mirai>you have to add it manually
<jgart[m]>civodul: THNX for the infos
<mirai>I think adding some sort of service linter that says "warning: non-loopback interface detected in opensmtpd.conf, you may have to add 'networking in shepherd-requirement field" could save some headaches
<reyman>mitchell i try to run a gexp, but i have an unbound error on rust-deno-dom-0-1-17, i dont understand why
<reyman> https://paste.debian.net/1274326/
<helpful-friend>"debian Pastezone" https://paste.debian.net/1274326
<spiderbit>wayland? (default: #f)
<spiderbit>    When true, enables Wayland in GDM, necessary to use Wayland sessions.
<spiderbit>so it's not wayland if that is the default in guix
<mirai>maybe it's time to defaulting wayland? to #t for GDM
<mirai>X11 still works afaik
<spiderbit>but then I can't use anything good :D
<spiderbit>stumpwm, exwm, i3...
<mirai>X11 still works even if GDM starts with wayland
<spiderbit>well it loads both then maybe, but gnome (x11) suspend works so what would it fix to activate it
<mirai>spiderbit: what issue are you having
<mirai>wayland not working?
<mirai>or... ?
<spiderbit>loginctl suspend only works in gnome always
<spiderbit>in i3 as example it works sometimes
<spiderbit>and when it does not work it crashes
<spiderbit>so ruffly 50% of the time it works
<mirai>did you try with stock guix
<mirai>since you mentioned running extra channels
<spiderbit>no it's with vanilla kernel if you refer to that
<spiderbit>it doesn't boot
<spiderbit>without it
<spiderbit>but I don't see how it can be a kernel issue if it works in grome very unlikely
<mirai>did you try asking for help in their own channel
<spiderbit>if it would be a kernel issue why does gnome suspend work perfectly
<mitchell>reyman: what are those (deno-dep ...) modules?
<reyman>this is from a channel i build myself. Using guix search the package appear with no problem
<mirai>spiderbit: not being snarky but I've had these kinds of questions before
<reyman> guix search rust-deno-dom return "name: rust-deno-dom version: 0.1.17"
<reyman>so the package is here
<mirai>like: why does mpv hang the kernel with this video but vlc/etc doesn't, why does game X hang the kernel, ...
<spiderbit>mirai what exactly
<spiderbit>lol
<spiderbit>"hang the kernel" is guix that bleeding edge?
<mitchell>is the symbol rust-deno-dom-0-1-17 or is it just rust-deno-dom
<mirai>I didn't say which distro/kernel this was on
<spiderbit>ahh ok :)
<mitchell>you may wish you use the deno dom as given by the inputs assoc list so you can do --with-inputs and friends later
<mirai>in your case, intuitively it "shouldn't be a kernel problem" but how exactly is i3 doing suspend?
<spiderbit>no it does not reliable
<mirai>gnome does it via elogind
<reyman>euh, rust-deno-dom is defined like that in my channel : https://git.sr.ht/~reyman/rust-channel/tree/master/item/deno-dep
<helpful-friend>"~reyman/rust-channel: deno-dep/ - sourcehut git" https://git.sr.ht/~reyman/rust-channel/tree/master/item/deno-dep
<mirai>is i3 suspending using the "same components"?
<spiderbit>only gnome does reliable
<spiderbit>yes
<spiderbit>again i3 and stumpwm is the same... only gnome does it correct
<reyman>and here more specificaly : https://git.sr.ht/~reyman/rust-channel/tree/master/item/deno-dep/rust-deno-dom-0-1-17.scm
<helpful-friend>"~reyman/rust-channel: deno-dep/rust-deno-dom-0-1-17.scm - sourcehut git" https://git.sr.ht/~reyman/rust-channel/tree/master/item/deno-dep/rust-deno-dom-0-1-17.scm
<mirai>when you say gnome, gnome X11 right
<mitchell>that is not the name you gave it!
<mitchell>you named it `rust-deno-dom-0.1.17` not `rust-deno-dom-0-1-17`
<spiderbit>how can you do multiseat in guix... need to run gnome parallel to use it for suspend :D
<spiderbit>mirai yes
<spiderbit>but all are x11
<jpoiret>I think it's more of a GDM+elogind problem, haven't had any issues since switching to greetd
<mirai>if all use elogind... I think you'll get meaningful answers asking there (or posting to bug-guix since there's overlap with the developers)
<reyman>mitchell : use module seems to find "rust-deno-dom-0-1-17", but after that the native input line doesn't recognize any of them : rust-deno-dom-0.1.17 or rust-deno-dom-0-1-17
<mitchell>reyman: the module name and the variable are not the same
<mitchell>"(define-public rust-deno-dom-0.1.17" vs "(define-module (deno-dep rust-deno-dom-0-1-17)
<mitchell>"
<mitchell>
<spiderbit>greetd?
<spiderbit>used a lot login-managers but not that
<mitchell>"(setenv "DENO_DOM_PLUGIN" #$(file-append rust-deno-dom-0-1-17 "/bin")))) "
<reyman>oh i made the same thing for all my .scm in this channel, is it a problem ?
<mitchell>this line refers to the wrong symbol
<mitchell>it should be rust-deno-don-0.1.17
<mitchell>s/don/dom/
<reyman>rust-deno-dom-0-1-17 in native-input is unbound
<spiderbit>but I did use slim instead of gdm with the same problem
<spiderbit>so it's not gdm specific
<mitchell>that should be the other one as well
<reyman>ok so i replace with rust-deno-dom-0.1.17
<jpoiret>mirai: iirc elogind is now developed solely by gentoo people
<reyman>now i have : "In procedure apply: Apply to non-list: #<gexp (#:phases"
<jpoiret>spiderbit: what exact problem do you run into?
<mitchell>that symbol only refers to the module. you should use "(use-module (deno-dep rust-deno-dom-0-1-17))" to include the packages into the module scope but use `rust-deno-dom-0.1.17` when you want to refer to that package because thats what you named it when you wrote the `define-public`
<reyman> https://paste.debian.net/1274327/
<helpful-friend>"debian Pastezone" https://paste.debian.net/1274327
<spiderbit>jpoiret i3 and stumpwm crash with suspend but not with gnome
<jpoiret>What kind of crash?
<spiderbit>sometimes it works sometimes the picture comes back
<reyman>arg i'm lost, i have this in my use module (deno-dep rust-deno-dom-0-1-17)
<mitchell>oh... i see whats happening
<jpoiret>i3 by default creates a log file, right?
<spiderbit>the powerled stays on
<reyman>is need to repeat into gexp scope ?
<spiderbit>picture dark
<mitchell>you need to quote modify phases
<mitchell>#~(#:phases '(modify-phases...
<spiderbit>if I press the power button I get a curser I think I have to hold it down to shut the pc down
<jpoiret>Do you have a screen locker?
<spiderbit>no
<reyman>same error with quote
<reyman>apply to non list
<jpoiret>I have some similar behavior under sway where the screen doesn't turn on when I resume, but if I just type the password for my screen locker blind it turns back on, so I've never bothered to look into it
<reyman>i need to add a list perhaps
<jpoiret>I'm not sure it's because your wm is crashing then
<mitchell>reyman: Yea there is a level of indirection you are missing somewhere.
<jpoiret>Pressing the button giving you a cursor is likely the system shutting down (and maybe xorg hanging)
<spiderbit>So your picture is dark after resuming? but for me it "crashes" while I go into suspend
<reyman>yeah adding a (list works mitchell
<jpoiret>Ah, you mean it never successfully suspends?
<reyman>oups no
<spiderbit>jpoiret yes
<jpoiret>Do you have S3 or S0i3 (also called modern standby) sleep?
<reyman>invalid keyword now ahah
<jpoiret>You can grep dmesg to find out
<spiderbit>should be normal s3
<ieure>I believe it's "S0ix," not S0i3.
<jpoiret>Right
<mitchell>#~(list #:phases ..) ?
<mitchell>is that what you did?
<spiderbit>I mean shouldn't loginctl (elogind) not figure that out if I say loginctl suspend
<mitchell>if not try it
<spiderbit>I mean using that command in gnome does figure it out :D
<jpoiret>S0ix is a nightmare, also WM can subscribe to suspend events to do something, so GNOME might have some additional things that make it work nicer
<jpoiret>WMs
<spiderbit>yeah sadly you can't gnome-session --suspend or so?
<jpoiret>Probably xorg needs some additional steps that gnome handles but not the others
<jpoiret>I would suggest trying sway or another wayland compositor to see if the issue persists
<jpoiret>And also maybe without a de
<jpoiret>Without any logs there isn't much we can do
<spiderbit>I posted logs
<spiderbit>the ix.io link
<reyman>yeah i found brute force mode : list #:phases #~modify-phases
<reyman>mitchell
<reyman>(list #:phases #~(modify-phases %standard-phases ...
<reyman>that compile now, thanks :)
<spiderbit>normaly you should be able to load gnome-power-manager inside every window-manager
<reyman>time to sleep now \O/ Thanks mitchell
<mitchell>happy to help
<spiderbit>but there is no gnome-power-manager program in guix apparently
<agnem>A guix home question: my home environment gets the sudo program installed, and the way it sets up my PATH means that it gets prioritised instead of the one in /run/setuid-programs. The one from my home profile doesn't have the setuid bit so doesn't work. Anyone else run into this?
<spiderbit>I think if I could start gnome-power-manager it would work but the package only installs gnome-power-statistics binary
<spiderbit>ok I try now slim service with 2 VT so I can start gnome in 1 and whatever I want in the other
<spiderbit>it's a ugly workaround
<spiderbit>but better than rebooting
<mitchell>agnem: you likely cannot use guix home to install sudo since sudo is a so-called "set-uid" program
<mitchell>these are treated specially
<mitchell> https://guix.gnu.org/manual/en/html_node/Setuid-Programs.html
<helpful-friend>"Setuid Programs (GNU Guix Reference Manual)" https://guix.gnu.org/manual/en/html_node/Setuid-Programs.html
<spiderbit>Well works :D
<spiderbit>so gaga
<spiderbit>vt7 stumpwm vt8 gnome