IRC channel logs
2025-02-03.log
back to list of logs
<vhns>Is there any easy way to specify that a service depends on another one without having to redefine/inherit them? <lfam>vhns: I think the 'requirement' field? <vhns>lfam: but not all service-types expose it such that you can change it, right? <vhns>Sure, I can modify the service to add it <lfam>Hm, I'm not strong at services so I don't know <theruran># semodule -i /root/guix-daemon.cil && service guix-daemon restart <sneek>Welcome back lockbox____, you have 1 message! <sneek>lockbox____, eikcaz says: Ah, I should have read that fsf page more carefully. Seems like residential addresses are greylisted, not blacklisted, by gnu.org. And I already messaged guix-devel about it... (Sorry for the spam!) <vhns>Hi. I'm currently having an issue where trying to startup certain Wireguard services runs into an error message "fopen: No such file o directory". The file does actually exist, with the private key in it and I am able to startup the Wireguard tunnel by using wg-quick. The behavior only happens whenever doing so through herd/shepherd. Has anyone run into something similar? Here's a paste with some relevant <mange>It looks like those configurations are pointing to different wg binaries. Is that intentional? <vhns>mange: I tried changing to the latest wireguard-utils as per the latest git commit, but it happened with the regular one on the repository too. <vhns>Also, watching the file with inotify shows no attempts of opening it <PuercoPop>is there a way around having to run guix pull on both root and the regular user? <lfam>Yes, PuercoPop, although how you do it depends on if you want to use the root user ever, and also if you are using Guix System or Guix on another distro <mange>I only run "guix pull" with my regular user, then I run the Guix in ~/.config/guix/current/ as root when I need to. <lfam>vhns: I recommend running the command under `strace -f`, so you can see for sure which file is missing. Those error messages can be misleading <lfam>mange: I assume by ~, you mean your regular user's ~ <lfam>Unix jargon, but ~lfam or ~root always resolves to the user's home directory <mange>Sure. I don't actually use that, though, because "sudo ~/..." resolves the ~ in my user's shell. :) <lfam>Then I think you should do what mange suggested! <PuercoPop>Currently I use the root's guix for guix system, the user's guix for guix home. <PuercoPop>mange: so you are suggestion to do `sudo $HOME/.config/guix/current/bin/buix system...`? <mange>Yeah, although when I use "sudo guix" it actually runs that binary automatically. I don't remember if I've changed something to make that happen, though. <podiki>i always suggest only using root (via sudo) for guix system reconfigure <podiki>otherwise you tend to get some things like root owning user's guix stuff <podiki>there's really nothing else you need root for in guix, just the writing of the bootloader <lfam>Oh, that's an interesting bug podiki <podiki>i don't know if it is a bug but just user doesn't realize what they are doing <podiki>after being used to using sudo for so much in other distros <podiki>so every once in a while you see people with weird issues (permissions) because root owned some stuff in their home directory (cache stuff maybe? checkouts?) <podiki>really one of the key features of guix as a package manager is you don't need root for anything <podiki>(other than writing system generation to boot) <PuercoPop>podiki: but I do need to do guix pull and sudo guix pull, right? <podiki>on guix system sudo guix ... will use your user's guix <podiki>i've only ever used sudo for "guix system reconfigure" <podiki>you can even do "guix system build" as a regular user, just the last bit of actual reconfigure needs sudo <PuercoPop>and the guix daemon runs on the guix version of the guix system reconfigure them? <podiki>savannah cgit page also not loading <podiki>which is why when a critical (security) update for the guix daemon happens, guix system users need to reconfigure and restart the daemon (or reboot) <apteryx>podiki: thanks, I've asked in #savannah <podiki>apteryx: man, they've been hit hard recently (ddos was it the other week?) <apteryx>yes, I think still reeling from that <podiki>can we handle mirrors for guix/channels through just hosting or is it needed/better to have that through guix (like source mirrors)? <PuercoPop>Final question, does cuirass uses the same version of the guix channel as the root user or keeps channels updated on its own? <apteryx>git is back, thanks from rwp in savannah <xelxebar>We don't support instantiating multiple instances of a service (with different configurations), right? E.g. two openssh daemons on separate ports or whatever. <mange>You definitely can do that, but it doesn't play nice with service extension. <xelxebar>guix system vm is erroring with "invalid field specifier" when I try to do that. <mange>%base-services, for instance, defines multiple mingetty-service-types. <mange>Can you paste what you've got? That doesn't sound like the type of error you'd get if there was a problem with multiple services conflicting. <xelxebar>mange: Cheers. I'm just munging with bare-bones.tmpl by copy-pasting the openssh-service type <xelxebar>Also, thanks for the pointer at %base-services. I'll take a look. <xelxebar>I'm guessing that the openssh service fails due to conflicting service names or something. <mange>Can you paste what you've got? The error you mentioned is what I usually see when I've made a typo with a field name. <mange>Or something like that. Maybe it's when I forget to properly wrap the configuration object. It's usually something simple, though. <mange>I might be wrong, but if the service names were conflicting I would expect a different error. <xelxebar>Copying the first openssh-service-type, I forgot to clear the closing paren for the (list ...) form. <xelxebar>Fixing that complains about multiple instances of ssh-daemon <meaty>Is there a way to tell udev to integrate the udev rules installed to a profile/integrate newly installed udev rules? `herd restart udev` just discombobulates the whole system <mange>Right, so the openssh-service-type adds a Shepherd service with a given name, and you can't have two Shepherd services with the same name. That makes sense, I guess. <jcabieces>meaning 2 python-pqt package, but one actually is python-pyqt-6 but I can't select it explicitly <divya>jcabieces: To target a particular version of the package you do package@version-number <jcabieces>divya yes, I understand that but I'm writing a package recipe and I just want to select qt 6 over qt 5 and don't want to select a specific version <jcabieces>in this scenario, there are suppose to be 2 different packages python-pyqt and python-pqt-6, and describe as this in the scm file. <jcabieces>why python-pyqt-6 is displayed behing python-pyqt <iyzsong>the cli command (guix show, etc) use "name", while in the scheme code you use guile identifiers. their names are same. <Rutherther>jcabieces: you're confusing two concepts: guile symbols and guix specifications. What you put to commands on cli are specifications. The particular specification you wrote tells: look for packages with name python-pyqt, and select the latest version. What you're looking at into the code are guile symbols, specifications do not have direct relation to symbols. So to achieve what you want, add a version specifier, python-pyqt@5 will look for packages... <Rutherther>... named python-pyqt with version starting with 5, and select the latest out of those <divya>Thank you for the elaboration Rutherther I was typing the same :) <jcabieces>iyzsong Rutherther divya thanks for the quick and detailed answers, I get the difference between cli and guile identifiers now! <tae>Is guix.gnu.org also affected by the DDoS on savannah? I am getting messages "server is somewhat slow". <cbaines>tae, there's no overlap in the hosting at least <cbaines>tae, are the messages definately associated with guix.gnu.org, or with one of the substitute servers? <yelninei>hmm cant reconfigure my system becuase the childhurd fails to (cross) build: libxcb fails to build (needed by shepherd) and hurd fails to link to libpciaccess <tae>... "server is somewhat slow" <tae>"warning: try `--no-substitutes' if the problem persists" <cbaines>right, so there's a connectivity issue to ci.guix.gnu.org <tae>Should I try that flag, what would it do? <tae>Oh I suppose that would build from source. <cbaines>I think the warning is a bit outdated <cbaines>providing the substitutes are still working, from a users perspective it can be ignored <iyzsong>yelninei: oh, could you send a bug report? seems the failure due to updates I made for libxcb and libpciaccess. <tae>cbaines: I see, OK. The speed isn't great but it is functional. <yelninei>iyzsong: (still) have not set up an email that does not have my name in it. WIll probably have to look into that as well as investigating the build failures <FrenchNewbie>did anyone have to do something more to the system to make greetd and sway run automatically on startup apart from declaring them in the config.scm ? <FrenchNewbie>even when i start sway when logged in the CLI, i then am locked because fuzzel is not started and can't do much other than switch tty and use only CLI <Rutherther>FrenchNewbie: you can't use greetd as on other distros by just installing it as a package, you would have to make it into a service, there is a service available for greetd in guix channel <Rutherther>FrenchNewbie: as for starting sway in cli, I don't understand what you mean by fuzzel not being started, that seems more like a misconfiguration / lack of configuration of sway, where you need to make a keybinding for starting fuzzel, and other apps like the terminal <Rutherther>FrenchNewbie: the service is called greetd-service-type, not greetd. You're trying to put a package to your service definition, which is not possible <FrenchNewbie>to answer your question about fuzzel not starting and the configuration, from all reference i found (mostly systemcrafters) i do not see a configuration setup step between the moment they add sway to config.scm and the moment they reboot and have it start automatically, after that i also did not see a configuration step to see him beiing able to <Rutherther>FrenchNewbie: you definitely do not get fuzzel start when sway starts, you need to trigger it with a keybinding. And fuzzel is not default launcher of sway, it is wmenu. So you definitely need to modify sway configuration to use fuzzel <FrenchNewbie>i see that the default config that comes with sway located in /gnu/store/.../sway/config isn't copied/linked to my users .config, do i have to make it manually or is it a bug ? <Rutherther>FrenchNewbie: yes you need to copy it. It is not a bug, installing any package to your system with packages list will put stuff only to the gnu store, never to /etc nor /home <FrenchNewbie>is the sway config copy advice applicable to greetd configuration ? <Rutherther>FrenchNewbie: I am not using greetd. But probably not, services are configured using their service configuration <jakef>both sharing and exposing a dir prepended to the load path causes dir to not be writeable (not shared)? <Rutherther>jakef: I am not sure on the exact specification, but why are you doing that? I think it's expected to put directory only via one of those flags. You could try putting the share flag after the expose, maybe then the share flag will shadow the expose one, inverted to what happens now <jakef>Rutherther: i had it as part of a script that was handling a couple of different use cases <jakef>i think switching the order has done the trick :) <Rutherther>f5mg_firewalled: not once since like August when I started using guix system <f5mg_firewalled>in other news, I have discovered the all-purpose secret to packaging complicated things in Guix <Deltafire>f5mg_firewalled: i've not experienced any corruption myself, on the 3 machines i have running guix, but i've seen a few people in here mention it - particularly 0 byte files <Deltafire>i think btrfs was mentioned previously too.. <jlicht>how do I see the results of transient commands that I run via `herd spawn transient`? They are removed after running to completion <jlicht>results = status code, log files, anything really :) <f5mg_firewalled>Deltafire: yep, that sounds like what happened to me - a .drv was just empty for some reason <yelninei>jlicht: is there something in the shepherd log file ( .local/state/shepherd/shepherd.log for user shepherd)? <jlicht>yelninei: ah yes! Works well enough for now :-) <orahcio>Hi, a question about local-file and another functions with the same return type. I have this fish configuration https://paste.debian.net/1348169 (I don't know why there is the fish service but no entry on manual), if I want to pass the content of config with a string intead a file content like on local-file, the mixed-text-file is the best way? <tae>Why if one derivation fails, I need to download large files again. Would this be mitigated by splitting into different scheme files, current I have a large one with my installs. <mehrad>I was reading Guix GC manual and realized there are --optimize and --vaccume-database arguments. is it safe to do `guix gc --vacuum-database --optimize` after every time I do `guix gc --delete-generations=5m` ? <noe>Is there a risk in loading a user’s Guix with the system’s guile? <FrenchNewbie>i'm having trouble with the configuration of greetd, i get error: terminal-vt : variable not set <Rutherther>mehrad: as far as I know these arguments should be safe always, but maybe someone else will correct me... also, the optimization is done automatically by the guix daemon, so you shouldn't really need to do that. Vacuuming makes sense from time to time <Rutherther>FrenchNewbie: you want to construct the "greetd-terminal-configuration" seemingly, that means you need to do "(greetd-terminal-configuration (field1 value1) (field2 value2))" etc.., greetd-terminal-configuration is basically a function, kindof like a constructor. What you have now corresponds to calling the terminal-vt function, and that doesn't exist <gabber>is there a way to see the exact configuration of the first generation of a system? `guix system describe` lacks this output <gabber>i am investigating an issue where the system as built with `guix system image` works, but subsequent `guix deploy` calls kinda work unless the system reboots (it is not clear what fails since the rebooting system lacks console output) <rrobin>gabber: list-generations should show where it is stored e.g. /var/guix/profiles/system-54-link/configuration.scm <rrobin>or do you mean the specific channel commits <rrobin>those would be /var/guix/profiles/system-54-link/channels.scm i hope <gabber>no, i mean the configuration file for the very first generation - but i guess this is not persisted anywhere <rrobin>ah if it was already removed, i guess it is gone - but what guix deploy doing there, does the system become unresponsive, maybe some service restart went wrong? <rrobin>i.e. I would not expect a deploy to break the system unless herd restart or something was called too <gabber>`guix deploy` works per se - stuff is being deployed. but rebooting the machine does not work for deployed setups <rrobin>and does power cycling bring the system to a working state again after the deploy? <gabber>in my (file-systems ) block the device was stated as "/dev/sda" instead of "/dev/sda2" which - i guess - was no problem when creating an image and flashing that onto the device, but failed to work when deploying (and then rebooting) <FrenchNewbie>Thanks Rutherther, i can now boot directly into greetd and sway ! <FrenchNewbie>it doesnt take my keyboard locale config and puts me in QWERTY instead of AZERTY <Rutherther>FrenchNewbie: where do you have that specified? if you mean the system config keyboard, this is not applicable to wayland applications, you need to configure the compositor to use keyboard you want <FrenchNewbie>i have (keyboard layout "fr") setted up in my config.scm <FrenchNewbie>does it mean i have to look up for something like wayland-service-type configuration ? <FrenchNewbie>btw, is polkit enough to make vscodium use sudo saves or do i need kde-polkit or equivalent <Rutherther>FrenchNewbie: no, there is no wayland-service-type kind of thing. Wayland doesn't have a generic way to configure keyboard <Rutherther>FrenchNewbie: I don't know much about polkit, but as far as I know you will need an implementation supported by your compositor, because otherwise there is nothing to authenticate you against the agent <rrobin>gabber: best to have a filesystem uuid there, but funny enough i just realized i have one system where i forgot to put it <csantosb>Do we have a similar reference relating to guix ? <ieure>I know Guix has to run nscd because of reasons, but is there any way to make nscd not, uh, cache hostnames? <ieure>This is a very frequent occurrence for me: wake laptop from sleep, try to access some site on the Internet. The WiFi hasn't connected yet, so it can't resolve the host. nscd caches that it can't resolve the host. WiFi connects, but I can't access the site because of nscd, and have to restart it, or disconnect/reconnect. <ieure>PotentialUser-91, What do you need to know? <PotentialUser-91>i want key public to verify a guix-system-install-1.4.0.x86_64-linux.iso, it i need know. <FrenchNewbie>managed to get azerty working but vscodium doesn't find pkexec <FrenchNewbie>is there a special configuration to do to use polkit & polkit-gnome on guix ? <dariqq>ieure: there is a nscd-configuration-caches field for nscd-configuration so you should be able to adjust how nscd caches hostnames <ieure>dariqq, Awesome, will take a look. Thank you! <FrenchNewbie>does anyone here uses remmina with multiple screen output ? <dariqq>great i found out just now that sshd-service has an (intentionally undocumented) option to disable autostart and I can remove my recursiviely inheriting mess to create something that achieves the same thing <dariqq>ACTION wishes it was easier to do common service transformations like this <FrenchNewbie>i tried adding the service polkit-service and polkit-service-type but i get a variable not set <FrenchNewbie>have to go, i'll as k again tomorrow as i can't understand how to use polkit <acrow>nckx: sad -- the connections hang before completing the git object download <mjw>p.s. For those I met at Fosdem, great meeting you! Was fun. Less fun was that I got home testing positive for covid-19... hohum. Not feeling sick, but I know I am not the only one. So be careful out there... <nckx>acrow: Oh dear, but also surprising considering the relative not-a-pi-in-someone's-basement nature of Codeberg…? <acrow>mjw: thanks. I'll give it a try. Speed is not really a consideration at this point. I'll wait hours as long as I see some progress. Reminds me of the days with the 1200 baud modem... <nckx>acrow: Does ‘guix pull’ cache incremental progress, or does it start each new pull anew (like ‘guix substitute’)? I don't recall. <nckx>If not, a hacky manual work-around would be to pull (and pull, and pull until it succeeds) into a local git clone, and point channels.scm to that file://. And script subsequent git pull && guix pulls. <acrow>nckx: I don't think that it saves incremental progress (unless it gets a full update). I like your hacky suggestion. I'm not getting better results from mjw generous offer.... <acrow>nckx: so this is all premised on the idea that guix does not cache incremental progress but git does...? I'm not sure if git does it either. What file transfer protocol is good at this? <ieure>acrow, I'm not sure what it's doing under the hood, but if it's fetching Git commits *at all*, those will be cached between runs. <nckx>ieure: It is, good point. I don't know. <acrow>ieure: maybe I'm misinterpreting what that progress bar really means, aside from just simple progress. <ieure>acrow, I honestly have no idea what it means, there's a lot happening. <nckx>What definitely would is ‘git clone --depth 1 <url> && git fetch --unshallow’, but that's more manual hackery. <nckx>The clone would need to succeed in one go but it's fetching relatively little. <acrow>nckx: I love manual hackery. <nckx>There might well be a better way entirely, but not one I know :o) <ieure>acrow, I think roughly, you can expect fetched Git commits to persist, anything downloaded to stay on disk, and any *successful* builds not to get repeated. It'll compute the derivation every time, and Guix package builds are atomic, so if something fails to build during pull, it starts over. <acrow>I'll give this madness a try and report back. <nckx>I wonder what your ISP [or someone elses's] is up to. This isn't your normal flaky connexion. <acrow>I'm retrying this a few times (in lieu of understanding the nefarious isp activity). If I could get some artifact of progress ... <ieure>Not sure why that has my nick in the URL, but alright. <nckx>And it's going bye-bye once you download it. <jonsger>does geoclue work for someone on Guix System? $(guix build geoclue)/libexec/geoclue-2.0/demos/where-am-i <ieure>nckx, Sorry, what? Is it for acrow? <nckx>I'm walking, in a group, typing on my 'phone. Sorry. <ieure>Haha, no problem at all, glad I didn't fall sideways into an alternate dimension. <nckx>I am a simple nckx and your nicks have the same colour. <df>is there a way to *never* build packages locally? perhaps just specific packages, such as web browsers <df>selected either by name or ideally by some kind of metric that takes a guess at how much grunt they'll require to build <ieure>df, I don't think so, but would also like this. <ieure>Any time I reconfigure and it starts compiling stuff, I generally C-c C-c and wait a bit. At least, on the x86 machines. <ieure>You pretty much always end up compiling a ton on aarch64. <df>I don't mind compiling the odd thing if it's not huage and going to spin my fans up for hours or days <nckx>df: If you use a manifest for your ‘non-system’ packages (and I recommend against putting huge things like Web browsers in your operating-system), you can pass that manifest to ‘guix weather’ and wait until it returns 100%. There's no more automated solution yet. <nckx>Eventually, a branch that is auto-fast-forwarded by CI only when ‘everything’ has built would be nice. <ieure>df, Re: the other part of your question: I don't think there's any way to tell how long a build is going to take. <nckx>You could scrape the ci.guix.gnu.org page. I don't know if it's exposed over an API. <ieure>Yeah. It's an interesting space, is there some way to measure a normalized compute effort to build a package which has value across hardware variations? <ieure>CI systems can be both much faster and much slower than local builds. <ieure>Time spent in CI is probably ballpark, but lots of room for things to go funny. ex. if you're building a C program that takes 10s, but have to rebuild gcc to do that. <df>hmm, but then it would probably have given up on building gcc before it gets to the 10s things <nckx>At least for x86, ci.guix (berlin) is a relatively homogenous rack, and the nodes aren't overloaded, so ~in theory~ the CI/my machine speed factor should be relatively constant. But there are still many variables. <csantosb>acrow: you have also gitlab.com/debdistutils/guix/mirror, mostly up to date <csantosb>Out of curiosity, during the history of guix, have we ever consider a wiki in the vein or arch, debian, (even nix !), etc. ? <luca>What's the difference between that and the manual? <Rutherther>wiki is modified directly by users, without any reviews <Rutherther>it then typically ends up with solutions to typical problems people encounter and think someone else could encounter as well, as opposed to the manual that explains how to achieve something, usually without discussion potential obstacles <csantosb>Kind of a dynamic and lively cookbook: very useful for novices <User-42>I find it very hard to figure out something that i feel should be simple: i would like to do something like this: (function-to-eval-gexp (plain-file "test" "testcontent")) -> "/gnu/store/xxxx" <ieure>I do think ArchWiki is one of the best sources for Linux technical information out there, even though I've never run Arch. <User-42>i'm trying run-with-store, and different versions of everything, but nothing seems to do what i want. Should this not be simple? <csantosb>ieure: I do, and Arch's wiki is one of the main reasons for it <ieure>csantosb, Nice. ArchWiki really feels like a continuation of the spirit of the HOWTOs that were ubiquitous in the early days of Linux. <csantosb>Would be nice something similar with Guix. I was wondering if the questions was ever put on the table. <dariqq>User-42: in the repl there is ,build metacommand, you could look at how that is implemented <ieure>csantosb, I get a 504 Gateway Timeout. <csantosb>ieure: same here; you have to insist, for some reason <df>is there a difference between /run/setuid-programs and /run/priveleged/bin? on this system the former seems to contain symlinks to everything in the latter (and nothing else) <df>ah, possibly /run/privileged/ is a newer convention (judging from differences between manual versions)? <nckx>Changed the name when I added non-setuid programs to it. <nckx>acrow: Was the tarball useful at all/may I delete it? <coyotes4ys>i'm looking to game a little, medium to medium-high spec. any suggstions? <nomike>You peeps @FOSDEM have me all hyped up about guix \o/ and I'm trying to do my first steps (for the moment on top of my ubuntu 24.10 installation). However, I'm struggling with a few bits here and there and I'm not sure how to debug them. Maybe someone in here has some advice. <nomike>So Danny gave me his config, we adapted it during FOSDEM (we were mainly kicking out stuff I don't need) and got it to work. As it is a home-config with lotś of copy/paste stuff which has been growing for years, I'm currently trying to clean it up a bit, put everything into isolated modules, etc.. <eikcaz>nomike, if you are needing to split things into different modules, then I think you are trying to start too big. I would start with an empty home config with just a shell service (bash or zsh) and build up from there