IRC channel logs

2026-04-09.log

back to list of logs

<ham5urg>maybe it's the kernel of guix 1.5 ?
<ham5urg>Tomorrow I try to build a custom iso.
<orahcio>Hey folks, anyone run into massive log files with ReadyMedia/MiniDLNA on Guix? My /var/log/readymedia.log just hit 54 GB
<ieure>orahcio, I haven't. Sounds like you need to configure log-rotation-service-type for those logs.
<orahcio>ieure: Thanks, I need to read again the guix manual for log-rotation
<apteryx>can module #:autoload be used in place of the manually delayed (module-ref ... resolve-interface ...) incantations?
<gnufairy>Graphical installer with FDE makes no option for swap, which is an issue on a source-based distro combined with older hardware.
<ieure>sneek, later tell gnufairy You can use a swap file. Encrypted swap partition needs LVM support, which is currently lacking.
<sneek>Will do.
<apteryx>are there known edge cases where using 'mock' or 'mock*' in tests fail to redefine a procedure?
<apteryx>maybe optimization and inlining of top level definitions can cause it to fail?
<apteryx>I just moved the content of a module to another one, and mock stopped working for the tests, so it's puzzling
<apteryx>actually it's not switching the module, so the only thing I can think about that changed is the Guile used to build Guix
<apteryx>so maybe the new one does more aggressive of inlining which could break mock as it was used in my test
<RavenJoad>For those of you using wireguard and NetworkManager/wpa_supplicant on a laptop, how do you get wireguard to automatically restart when you switch WiFi networks?
<RavenJoad>This may also be a non-issue, since this laptop has 43 days of uptime and has gone through 2 system reconfigures at this point.
<apteryx>re mock no longer being effective on a procedure defined in (guix import utils) (post guile 3.0.11 upgrade); It could be made to work by changing #:use-module (guix import utils) to #:use-module ((guix import utils) #:select (download-git-repository))
<apteryx>I have no idea why that should matter; perhaps a bug. But at least it works now.
<apteryx>why does 'guix shell --pure' in the guix checkout give us Guile 3.0.11 instead of 3.0.9, which is what is used for the guix package?
<apteryx>RavenJoad: not sure if this would work in your specific situation, but there's monitor-ips? to monitor the IP of the endpoint; IIRC it resets the wireguard interface if the IP changed
<adanska>hi guix!
<RavenJoad>apteryx: The thing is, neither of the remote endpoints has a changing IP. The laptop changes the WiFi and the wireguard interface sometimes goes dead. monitor-ips? watches for IP changes on the endpoint, which isn't happening here.
<apteryx>OK; I'm not sure then, but the monitor-ips script could be used as the base of a solution to your problem; another solution would probably be to let networkmanager handle your wireguard connection
<apteryx>which is sadly not declarative
<RavenJoad>Honestly, I think I just need to restart this laptop. 43 days and 2 major system reconfigures is bound to break some things.
<janneke>sneek: later tell gnucode: as debian gnu/hurd has many packages available, i would hope building it from source from a git checkout, should be doable
<sneek>Got it.
<janneke>sneek: botsnack
<sneek>:)
<f1refly>I'm trying to import pyglet from a python venv. after settings PYTHON_PATH to include the venv's /lib, it complains about not finding the 'GL' Library: ImportError: Library "GL" not found. However, when I open a shell and use ctypes to query for that library (ctypes.util.find_library('GL')) it does so without problems: 'libGL.so.1'. I found this (https://github.com/pyglet/pyglet/issues/456) issue
<f1refly>from another guix user who had the same problem, but didn't really say what he did to resolve it. any ideas?
<Rutherther>f1refly, does ctypes.cdll.LoadLibrary("GL") work for you as well?
<f1refly>yes, that works
<Rutherther>Thats just strange then
<Rutherther>What pyglot version is it?
<f1refly>2.1.14
<f1refly>I tested with python -m pyglet.info
<Rutherther>Hmm and what does find_library from ctypes return exactly? Full path or just libGL.so.1?
<f1refly>Just libGL.so.1
<Rutherther>Can you try ctypes.dll.LoadLibrary("libGL.so.1") then?
<f1refly>returns nothing
<Rutherther>Yeah I think that's the issue
<Rutherther>I think it's a bug in pyglot and has an easy fix. No matter, do you have libGL.so.1 in LD_LIBRARY_PATH already?
<f1refly>that path is currently empty
<Rutherther>f1refly: try adding lib folder with libGL there, but keep in mind adding LD library path can make other programs misbehave, so keep it minimal, for specific session etc.
<Rutherther>If you enter a shell with libGL you can just do export LD_LIBRARY_PATH=$GUIX_ENVIRONMENT/lib
<f1refly>that works :)
<f1refly>strange
<Rutherther>I will try to make a PR to pyglot that I think will fix it
<untrusem>does guix shell defaults to the $SHELL of the user?
<csantosb>In my case `guix shell -- echo $SHELL` and `echo $SHELL` return the same
<untrusem>I would like to change my default shell to fish for the time being
<trev>untrusem: yes
<efraim>git grep 'This package implements a functionality'
<futurile>morning all
<trev>lol
<trev>We live in a functionality
<trev>hi futurile. any responses from those grants?
<efraim>I have to check the linter, see if that string is too long
<efraim>this is what I get for checking spellings
<futurile>trev: I will follow-up with them, but no, didn't get a response
<futurile>trev: I imagine you get a lot of applications if you're offering people grants/money heh
<trev>futurile: that's true...unless you wrote "gimme money" in your proposal O_O
<futurile>trev: dang, forgot - will send again
<Kabouik>Should Guix not be there: https://opensource.un.org/en/news/united-nations-open-source-principles?
<trev>OSS != FOSS
<Kabouik>Right
<Deltafire>guix weather reports that freecad isn't available, but also not queued
<Deltafire>does that mean the build failed?
<csantosb>I hope it's not again ! https://codeberg.org/guix/guix/pulls/7596
<efraim>it looks like freecad is built on master on berlin
<efraim>ACTION tested by trying to build it on berlin
<csantosb> https://ci.guix.gnu.org
<csantosb> https://bordeaux.guix.gnu.org
<csantosb>I love sunny weather
<yelninei>could https://ci.guix.gnu.org/build/20277509/details be restarted again
<kestrelwx>Hello!
<trev>csantosb: you kind of jynxed it and now the subbies are frozen for me
<csantosb>trev: sorry ?
<trev>substitutes are slow now for me!
<trev>4KiB/s
<csantosb>What did I do for that ?
<trev>you mentioned the guix weather is sunny
<trev>therefore angering the guix gods
<csantosb>Ah, ok. My bad. Gods are nice with me, reconfiguring my home at full speed now.
<csantosb>(full speed meaning 1.5MiB/s)
<quassel-guy>Hello, has anyone got distrobox working with podman?
<dthompson>has anyone had issues with ssh connections taking a long time to establish lately?
<dthompson>my ssh client first attempts to connect over ipv6, which times out after a couple of minutes, then succeeds over ipv4. guix on both client and server side. I'm not yet sure who is the culprit.
<f1refly>firefox substitude finally built, time to upgrade :)
<Air4x>Hi, I'm trying to package EDOpro "https://github.com/edo9300/edopro" for guix, but when I try to use the package definition in "guix shell -f edopro.scm" it raises an error saying that premake is an undefined variable even though I have a #:use-module (gnu packages build-tools) in my module declaration. premake is used in the native-inputs field. Here the pckage definition: "https://paste.debian.net/hidden/e9f4248e"
<yelninei>Air4x: There is no scheme variable "premake", there is only "premake4" and "premake5"
<Air4x>understood, ty
<trev>quassel-guy: yes, i have it working
<quassel-guy>trev: can you share your config?
<quassel-guy>trev: I will share my system and home scheme files, plz help. this has almost made me unable to do my university project.
<quassel-guy>trev: https://paste.debian.net/hidden/aef27c69 this is my system config
<trev>quassel-guy: https://github.com/trevarj/dotfiles/blob/7f599d683aaee7715052c7537f0c0693ad30d4ed/trev-guix/systems/stinkpad.scm#L200-L206
<trev>should be simple as that
<quassel-guy>trev: https://paste.debian.net/hidden/7f8a5e74 and this is my home config
<trev>you have those...
<quassel-guy>Yes I did put rootless podman service, but it didn't work out for me.
<trev>what's the error?
<quassel-guy>I get this error: https://paste.debian.net/hidden/ec51c6d5
<trev>dthompson: hi dave, for the record, i haven't noticed any ssh slowness and i'm on a pretty recent pull
<dthompson>trev: yeah it must be something else, though it coincidentally happened around the time of a server update.
<trev>i was recently blaming guix for my wifi not working. it turns out i had a wifi hotspot running on a nearby second laptop and it was interfering with the signal
<quassel-guy>trev: are you sure only enabling rootless podman solves the issue, are there more things to do?
<dthompson>trev: I see the issue now, but don't know why it's happening. 'ip -6 addr' shows that the ipv6 address of my server does not match the public ipv6 address in linode. no idea why this is the case.
<trev>quassel-guy: you can look around my config, but there shouldn't be anything else
<Air4x>Is there a way to make lua5.3 available in $PATH in build environment? While building EDOpro in the 'patch-generated-file-shebangs' patch-shebang warns about no binary for interpreter lua5.3 in $PATH
<futurile>Air4x: do you have "lua5.3" in the inputs for the package?
<Air4x>futurile: i put lua in native-inputs
<futurile>Air4x: I would check the configure script see what it's checking for, maybe it's specifically looking for "lua 5.3"
<dthompson>is nonguix having build farm issues? every time I try to update lately I end up building firefox from source so I cancel it
<Air4x>futurile: the thing is that the configure script is actually a premake5 script, that works. The thing that gives a warning is a script in ocgcore. I need to do a little more research on this
<futurile>Air4x: yeah, I just looked quickly at the github you put in, it's not really following what the "gnu" build-system expects.
<futurile>Air4x: the GNU build system basically tries to run configure;make;make install.
<Air4x>futurile: I know but is also the one with most similarities with the mess that is the build system that EDOpro uses
<futurile>Air4x: I guess you have to remove those steps and then run this script instead - not sure exactly
<futurile>Air4x: fair enough, sorry, I don't know how familiar you are with it, so excuse me if I'm telling you the obvious
<Air4x>futurile: already did that for the configure step, replacing it to invoke "premake gmake"
<Air4x>futurile: but it puts the Makefile in ./build/ so I have also to solve that
<futurile>Air4x: OK, so you can just remove the 'patch-generated-file-shebangs' step as well, since that tries to patch files created by configure
<futurile>dthompson: I always check https://guix.bordeaux.inria.fr/jobset/nonguix - seems fine
<dthompson>hmm idk why guix wants to build everything from source then :(
<dthompson>thanks though futurile
<Air4x>futurile: didn't know I could do that, thank you
<quassel-guy>trev: thanks, I removed the files part and it suddenly works, wtf?
<futurile>Air4x: this might be worth a quick scan - https://www.futurile.net/2024/07/23/guix-package-structure-build-system-phases/
<trev>dthompson: try one of the mirrors? https://nonguix-proxy.ditigal.xyz
<dthompson>yeah I can look into that
<dthompson>I'm having a morning full of problems so I'll add it to the stack
<futurile>heh know that feeling!
<trev>same
<cbaines>I'm going to take the nar-herder on bayfront down for some maintenance. This'll cause issues serving nars from the bordeaux build farm for a short period.
<gabber>postroutine: does it say which partition can not be found?
<postroutine>Yes. It give me a file system ID. And after check it on my PC, I can confirm it's the ID of the root file system.
<gabber>and that ID is also the one of the root file system as it appears on your SD card?
<postroutine>Yes
<postroutine>I have multiple message like this one: `waiting for partition '38af4c98-31d9-c65a-217a-6a4d38af4c98' to appear...`
<gabber>huh
<postroutine>Then, I have a message `ice-9/boot-9.scm:1705:22: In procedure raise-exception:`
<gabber>what image-type are you building?
<postroutine>Followed by `ERROR: 1. &partition-lookup-error: "38af4c98-31d9-c65a-217a-6a4d38af4c98"`
<postroutine>> what image-type are you building?
<postroutine>The default one
<postroutine>`mbr-hybrid-raw`
<gabber>now, i'm far out of my league here. but maybe try `efi-raw` and see if it makes a difference?
<gabber>if that doesn't bring any insight i'd suggest emailing help-guix@gnu.org
<gabber>our mailing lists have a greater reach and usually yield relevant pointers for all our issues
<postroutine>Ok. I will make a test later.
<postroutine>Thank you very much.
<gabber>HTH!
<trev>n|Phreak: yes, what ieure said and that the profiles will become quite large instead of small and focused. you'll need all helper tools and you'll have a bare shell. maybe that doesn't bother you though
<n|Phreak>dumb question , what package do I need to add in order to have access to linux base packages like ls , cat etc .. is that bash or do I need gnu ?
<gabber>coreutils
<n|Phreak>thanks
<marty>I've made some progress documenting the install process for T400/GNUBoot/OpenRC. https://codeberg.org/marty_mcfly/parabola-openrc-install
<marty>oops... meant to parabola... disregard... or read it for fun!
<JMRuge>Hi everyone, little problem invoking guix shell --pure
<JMRuge>LANG=C guix shell --pure -m manifest.scm
<JMRuge>Command 'lesspipe' is available in the following places
<JMRuge> * /bin/lesspipe
<JMRuge> * /usr/bin/lesspipe
<JMRuge>The command could not be located because '/bin:/usr/bin' is not included in the PATH environment variable.
<JMRuge>lesspipe: command not found
<JMRuge>Command 'dircolors' is available in the following places
<JMRuge>No problem without "--pure"  / Sorry, newbie, just trying commands (copy/paste from docs)
<gabber>JMRuge: are you setting the LANG=C env var on purpose?
<JMRuge>Yes / system language is french ;-)
<JMRuge>NB :  guix ubuntu24.04 (not a guix full system or full guix system ... )
<gabber>I don't understand what command you are invoking / what exactly leads to that error message
<gabber>does *not* setting the env var change anything?
<JMRuge>Oups sorry, it's i already in english : "Command 'lesspipe' is available in the following places
<JMRuge> * /bin/lesspipe
<JMRuge> * /usr/bin/lesspipe" (etc)
<JMRuge>I used to LANG=C when posting on english speaking forums
<gabber>yes, but what exact command are you invoking that yields this error message?
<JMRuge>guix shell [--pure]  -m manifest.scm  => perfect without --pure    but error when --pure added, just trying to understand why ... Not a big deal
<Rutherther>JMRuge your shell's config is depending on something in PATH, fix it and there wont be any ossues... Use full paths
<gabber>just invoking `guix shell` with a manifest yields that error? without another command being executed?
<usernew>Hello dear guix users; I changed the shell of my user (not bash not zsh) and I don't use Guix Home: what do I need to do in order to have my new shell up and running (for example have the correct env variables). I would expect there is a set of few things to do but couldn't find anything in the Guix manual...
<JMRuge>No, the error raises only with "--pure"
<gabber>JMRuge: yes, because in a non-pure environment /bin and /usr/bin are in your $PATH
<JMRuge>ok / clear
<Rutherther>usernew: just sourcing /etc/profile in .zprofile should be fine
<Rutherther>usernew: thats in case it supports sourcing sh code, if not, replicate what it does but but in its language
<usernew>Rutherther: thanks. Is .zprofile a typo? I dont use zsh
<Rutherther>usernew: no it is not a typo. I misread. Use your shells profile equivalent
<gabber>usernew: what shell are you using?
<usernew>@gabber I use emacs as shell
<usernew>gabber: Rutherther so for example ithe info env variable is not properly set
<usernew>So when I do M-x info i dont find the dir file.
<usernew>I suppose the INFO paths are set somewhere in /etc/profile that u mention?
<usernew>Rutherther:
<gabber>usernew: what holds you back from reading that file?
<usernew>gabber: Im cleaning the vegetables and my laptop is in the other room, texting from phone. Ok Im going now check that file
<gabber>i see
<Rutherther>usernew: everything guix sets up on bash is in turn from /etc/profile, from the various profiles guix uses
<dthompson>trev: to close the loop on my ipv6 woes. the issue was that guix's dhcpcd service defaults the "slaac" option to "private", but to get SLAAC provisioned ipv6 addresses working on linode I had to change this to "hwaddr".
<dthompson>I don't really understand why this has only recently become a problem for me, but that was the solution.
<usernew>Ok gabber infopath is there. Rutherther perfect. Do I need to do anything else besides sourcing /etc/profile ? (Less important: do you know how to do that for my shell which is emacs?)
<usernew>Rutherther: "from the various profiles guix uses" i dont understand this bit of the sentence, would ypu please kindly rephrase?
<trev>dthompson: woah
<gabber>usernew: i'd be surprised if you were the only/first user to attempt this. have you tried searching the mailing-list archives?
<usernew>Cause etc /profile is only one file
<dthompson>I know there's some "guix on linode" stuff out there, this would be a good tip to mention...
<gabber>dthompson: the documentation team is always happy to review an push your patches ;)
<dthompson>I think there's just blog posts and stuff about this
<dthompson>though maybe the cookbook has something? I'd have to check I haven't looked at that in a long time
<gabber>dthompson: chapter 3.8 in the cookbook is what you are referring to (i guess)
<dthompson>gabber: ah yes, that's right.
<dthompson>these instructions seem pretty old.
<Rutherther>usernew: just read the file and you will see a for sourcing the various profiles. That is if you are on Guix System. If you are on foreign distro, the for is in /etc/profile.d/zzz-guix.sh
<gabber>dthompson: i guess many folks have switched to hetzner for cheap deployment since
<dthompson>I never liked the whole "start from debian and convert it to guix" thing, so I just generate guix system images that work on linode from the get go.
<dthompson>gabber: maybe? no idea
<dthompson>I've never used hetzner.
<Air4x`>While packaging EDOpro I found a compiler error regarding a conversion between two string types, reading around it seems that a possible solution is to use substitute* and patch the code directly in the package definition. Is this the idiomatic way or is more of a stopgap solution?
<Rutherther>usernew: I don't think Emacs supports sourcing shell files, it's not login
<Rutherther>shell to start with
<gabber>Air4x`: the more sustainable way would be to have upstream fix it (possibly by proposing a Pull Request)
<gabber>Air4x`: apart from that using `substitute*' is a valid way to go forward
<Air4x`>gabber: knowing the project its probably never going to happen
<gabber>Rutherther, usernew: what does EXWM do? isn't that emacs (on X) as a login (shell)
<QUL>Hi, what are you all thinking about making a Fluxer server for GNU Guix? Fluxer is fully under the AGPLv3 and has an export feature so that all disscusions maybe archived and tranfered to another platform if the need arises?
<gabber>QUL: i have no idea what Fluxer is or does but every service is a welcome contribution IMHO
<ieure>gabber, No, it is not like that at all.
<gabber>ACTION shrugs
<ieure>gabber, EXWM is usually launched from .xsessionrc, which is a file that gets sourced by the login shell.
<ieure>usernew has changed their shell in /etc/passwd to be emacs.
<ieure>Which I told them was not recommended because it would cause problems. So now they have problems.
<QUL>gabber: Fluxer is a FLOSS instant messaging and VoIP platform. It functions and looks very much like the propietary Discord.
<gabber>QUL: this sounds like a very cool addition!
<gabber>QUL: do i understand correctly that you would want to work on that?
<QUL>gabber: Yeah I would be very interested in doing that. Im just very new to GNU Guix and don't know if I should that or if the people might be against it
<QUL>But if people don't mind i'd be happy to do that
<ieure>QUL, Why would we be against it?
<gabber>QUL: i don't think anybody should be against adding more (free) software to our distribution. but i could imagine this being a rather steep learning curve (since i'd imagine this being a more difficult package to try first)
<QUL>Oh sorry I there is a missunderstanding. What I meant by creating a Fluxer server I meant like a communication channel for people interested in the GNU Guix project. not the package for a Fluxer Server. And now that you mentioned it since Fluxer doesn't have a package yet in GNU Guix it's better to wait until such package is ready (in which im also interested to do) before making a GNU Guix communication server on Fluxer
<yelninei>why are all language specific package managers so bad and uncomposable
<gabber>yelninei: yes
<QUL>That's why I asked if people here are ok with it since I didn't want to make a GNU Guix "branded" server if people here don't like it.
<gabber>QUL: ah, i see. so, we currently seem to be doing a "the more the merrier" approach in the guix community. there's a (partition) of the community on as many platforms as there are platforms (i guess). so i guess having another one on Fluxer is appreciated (:
<ieure>QUL, You should not create a server with Guix name/brand. I would recommend starting a discussion on guix-devel or starting a GCD process.
<gabber>QUL: that's ok, but we will not list it as an "official" Guix channel (where our maintainer's collective enforces our CoC)
<ieure>Will just say that I would prefer that we don't split the community across some other chat thing.
<ieure>But it's also not my decision, so all I can say is: I probably wouldn't use it.
<gabber>ieure: i don't think this has happened for most channels (reddit, telegram, zulip). but i'd also prefer to have as much of the community using/coming together in a central location
<dajole>I'm trying to set up all my channels for unattended upgrades, but the service keeps failing. I suspect that I I somehow need to use gexps for the `channels` field, but I'm having a hard time understanding the documentation around it. Currently I have: https://paste.debian.net/hidden/3138ee02
<QUL>gabber: Ok than I explicitly will mark it explicitly as unofficial since there are already many other platforms.
<QUL>ieure: What do you think?
<yelninei>i am seriously thinking to write a tool to automatically generate a sane build system but that would not be fun
<gabber>yelninei: have you heard about the new, cool kid on the block B.L.U.E.?
<ieure>QUL, Seems fine.
<QUL>ieure: Cool, thanks.
<yelninei>gabber: The main issue is not the generating part but getting all the info from the old package manager without it resolving all dependencies itself
<gabber>i guess knowing this pain is what brings us together here in #guix ;)
<Air4x>is there a way to make a snippet that replace a line in a file given the file name and the line number?
<RavenJoad>Are there any plans to add a "switch on next boot" target to the "guix system" command? I often want to build a config and make it used on the next boot without switching the currently-running system.
<gabber>Air4x: i'm afraid not
<RavenJoad>Air4x: No. But is there a problem with using substitute* and a regexp to match the line's contents?
<RavenJoad>And if not that, then a patch?
<gabber>RavenJoad: why doesn't switching the system right away not suit you?
<RavenJoad>gabber: Sometimes things break in odd ways. Right now for instance, Plasma doesn't recognize any windows being open, despite me having many open. There's also dbus comm. issues too.
<gabber>huh
<gabber>and
<gabber>that isn't due to your home and system configs diverging?
<gabber>or you needing to logging out and back in again?
<Air4x>RavenJoad: i'm trying to use a snippet to correct a line in a file but it fails with "source expression failed to match any pattern" here the snippet: https://paste.debian.net/hidden/852c8b18
<RavenJoad>gabber: I'm pretty sure this is a re-log that is required. But I don't want to log out right now/every time.
<RavenJoad>I have no problem switching right away. I just would also like an option to switch on next boot.
<gabber>Air4x: note that bracket characters are special and need escaping in this context (but i struggle with these things, every single time, too)
<RavenJoad>Air4x: My bet is that your string is actually a regexp, so things like [] are special, () are capturing groups, etc.
<gabber>Air4x: btw we usually patch these things in a build-phase
<RavenJoad>I recommend you take the line you want to substitute*, throw it in a Guile REPL, and tinker with the regexp match there until you get something that matches what you want.
<Air4x>gabber: so i need to go and learn guile regex, understood
<RavenJoad>gabber: I've been curious about that. Why in a phase and not as a snippet?
<Air4x>gabber: I thought that fixing upstream code went in snippets, good to know.
<gabber>Air4x, RavenJoad i am not sure there is a rationale or the "one, correct" way to do it
<RavenJoad>Ok. I always thought that snippets were for minor changes to the source that produce another source that compiles (deleting vendored stuff, minor substitute*s, etc.) and a phase was for bigger stuff.
<gabber>Air4x: why would upstream *not* want to patch an obvious bug in their code?
<gabber>RavenJoad: you may be right
<Air4x>gabber: more than not wanting is a matter of they don't have time so I would have to wait god knows how much
<Air4x>i was also thinking of forking the project itself
<gabber>if
<gabber>it is such a simple patch we could get lucky with someone just merging it?
<gabber>otherwise, if you open a pull/merge request you usually have to fork the repo anyways which gives you the option to use your fork in the package definition (though this should come with a comment)
<Air4x>now that i think about it i don't really understand why it doesn't compile, the program is distributed as a precompiled binary using travis on github, so it has to compile
<gabber>Air4x: maybe using a --pure -D shell and retracing the steps yourself in a source checkout brings insight?
<n|Phreak>ACTION gabber like in hardcore techno gabber ? or just gabber as in "I like to gab" ? 
<ieure>Why not both?
<n|Phreak>Just curious , cause I'm a gabber / hardcore forever
<trev>anyone know why it's not possibly to run herd in `guix home container ...` ?
<n|Phreak>ACTION trev because home doesn't have system services ? 
<trev>not sure. the manual says it's possible
<n|Phreak>lol oh wait I do have a herd service sec
<n|Phreak>ACTION trev shepherd-service https://paste.debian.net/hidden/0226d3bd
<n|Phreak>same as running make too
<n|Phreak>mako
<Rutherther>trev: wdym that it's not possible to run it?
<trev>Rutherther: not on the path when i enter the container
<Rutherther>trev: so 1. do you have shepherd in your home environment packages, 2. is your PATH in the container something like /gnu/store/...-home-system-profile/bin?
<trev>Rutherther: that probably explains it... didn't think about adding shepherd there in this minimal config
<trev>Rutherther is always here for me
<trev>hmm that didn't solve it either
<Rutherther>so what's your PATH?
<trev>what you said
<Rutherther>okay, and herd is not in there?
<trev>sadly, no
<trev>i put it in packages in the home env
<Rutherther>are you really sure it's the env you're using container with?
<trev>./pre-inst-env guix home container /tmp/test-niri.scm
<trev>test-niri.scm is very minimal with just shepherd, niri and the home-niri-service-type
<Rutherther>what's your $SHELL in the 'host' system?
<trev>/gnu/store/...-zsh-5.9/bin/zsh
<Rutherther>that's not a shell supported by home-environment by default. Either make sure to add the zsh service to the config or use SHELL=bash when entering the home container
<Rutherther>the PATH needs to include also the /home/$USER/.guix-home/profile/bin, I said it wrongly before. Your PATH does not include it because there are no profile files for zsh by default
<trev>wow good catch. thanks
<n|Phreak>I really want to be ambitious and create fuzzel links to my profiles
<trev>that is a neat idea
<n|Phreak>Trying to learn hoot though lol
<n|Phreak>niri has built in gl shaders too which I really want to play with
<n|Phreak> https://github.com/XansiVA/nirimation
<n|Phreak>lol something like this --> *warning* don't watch if your sensitive to motion or light , https://glslsandbox.com/e#362690.0
<untrusem>I also use niri
<n|Phreak>sweet
<moksh>yes
<moksh>n|Phreak: see this https://red.chatoyer.de/r/unixporn/comments/1qrb0v3/oc_i_made_a_glsl_shaderbased_reading_mode_that/
<n|Phreak>ACTION moksh that is badass lol 
<moksh>yeah, we can't do that in niri yet
<n|Phreak>Do we know what is possible in niri and what isn't ?
<ieure>anything is possible... with zombocom
<n|Phreak>lol talking shaders glsl and niri
<n|Phreak>How are niri users getting screensavers to work ?
<n|Phreak>has anyone tried out quickshell ?
<untrusem>I like to keep my machine resource friendly, I just use waybar, thats it
<untrusem>quickshell is a memory hog.
<untrusem>I like to keep my machine resource friendly, I just use waybar, thats it
<untrusem>quickshell is a memory hog.
<futurile>my machien is resource friendly so it can constantly cycle through the "Looking for substitutes on" list
<n|Phreak>its C++ so quickshell is memory hog ?
<n|Phreak>I use waybar also , I just saw it on a post so I was curious
<moksh>n|Phreak: just it uses like 200-300 mb just idiling
<usernew>gabber: I cant find anyone using emacs as login shell, in the mailing list archive. Rutherther thanks for clarifying, and yes im on guix system. Emacs is my login shell now, but I suppose it cant source bash profiles (just like zsh probably cant either). I dint think exwm is a login shell
<ieure>EXWM is not a login shell.
<usernew>gabber: so I suppose I have to translate bash profile in emacs language and load it at startup. It seems a biunch of env variables and two for cycles. I wonder if the concept of env variable exists in terms of emacs being a login shell
<usernew>gabber: ieure any idea if there is such a think as env variBles when emCs is my login shell? Otherwise I need to turn them into emacs variables, and then load the bash profile when I start eshell.
<ieure>usernew, Every process on Unix-like operating systems has an environment. getenv / setenv are the Emacs Lisp functions to query and manipulate it.
<ieure>usernew, There is no concept of "environment variables when Emacs is my login shell" because it is not designed to be used that way. As I mentioned, every process has environment variables. There's nothing special about the ones that get set at login.
<futurile>Wow, Emacs as a login shell, is that a thing Emacs people do?
<ieure>It is not.
<futurile>ah, mmm
<usernew>It is not
<ieure>usernew, You'd probably need to use something like https://github.com/purcell/exec-path-from-shell/
<usernew>Thanks for the link
<ieure>It probably needs some hacking, but that package is specifically for pulling environment variables from a shell Emacs runs into the Emacs environment. Which is probably the easiest way to get what you want.
<usernew>By the way I wonder why emacs is not used as logon shell. All the ppl just firing emacs as first thing after login could skip that step
<ieure>usernew, The inconvenience of running emacs is dramatically outweighed by the inconvenience of the hackery you need to make Emacs work as a shell.
<ieure>Also, with EXWM, you log into the EXWM session and Emacs starts. And it's the nice GUI Emacs with support for proportional fonts, images, PDF viewing, full keybinding support, etc etc.
<ieure>Truecolor for everything.
<Rutherther>usernew: skipping 1 step and adding 60 more steps :)
<usernew>ieure: your argument is silly because many people could be in my situation and the hackery is only done ince
<usernew>If at least 61 ppl are in my situation then net gain
<usernew>You can be my first follower
<ieure>Emacs as a shell is weak. Emacs as /sbin/init is where it's at.
<usernew>Ha yeah ive seen that link yesterday
<usernew>Btw can I pass emacs the new env variables at login? Because emacs immediately sets other variables based on that hence if I set the env var later its too late
<usernew>For instance emacs sets info directory based on info env variable
<usernew>And I think it does this "setting" early
<usernew>And If i change the info env variable later, the info directory doesnt change accordingly right? ieure
<bjc>almost everything can be changed in emacs at any time
<bjc>but early-init.el exists for the rare cases where you have to set things up ahead-of-time
<ieure>usernew, Correct. But you're in a chicken-and-egg situation. You can't know the right INFOPATH to set until you source the Guix profile snippet.
<ieure>usernew, You likely need to chase down what's getting set and reset it / reinitialize after you have your environment set up.
<bjc>you know, if it were me (and it wouldn't be), i'd set up a script to fork a /bin/sh which sources profiles and then calls ‘env’ which can then be processed all at once
<dajole>Is there a way to set a limited number of tries Guix attempts to reach substitutes? I can't find anything in the docs, and it appears Guix just senselessly tries to access unavailable substitutes indefinitely.
<ieure>dajole, I don't think so, I have noticed (and been irked by) the same behavior.
<dajole>huh, okay. I thought I was missing something, as this seems an obvious thing to have; like either a timeout or a limited number of tries.
<dajole>Thanks for your reply!
<ieure>dajole, I agree.
<usernew>bjc: ieure there is this emacs variable initial-environment
<ieure>What about it?
<usernew>It seems to me I can use that to feed the env variables to emacs before it starts setting its iwn variables according to them
<usernew>Own
<ieure>usernew, I don't think it works that way.
<usernew>bjc: where would such script be run from?
<bjc>.emacs.d or .config/emacs
<bjc>but i really doubt it's necessary
<ieure>usernew, initial-environment is the environment present when Emacs was started. It's just a snapshot of that state when it launched. You cannot meaningfully manipulate it from within an already-running Emacs.
<usernew>Huh
<usernew>Ok
<bjc>i thought we're talking about early-init.el?
<ieure>bjc, early-init doesn't really help here, I don't think. I guess you could make a Guix Home service that captures the environment and writes it in there when you activate the profile?
<bjc>i don't think it's useful either
<bjc>welli it might be, i dunno. it depends on when it runs exactly
<ieure>Does it matter? It has to be on disk before Emacs runs. What would create it if Emacs is the first thing run because it's your login shell?
<ieure>So it has to be precomputed before you log in to work at all.
<bjc>i mean if it runs before the ‘exec-path’ is calculated from $PATH, then you can set $PATH in early-init and things will Just Work™
<bjc>similarly for infopath, manpath, etc
<ieure>bjc, Yeeess, but you can't know what the paths need to be until much later, is my point.
<bjc>you can if you set up some code to call out to ‘sh -c '. /etc/profile' && env’
<ieure>Sure. But like I was saying, that'd need to be hooked into the profile generation somehow, otherwise it'll have stale paths the next time your user / home profile generation changes.
<bjc>ah true
<bjc>you'd have to relog every time you did a reconfigure
<bjc>although, even with a normal setup, you have to restart emacs if you change environment variables
<bjc>so six of one, half a dozen of the other
<ieure>Yeah, but it's easier to do that when you don't have to log out and back in
<usernew>Wait a sec first of all I only have my default profile
<bjc>i take it as a given that if you're willing to make emacs your shell, logging out to restart is acceptable to you =)
<usernew>Second why not just set the env variables as first thing when emacs starts after login
<bjc>what's going to set the environment variables?
<ieure>usernew, What mechanism would do that?
<usernew>Why not just hard code them in emacs
<ieure>Hard code them where in Emacs?
<usernew>Ok bs
<usernew>Maybe I just set the emacs variables that use the env variables
<usernew>And also set the env variables so that suborocesses (eshell) will have them
<ieure>usernew, That won't work.
<usernew>Why?
<ieure>Because I responded before you sent the second half of your message. :)
<usernew>Ha
<ieure>But yes, you must set the environment from Emacs, otherwise commands run inside it won't work right.
<usernew>But I admit that for a second I thiught lets start something before emacs, set the variables, and then call emacs
<usernew>See the iront
<usernew>Irony
<ieure>I do, yes.
<usernew>Ok im going to sleep now, thanks for your help
<bjc>i love that you're sticking with this insane project =)
<ieure>usernew, Why not switch your shell back to bash, and put a snippet in your bash dotfiles which runs `exec emacs' at the very end, if: a) it's an interative shell, b) it's a login shell, c) the current TTY is a Linux console?
<ieure>This seems hugely more tractable and less likely to break everything.
<usernew>Well obviously
<usernew>For aestetic reasons
<ieure>You could even set an environment variable like EMACS_SHELL=1, and have Emacs launch eshell in that case.
<usernew>By the way does emacs actually take for granted anywhere that some env variable is set? For instance Home or Path?
<usernew>And if yes, then what is the value of suxh env var when emacs is my login shell? Undefined?
<ieure>usernew, Do you understand that `exec bash' replaces the bash process with Emacs?
<ieure>I don't understand the question at all.
<usernew>ecec bash or exec emacs
<bjc>some variables are set by the login process itself
<ieure>What does Emacs do if $HOME or $PATH are empty?
<usernew>Yea
<usernew>Ah ok bjc
<bjc>breaks, probably, but it shouldn't be a problem
<ieure>usernew, Sorry, `exec emacs'. Bash will not be running in that case.
<bjc>at least for $HOME
<ieure>I don't know, I assume it has to cope with that situation for non-Unix platforms.
<usernew>I mean it just seems lunatic to call bash just to set some variables for the next process. My whole hackery is also lunatic, but conditional to the first lunacy being in place