IRC channel logs
2025-09-05.log
back to list of logs
<cow_2001>is the Gash manual under Guix responsibility or GNU? <cow_2001>the texinfo source file is available, but there is no HTML version of it online <mitchell>I am trying to create a FIPS compliant operating-system definition and notice that we don't have crypto-policies packaged. Is there a reason this isn't done other than lack of interest? If I put in the effort would there be any interest in a service which could set system crypto policies? <lockbox____>Lack of interest probably isn't the right word, more "other priorities" or something <lfam>waiting for the big garbage collector lock... <lfam>ACTION hello darkness, my old friend <cqst>I'm running guix system reconfigure /etc/config.scm after guix pull on Guix System. its on a Dell E6400 and its building webkit right now it's taking hours. Shouldn't it use a substitute? Should I ctrl+C and try guix pull again or just let it finish? <lfam>cqst: If it's building the package, that means there isn't a substitute for it currently. <lfam>There are basically two reasons that could be the case: the package doesn't build (that's a bug in Guix) or the build farm hasn't had time to catch up and build it yet <cqst>lfam: is it worth it to see if there is now a substitute? is there any way to check? <lfam>The `guix weather` command can check. If you know the name of the package (there is no package called 'webkit'), you can do `guix weather $package-name` <cqst>lfam: it says substitutes are available (webkitgtk-for-gtk3). do I have to ctrl+c and run guix pull again or do I just reconfigure again <lfam>You should just reconfigure again <lfam>Cheers, let us know if you have any more questions <lfam>I'm checking for the substitute now, as of the latest Guix master branch (i.e. latest `guix pull`) <lfam>I get substitutes from the 2 main build farms (CI/Berlin and Bordeaux) <apteryx>ACTION laughs at 3 levels of third_party depth in chromium sources <apteryx>suspense as qtwebengine 6.9.2 makes it to 15870/20432 <pooyam>Hi! Excellent concept for package management! <apteryx>more lawls: git clone chromium -> remote: Sending approximately 57.64 GiB ... <civodul>pooyam: thanks for the heads-up! we’ll have to drop that :-/ <civodul>apteryx: working on ungoogled-chromium? <apteryx>qtwebengine for now (I'm on the qt-team...) <apteryx>but it may pave the way to ungoogled-chromium; the main annoyance is updating the list of retained bundled files from the humongous source. <apteryx>iteration loops are painfully slow thanks to the bloat <apteryx>phase `build' failed after 1025.7 seconds... yay <Rutherther>apteryx: even cloning a shallow clone is 57 GiB? <apteryx>that's a full clone, I wanted to peek at the git history <apteryx>to understand a build issue I've hit <apteryx>civodul: sorry if I'm missing bits, but about the corrupted guix database on berlin, was there an issue for it? <apteryx>maybe that could provide some motivation to "reformat" the file system <a_name>Hello, I was wondering how I can get eglot working in a guix shell. I created one with `guix shell gcc-toolchain emacs-pgtk pipewire pkg-config emacs-eglot clang`. When I run eglot, it reports '#include <pipewire/pipewire.h> not found'. What is the standard way of telling eglot/clangd where to find header files in a guix shell? Is it via a .clangd file? Any help is appreciated! Thanks :) <Rutherther>a_name: you don't tell it to eglot, you tell it to clangd. Clangd supports compile_commands.json file. This file can be created for example by command bear, ie. "bear -- make" (it's from bear package), this will take commands it sees from the makefile building your application and put them to compile_commands.json for clangd to know what include directories are used etc. <a_name>Rutherther: Thanks! That worked :) <Rutherther>a_name: btw if you pull and make a new shell you might have to do this over again as the paths in store can be changing and the old one might be removed upon "guix gc". Also when you're running it, don't forget to cleanup your build artifacts, at least if you're using make or similar build system that builds only what has been changed. Because when bear doesn't see the commands, it won't know about them and some files might be missing from the... <identity>“guix shell mercurial -- hg init” → abort: couldn't find mercurial libraries in […] (check your install and PYTHONPATH) <gabber>i fail to reconfigure my home-profile due to "conflicting entries for ffmpeg" but i can create a shell with the same packages. how can i figure out where the conflict emerges? the error says ffmpeg being propagated by mpv (which is in my files) but i don't know what else propagates ffmpeg (with a different version) <gabber>weirdly enough: `guix gc --referrers` for both conflicting paths yields two equal profiles <Rutherther>gabber: that's because guix shell doesn't check for conflicts, while guix home does and disallows them. The error should say exactly how you ended up with two ffmpegs. If there is no second package it would be propagated from, that would probably mean you put ffmpeg in packages <gabber>but now that this is resolved i get the same error about glibc being included (without any hints on propagation) <gabber>ACTION tries to think with all their mental capacity <c0co>Hi GNUheads, could someone please advise on using xen as the hypervisor in Guix System? Some general pointers on what'll be required from my configuration.scm would be much appreciated, thanks <gabber>c0co: do you mean using Xen as the main kernel to boot into? <c0co>I'm not entirely sure what i mean to be honest. Awth13 is probably correct. Essentially I'm trying to recreate a system that's Qubes-like declaratively <gabber>so you want Xen to boot into a Guix System? <gabber>it's been a while since i used Qubes on a regular basis <c0co>Yeah, so that Guix is the Dom0 system <gabber>i guess when you manage to get Guix running in some vm/template you're not too far from elevating that template/vm to dom0 (: <gabber>i am not sure other people have done what you want, but it should be possible <c0co>Maybe I'm misunderstanding xen, but I thought that whichever system onto which you install xen as the hypervisor, xen will be loaded first by the bootloader, then xen will boot into that system <awth13>gabber: looking at /proc/config.gz of my system, looks like Xen features are already enabled on the libre kernel <gabber>c0co: please don't hesitate to ask if you have any further questions <gabber>and if you succeed consider writing about it (be it for the cookbook or our blog or even just one of our mailing lists) <chrislck>hi all, i use guix to maintain the environment. i use libofx but libxml++ isn't building. anything i can do to fix this? <chrislck>build of /gnu/store/pyfn4i8izvvb954mxf2vvi6r8cp6hmvw-libxml++-2.42.2.drv failed <simendsjo>When will %default-channel-url point to codeberg rather than savannah? Or rather, when will git.guix.gnu.org redirect to codeberg? <ieure>simendsjo, That happened months ago. <simendsjo>ieure: What? I have to supply --url for both pull and time-machine to avoid fetching from savannah. But apparently only an issue on my machines? <ieure>simendsjo, What do you get when you run `guix describe'? <ieure>simendsjo, Prior to the Codeberg migration, %default-channel-url pointed directly at savannah.gnu.org. As part of the cutover, it was changed to git.guix.gnu.org, which points to Codeberg. You probably have something pointing to Savannah still. <ieure>Either /etc/channels.scm or your user channel configuration. <juli->Hey, is the shepherd package associated with the symbol `shepherd` supposed to still be `shepherd-0.10`? <yelninei>would it be feasible to remove the need to propagate inputs for pkg-config? <ieure>Oh, issues with PC files don't affect me. I use a Mac. <c0co>is it normal for `guix system reconfigure` to get stuck at 29% for hours <c0co>oh lol sorry yeah good point - 29% `receiving objects` <c0co>just trying to install in a VM from the 1.40 iso atm (since the latest iso isn't available via guix.gnu.org currently) <Rutherther>okay, that would usually mean git pulling channels. Is this your first reconfigure? (or did you remove root's .cache folder?) <c0co>first reconfigure (doing literally nothing other than changing the hostname to `helloworld` lol) <Rutherther>it's definitely not normal for it to get just stuck for hours, it seems to me that the connection somehow 'died', but silently so that the process still thinks it's okay <c0co>it's the second attempt, it got stuck at 29% earlier too and I tried restarting it <Rutherther>what url does guix channel point to in "guix describe"? <c0co>i believe awth13 had the same issue at some point <ieure>The 1.4.0 ISO points there. I spun myself a fresher one. <Rutherther>yeah, it does, though I am not sure if c0co pulled yet or not. Still even after first pull it would still point to savannah <c0co>i didn't pull. All I tried to do was reconfigure to change hostname, have done literally nothing else with the system (so not sure why it would even need to receive objects at all tbh) <Rutherther>yeah, this is kinda stupid in your case tbh, it's pulling the whole guix repository to check if your current channels commits are descendants of your current system generation channels. This is to then assess if you're downgrading and if so, throw an error (or a warning if you --allow-downgrades). But it's stupid here especially because you are on the same commit! Rendering the answer trivial even without pulling. Still, it doesn't take that into... <Rutherther>... account. And there is no way to disable it. :/ <ieure>Semi-related, I tried installing on an old machine last night (and again just now), and it refuses to proceed beyond "waiting for Internet establishment." I get an error saying "The selected network does not provide access to the Internet and the Guix substitute server, please try again." <ieure>I have a USB WiFi dongle, I have working Internet. <ieure>Is it checking ci.guix.gnu.org for this or something? That seems to be down. Bordeaux is up, though. <Rutherther>So you're going to have to pull from codeberg. If you do not want to update to newest guix, ie. to not download a lot of stuff you might not need (you're on a VM so you might not be so concerned with security related updates etc.), you can pull to the same url <ieure>I cannot proceed beyond this point at all. <ieure>Noting that I haven't even been asked whether I want to use substitutes at this point, so reachability of the substitute server seems premature. <Rutherther>ieure: Yeah, it's actually just trying to load https://ci.guix.gnu.org/, I have read that part in the source after getting the same error. The check is not really a right check for substitutes... it's not as if ci.guix.gnu.org substitute serer is down, it's not. It's just cuirass that's down <Rutherther>c0co: Yes, then you should be fine to reconfigure, I hope (I am assuming the issue here is savannah somehow ending the connection) <Rutherther>but note to read what guix pull tells you, it will probably give you a hint about sourcing etc/profile file under ~/.config/guix/current. You will have to do that. To verify you're using the right guix you can then do "guix describe", you should see the codeberg url <ieure>Rutherther, It should work if either are up; bordeaux is up, but it refuses to proceed. <Rutherther>ieure: I think it would be good if it was still possible proceed even if they are both down, as you do not really need substitutes to obtain the system. Would be good to instead have "Seems you might not be online, proceed anyway?" rather than aborting completely <Rutherther>yeah, but I also cannot explain why the check fails when bordeaux is up <Rutherther>ieure: for me now the TUI installation proceeds past that is-online point <Rutherther>I also see from the code there is a bypass - creating file "/tmp/installer-assume-online" <ieure>Rutherther, Still broken for me, you must have got a rare 200 from CI. <ieure>Rutherther, I noticed there's a secret escape hatch, you can switch to VT3 and run `touch /tmp/installer-assume-online' to skip the check. <ieure>Did that, I was able to proceed. <Rutherther>I seriously doubt I got three rare 200's from ci.guix.gnu.org in a row <Rutherther>when loading it in browser I get none for multiple tries <ieure>Hmm. Tried a few times, still didn't work for me. <ieure>Working or not, that code has multiple issues. <Rutherther>okay, I can load ci.guix.gnu.org now in browser. I suppose someone is reading this conversation and decided to restart cuirass frontend :) <Rutherther>or maybe it was just that rare occurrence? It worked for multiple times for like 10 seconds and now doesn't again <ieure>Yeah, no idea. I eval'd the (online?) code in a REPL on another machine (one that has an OS installed), and it worked as expected. <Rutherther>yeah, me too, I even tried it in the 1.4.0 iso to rule out changes in guile itself to http handling <ieure>Maybe access is slow because of this teeny WiFi dongle with its teeny antenna and that increases latency / packet loss and that makes the request to bordeaux time out. <ieure>I spun a new ISO, even before the Codeberg switch, 1.4.0 made that first pull very painful. <ieure>And I made caps lock a control key. I can barely operate a computer without that. <ieure>Blah, it installed, but won't boot. <ieure>Have to futz with this later. <FuncProgLinux>If I use a pinned channels.scm file can I cherry pick commits to keep updating my system? Like returning guix to a previous commit, forward my channel to a latter commit and then guix pull -C <path-to-lockfile.scm> 🤔 <ieure>FuncProgLinux, Not sure what you're asking, honestly. <ieure>FuncProgLinux, You can pin commits and only advance to specific ones, but "cherry-pick" implies that you want some, but not all commits. You can do that, but you have to fork the Guix channel. <ieure>And if you're forking to only cherry-pick specific changes you want, there's no point in pinning to a specific commit. <FuncProgLinux>ieure: I fixed my propagated-inputs issue from yesterday and just happened to collide with #2501. My choice of words was incorrect, sorry about that. I meant to pick specific commits on the lockfile <ieure>FuncProgLinux, There is no "lockfile" in the sense it's used in ex. Ruby/JS/etc languages. But yes, you can specify the exact commit of channels in your channel configuration. <FuncProgLinux>ieure: I manage my channels in two files. I have a "channels-rolling.scm" which has no pinned commits and generate a "channels-lockfile.scm" to imitate that mechanism. I get that it's a bad idea to "translate" terms. But yes, It's a channels configuration with pinned commits :) <FuncProgLinux>Thing is when I update my channel I have to pull everything, and I wasn't sure if just "pasting the newest commit" would be advisable <ieure>FuncProgLinux, Well, advisability depends on your usecase. Using a pinned commit for guix will leave you more vulnerable, ex. to the recent guix-daemon priv escalation issue. <ieure>FuncProgLinux, What probably makes the most sense is to pin the Guix channel and not pin your personal one. Since you already control what commits are in your personal channel, pinning that seems duplicative to me. <FuncProgLinux>Makes sense. I'll have to do some re-writes then. I did see the escalation CVE as I'm subscribed to anything that has an RSS feed on Guix <old>is git.guix.gnu.org down? <Rutherther>old: yeah, seems berlin is down, ie. also guix.gnu.org or bordeaux do not work <awth13>is it possible to refer to the initrd.img file of the operating system within the operating-system declaration? trying to understand how to add a multiboot entry for xen hypervisor that will load the operating system, as c0co described earlier <ieure>awth13, No, you'd have to define the initrd outside the operating-system, or write a procedure which takes the operating-system record and transforms it. <Rutherther>but why would you do that in the first place? loading initrd is job of the bootloader, so it seems you actually want to write a custom bootloader with custom config and installation handling. And the bootloader of course gets information about the initrd. And not just a singular initrd, it gets initrd of each system generation <Rutherther>the whole bootloader system is kinda grub-oriented at the moment, so it is not so robust, but it can be tweaked a lot by 'hacking' around the system, mostly by putting the information you need into a config file generated by configuration-file-generator and then install the actual config files and the rest by installer <FuncProgLinux>Couldn't roll back the main channel :( I'll have to wait until #2501 is merged <Rutherther>just merging 2501 is not going to do anything at the moment <Rutherther>it's not going to resolve the issue with conflicting packages <awth13>well, grub-efi-bootloader menu-entry has multiboot-kernel and multiboot-modules fields, so I thought i can just use xen.gz as the kernel and supply Guix kernel and initrd as modules <Rutherther>awth13: no you cannot, operating-system doesn't have information about all the generations. Only the bootloader gets that information <awth13>I guess I will have to read bootloader source after all <Rutherther>if you basically just want to change the the config of grub significantly, you can build on the current grub-bootloader mostly, just editing some stuff, probably mostly how it generates the "menuentry" for each generation <FuncProgLinux>Rutherther: It just happens that libmateweather depends on both libxml2-next & libsoup. I tried changing the commit on my pinned channels but the error was still there. I'm trying to see if guix pull --commit=<hash> will do any difference <Rutherther>FuncProgLinux: so just do --with-inputs=libxml2@2.9=libxml2@2.14 and call it a day <FuncProgLinux>Rutherther: Oh, I didn't find that option under guix system reconfigure, will give it a try! thanks :) <Deltafire>anyone else having coredumps from xwayland for over a year? <Rutherther>FuncProgLinux: yeah, guix system reconfigure doesn't really support that. Are you using mate-desktop-service-type, or how exactly are you getting mate? <Rutherther>FuncProgLinux: if so, it would be putting "((options->transformation '((with-inputs . "libxml2@2.9=libxml2@2.14"))) mate)" to "mate-package" field of "mate-desktop-configuration" that you put as a value to the "mate-desktop-service-type"