IRC channel logs
2026-05-19.log
back to list of logs
<bdunahu>how do you debug without a rubber ducky? <Guest53>I need some help here. I made the mistake of setting the path incorrectly and can no longer type any command apart from setting path itself and echo. <Guest53>What do I need to set PATH to so I can run guix again? <bdunahu>can you restart the shell, or did you set the PATH bad in a permanent place? <Guest53>I set the path in home-configuration.scm <Guest53>and ran 'guix home reconfigure home-configuration.scm' <bdunahu>rather than typing `guix system reconfigure`, you can maybe type `/path/to/guix/binary system reconfigure`, where the path might be `.config/guix/current/bin/guix`? <Guest49>bdunahu, for some reason the guix command there does nothing. <bdunahu>I guess that makes sense because it's using the broken path. I think you'll need to manually set the path <Guest69>Are there any regular PATH directories I can that might help me run more commands? Apart from ~/.guix-profile/bin? <folaht>Is it possible to extend the path in home-configuration or should one extend it differently? <bdunahu>since I use bash I used `home-bash-service-type` and in the environment variables configuration set `("PATH" . "$HOME/.local/bin:$PATH")` <bjc>there's also ‘home-environment-variables-service-type’ <folaht>bjc, thanks. I'm using that first. <mwette>did you try this?: `export PATH=$HOME/.guix-profile/bin:/bin:/usr/bin' <mwette>maybe add $HOME/.config/guix/current/bin to that <identity>apteryx: looking at inferior.scm, that seems to happen when Guix does not manage to read a valid response from a port using ‘read-repl-response’, and there are no inferiors involved <apteryx>on my second attempt, I could see some action-exception-error caused by my service: %exception #<inferior-object #<&action-exception-error service: forgejo-init action: start key: misc-error args: (#f "~A ~S ~S" ("failed to run forgejo command" "/gnu/store/64v6s59kbs9fqnqb0zsvchcghd0qc0p9-forgejo-pola-wrapper" ("migrate")) #f)>> <identity>‘read-repl-response’ used at guix/remote.scm:83 <apteryx>thanks for localising where this surfaces from <apteryx>it's strange that it does not reproduce on a 2nd attempt <oliverD>Hi, does anyone have any experience getting docker working? I've installed docker but can't use docker compose up (i tried installing and using docker-compose up but it complains about the syntax of my yaml) <oliverD>docker compose just gives command not found <oliverD>when i searched around it seems that docker-compose might be deprecated and docker compose is the command to use? but when I installed docker and tried it doesn't work. <jlicht>oliverD: I am aware this is not nearly as helpful as I'd like it to be, but rootless podman + podman-compose works well for me <jlicht>(I also had some issues/warnings wrt docker/docker-compose some time ago, which is why I made the switch) <jlicht>oliverD: does it work via "docker compose" if you have both "docker" and "docker-compose" installed? <oliverD>I installed the docker, docker-cli and docker-compose and for some reason running `docker compose up` just gives me `docker: 'compose' is not a docker command.` <oliverD>and docker-compose up has issues with the yaml i used and when i fixed those it complained it didn't know docker+http or something? <oliverD>I added (service containerd-service-type) and (service docker-service-type) to my services config but i don't think I did much else. <sham1>oliverD: given how old the docker version we have in Guix is, it may well be that you'd have to do `docker-compose` instead <sham1>And/or just install the compose separately <cmiller>On a Debian installation, I can have the root password be empty, and therefore use sudo with the actual user I have. So root is basically disabled. Can I do that on Guix, too? I would require to remember only one password <stephen1>I plugged in a wifi adapter that should use mt7921u, but I dont even see that module on my system. Is that module nonfree? <tusharhero-xmpp>> On a Debian installation, I can have the root password be empty, and therefore use sudo with the actual user I have. So root is basically disabled. Can I do that on Guix, too? I would require to remember only one password <stephen1>Let me rephrase that: is the firmware that module needs nonfree so it was excluded? <bjc>stephen1: almost every wifi device, outside of usb modules, use non-free blobs <bjc>guix, in general, doesn't work with wifi <bjc>if you need to use non-free blobs, there's nonguix <stephen1>I *thought* this one was free. My other one is atheros and is just plug and play. <stephen1>I guess if I can't find the firmware source then it must be nonfree. <bjc>if it works on freebsd was my test for a long time <apteryx>hm, how does refreshing an agit PR with emacs-forgejo work? It looks like it'll open a brand new PR (prompting for title/template again for example?) <apteryx>I tried doing 'C-x v f s' using the same agit target branch and 'topic' as originally done. <PotentialUser-33>hey all! ive just did a fresh install of guix desktop! i have some questions about its usage: 1. ive made a user with `useradd -aG` but i cant seem to sign in the account. im taken back to the gdm login screen. 2. on the topic of gdm, ive installed sddm. how to i switch to sddm on guix? ive downloaded seat and i dont see a group for it. 3. my user <PotentialUser-33>account does not have the typical home directories. how do i make them? thanks in advance guix is awesome! <identity>PotentialUser-33: i do not recall useradd having ‹-a› as an option; when you say you ‹installed sddm›, how? <identity>could you describe in more detail how you created the user account? <PotentialUser-33>identity i installed sddm like so: `guix install sddm`. when creating a new user i used `useradd -a -G <username> <identity>«guix install sddm» simply will not do. you need to replace the GDM service with the SDDM service in your system configuration <identity>what does the ‹-a› option do? i do not see it in useradd(8) <PotentialUser-33>identity how would i go about replacing the service? is there relevant documentation for this? <PotentialUser-33>i think that was a mistake! im sorry, i used `useradd -m <username>` ive used **usermod** to add users to a group <yelninei>janneke: Do you know what the deal is with libtirpc/hurd and with both libtirpc/hurd and libtirpc having different mechanisms for fixing cross compiling? <identity>PotentialUser-33: i think «the way» to replace GDM with SDDM is (cons (service sddm-service-type) (modify-services %desktop-services (delete gdm-service-type))), or something to that effect <identity>adjust for your service field, obviously <identity>if it was unclear, that goes in /etc/config.scm, after which you should ‹[sudo] guix system reconfgure /etc/config.scm› <identity>«guix install sddm» installs sddm for your current user only, not system-wide; you probably want to ‹guix uninstall sddm› <janneke>yelninei: sorry no, never heard of libtirpc <PotentialUser-33>identity thank you for the advice! how would i install sddm user wide? (i also had another question: what is the command to clear the terminal? it seems clear doesnt work) <identity>PotentialUser-33: the SDDM service effectively (but not exactly) installs (and uninstalls) SDDM as-needed, you do not need to do anything besides making sure your system configuration has the service, and then applying the configuration with guix system reconfigure <PotentialUser-33>identity gotcha thanks! i feel a little embarrassed that i didnt know that! <stephen1>for clear, add ncurses to your packages list <yelninei>i guess someone should fix this and also update the whole onc module as well <ieure>PotentialUser-33, Guix is very, very different from other Linux type systems, and you don't typically manage it in an imperative way ("install X package", "adduser", etc). You edit the system configuration file to declare how things should work, then reconfigure, which applies it. Sort of like having Ansible built-in to the OS. <ieure>PotentialUser-33, For users, you need to add them to the users field of your operating-system and reconfigure. <identity>PotentialUser-33: i would recommend seeing the (info "(guix) Getting Started") and the (info "(guix) System Configuration") sections of the manual <identity>and specifically (info "(guix) User Accounts") <PotentialUser-33>identity when i add my users to the 'users field' are you referring to the group 'users' or something else entirely? <identity>PotentialUser-33: adding them to your system configuration; please read the manual <identity>note that it does not have to be at /etc/config.scm, it is just the place for the template that has been generated by the installer from the information you have given to it <futurile>PotentialUser-33: Guix works completely differently to how other Linux distro's (that you may be used to work). It's declarative, so everything gets defined in the system config, then you use 'guix system' to deploy that new configuration into the 'live system'. <yelninei>janneke: libtirpc has 3500 depedants and nobody has been touching this in 6 years <yelninei>with an additional patch from debian it all builds for i586-gnu as well so theoretically one could set it up as an nfs server <orahcio>Hi. I have a question about the gnu packages modules. Is it normal to have cyclic use-module? Ex.: #use-module (gnu packages game-development) in games.scm module, ok, but #:use-module (gnu packages games) in game-development.scm? <janneke>orahcio: "is it normal"? -- well, it depends... <janneke>cyclic dependencies can be tricky, there are rules/limitations to what you can do <orahcio>janneke: I am working in a PR, and the package have two dependencies in sdl.scm (I created them there because are sdl things), but if I move one of them to game-development, the pagckage brokes <janneke>orahcio: ah, right; yes i'm not thinking. cyclic dependencies only work when both modules have procedures that depend on each-other; if variables, like packages, depend on each-other, that doesn't work, indeed <orahcio>janneke: the games and game-development have a clyclic dependency, I could not move one package to game-development module because that cycle <bjc>janneke: #8691 is based on #8609? <orahcio>janneke: Is that cycle is a problem? I think it is, because I need to put one package in sdl.scm instead game-development.scm <yelninei>all the cool/cursed things require a world rebuild :( <janneke>bjc: yes: #8609 (prepare for guile) => #8624 (earlyboot; mostly guile) => #8609 (full guile) <bjc>i'm happy enough with #8609 if you want to push that to master or hurd-team <bjc>it'll help me review the other ones when they're less redundant =) <janneke>bjc: thanks; i'm processing your remarks and will push; helpful <janneke>hoping you're seeing /proc/mounts with this (you'll need a fresh, patched linux-7 system...) <bjc>when did the patch go into linux? <bjc>i'm about to reboot into 7.0.8, i think <bjc>i have to use nonguix, unfortunately, so i guess i'll see <bjc>i have no idea how they do the linux build. maybe i'll luck out and it just modifies the guix defs <janneke>bjc: nonguix should be fine, i believe they're using all of guix's linux-libre patches <bjc>yeah, i figured that'd happen <janneke>ACTION will just wait a bit, hoping that someone will call out this person's behavior <bjc>we'll see, but i have my doubts <bjc>the “right” solution is probably to have hurd use user or system <janneke>bjc: well, the ext4 patch got in nicely, six years ago <janneke>bjc: i don't agree, "gnu.*" was reserved especially for this <bjc>yeah, i was surprised when i saw that, too, so my opinion shouldn't count for much =) <bjc>yeah. thankfully that patch shouldn't need much attention if we end up having to maintain it ourselves for a while <janneke>this christoph person isn't even listed as a mm mainttainer or reviewer, so chances are his passive-aggressivess will just be ignored; dunno <bjc>yeah, i was about to ask <bjc>just another hater ;) <janneke>ACTION has no idea how this all works <janneke>yeah, possibly still hasn't gotten over tanenbaum vs linus <yelninei>they could have said their opinion in a nicer way, also calling an 8 line patch bloat is just absurd whith the rest of the monolith that is linux <bjc>honestly, seeing the word “bloat” should have instantly clued me in that this person wasn't a maintainer <janneke>it's six lines declarative code, it's ridiculous <janneke>get rid of all the corporate (TM) nonsense <bjc>just someone with an axe to grind by trying to take potshots in public <PotentialUser-33>hi again! im havingba bit of an issue reconfiguring my config scm. i get an error about an unexepected line of input near the end of the file (where %base-file-system is) but i dont see any thing wrong with this line. what could be the issue? may i post my config.scm in a pastebin? <ieure>PotentialUser-33, You likely have unbalanced parentheses, if you're using an editor with Scheme indentation support, reindent the whole file and the place where that's happening should be obvious. <TheTaoOfSu>Does Guix System have some sort of firewall enabled by default? I'm trying to test things out in a VM, and SSH opened up just fine, but a Guile REPL always gives connection refused <TheTaoOfSu>I don't seem to have common firewall commands at terminal, and I haven't noticed anything in configs, but I'm new to Guix, so I might just be missing something <TheTaoOfSu>I wonder if libvirt is opening the SSH port by default... <TheTaoOfSu>No, it's set up on a bridged connection, it shouldn't be port-specific <ieure>TheTaoOfSu, Guix doesn't have firewalling enabled by default. The Guile REPL is probably listening on a localhost address, which won't be accessible to any other machines. <ieure>TheTaoOfSu, You can use ss(8) to inspect Guile's listen address. <ieure>TheTaoOfSu, Yes, "evaluate arbitrary code over the network with no authentication" is a poor default for almost everything. :) <Guest68>hi there. i am struggling with an issue using `guix system reconfigure`. there is an error that indicates that there is an unexpected line of input at the end of my config.scm file. but i dont see anything wrong with the line. its where the `%base-file-systems` ends. what should i do? <TheTaoOfSu>Yep, it's listening on 127.0.0.1, so that's the issue pinpointed, and I bet google will tell me how to fix that pretty easily <ieure>Guest68, Repeating my previous answer (I assume you were "PotentialUser-33" and missed it): "You likely have unbalanced parentheses, if you're using an editor with Scheme indentation support, reindent the whole file and the place where that's happening should be obvious." <ieure>Guest68, But, you are welcome to share your configuration and the error message /by using a pastebin, and pasting a link to its URL/. Do not paste directly into the channel. <Guest68>ieure yup that was me! i can share a paste here. give me one moment! <Guest68>actually, disregard! i removed the actual line where the problem is. for some reason the error reported at the end of the file, but it is fixed now! <NegateThis>Hi, does anyone have experience running Guix on lower end hardware? I have a spare Thinkpad T60 with a T7200 and 2.5G RAM that I like to use to test various OSes <ieure>NegateThis, I know some are running on hardware with comparable specs. The limited RAM due to the 32-bit CPU and wacky way Lenovo designed that hardware are going to be your main limitation, you'll want to add a good amount of swap. <ieure>NegateThis, You can leverage the offload facility to have a beefier machine do /most/ of the required computation. You can also install Guix on the T60 and use `guix deploy' from a faster machine to update it. <bjc>does anyone know how to check out a pull request locally? <janneke>bjc: git fetch origin refs/pull/000/head && git checkout -B 000 FETCH_HEAD <janneke> url = git@codeberg.org:guix/guix.git <janneke> fetch = +refs/pull/*/head:refs/remotes/pulls/pr/* <janneke>to your .git/config and: git fetch pulls...but that gets everything <ieure>NegateThis, T7200 is 64-bit, which is good. Guix supports 32-bit x86, but this is unfortunately a losing battle due to software bloat and upstream developers not caring about 32-bit systems anymore. So 32-bit stuff breaks much more often. <janneke>but then you can do: git fetch pulls && git branch 000 pulls/pr/000 <bjc>bjc@lapras:~/src/guix/master$ git fetch origin refs/pull/8691/head <bjc>fatal: couldn't find remote ref refs/pull/8691/head <janneke>$ git fetch origin refs/pull/8691/head <janneke> * branch refs/pull/8691/head -> FETCH_HEAD <bjc>hmm. well i guess i can just download the patch and apply it by hand <NegateThis>ieure, I hadn't seen `guix offload` before. Seems similar to `nixos-rebuild`'s `--target-host` and `--build-host` flags. I'll read the docs and see whether I can get that / `guix deploy` working to build on my main machine and test on my T60. Would be a fun little project to learn Guix <bjc>got it: my ‘origin’ is still git.guix.gnu.org <bjc>using an explicit codeberg remote and it's fine <ieure>bjc, I configure Git so I get refs for PRs, and check them out directly. <bjc>i may explore that if i end up doing this more often <bjc>it'll probably never be an issue in practice, but it occurs to me that the contents of /gnu/store would make a pretty good fingerprint, and one that's exposed into containered shells <janneke>hehe, probably good, also probably a bit heavy? <orahcio>janneke: I found my mistake, one reference to #$somepackage on snippet, when it lives on sdl module it's fine, but if somepackage lives on game-development the cycle is not a good thing. So I remove the reference from snippet, and I made new phase to do that work <janneke>orahcio: that makes sense; nice to hear you found it and fixed it! <orahcio>janneke: :) it is hard to find on manual some subjects like that <janneke>even when such things are documented, i sometimes find that i can only find the relevant documentation after i knew the solution <bjc>i'm so tempted to try and make runsystem a symlink to shepherd