IRC channel logs
2025-05-03.log
back to list of logs
<keinflue>identity I think that should be done already on the source derivation, because failure should invalidate it for all purposes. That's what origin snippets are for, right? <luca>I think the idea is to verify that a new version is made by the same person who made the previous version <luca>So for example that the same bagder released a new version of curl <keinflue>yes, but failure to verify means that the downloaded sources can't be trusted at all, so I would prefer them to not even be available in the store <keinflue>though I guess it doesn't make much of a difference in practice because the same source won't (usually?) be reused for another package <attila_lendvai>guix system: error: exception thrown: #<&assertion-failure>: what an utterly useless error message... why is my backtrace taken from me? <RavenJoad>Guix, how can I get a subdirectory in a python package's source to be installed too? I have the sqlelf program which has sqlelf/tools, but the default pyproject install phase does not install the tools subdirectory. <kjartanoli>RavenJoad: I am no expert but you could probably use modify-phases to add a build phase to install those files. <ieure>Or patch the pyproject to do the right thing. <RavenJoad>ieure: Given that this is just a single subdirectory, I think that is the smarter plan. I just don't understand the pyproject packaging idea at all. A wheel file or something that specifies what to install is exactly what I need. <ieure>RavenJoad, I've been programming Python for 15+ years, generally like the language, and I have *no idea* how any of the pyproject stuff works. It's *so* bad. <RavenJoad>ieure: I think I figured it out. Perhaps add something to the SOURCES.txt in the egg-info directory? <ieure>RavenJoad, I have literally no idea. <RavenJoad>I'm just surprised the build phase (which puts together the egg and wheel files) does not copy the contents of sqlelf/* recursively. It skips subdirs. <RavenJoad>Maybe I'm just being silly, but this recursive behavior should be the default? <adanska>with the gnu-build-system and cmake-build-system, is there a way to set the specific gcc or clang you want to use with it? <AwesomeAdam54321>adanska: Adding it as a native input at the end of the `native-inputs` list should work <pinoaffe>attila_lendvai: re: certbot multiple websites: you can't add several certbot services (I learned that the hard way). Instead, you can configure each of the websites to send requests to /.well-known/acme-challenge/* to the same directory, that way you can use a single certbot service to do the challenges for all of them <pinoaffe>I would like it if it were possible to add several certbot services, that would be quite a bit cleaner IMO <pinoaffe>and i've also encountered issues/fickleness/bugginess with the guix certbot service <luca>Hi, is there a way to `guix import crate` a local repo/crate thing? <identity>luca: it does not look like there is an obvious way to do that, apart from uploading your crate to crates.io <ruther>luca: currently no, there is a patch for it that changes how rust packaging works. For now you can use cargo2guix <fnat>A 'guix deploy' command doesn't seem to terminate. It used to work fine until a few weeks ago. If I SSH into the remote machine and launch a 'guix system describe', I get this warning. https://paste.debian.net/1372961/ <fnat>Could the two things be related? <fnat>'guix system describe' seems to say that the 'guix deploy' operation ran successfully, but if I run it again it still remains stuck and never returns. <fnat>I was thinking of launching a guix pull / guix reconfigure from the remote machine itself, but I thought of asking here first. <ray1729>A question about guix shell and GUILE_LOAD_PATH: if I run `guix shell some-guile-pkg` to run as shell with an extra guile package installed, should I expect this automatically to appear in the load path? <ray1729>I'm trying to work out if something else in my setup is confoundfing `guix shell`, or if I'm expecting too much of it. <pastor>Hello. When creating a new Guix package. Are we meant to add a shepherd service whenever the package provides a systemd service? <ruther>pastor: you definitely don't have to, but if you do it's good definitely <ruther>ray1729: no, you would expect it to show in load path only if both guile and some-guile-pkg were in the shell <pastor>ruther: could you give me your opinion on this. We have the `kded' which provides a user/systemd service. Currently we don't start it but we relly should. Many features won't work in plasma without it. Other packages do not have this problem, for example the `kwallet-pam' package provides `etc/xdg/autostart/pam_kwallet_init.desktop' so the startup is handled at autostart. Since this is not the case for `kded' should I create a sheperd <ruther>you need both the (1) package providing search path (2) package providing the path the search path points to. (1) is guile, (2) is some-guile-pkg <hako>There's also a new procedure (cargo-inputs-from-lockfile FILE) on rust-team that can be used in a Rust project's guix.scm. <pastor>ruther: I didn't say anything. I understand now how is this supossed to be started. Since it's meant to be triggered by d-bus they provide a `share/dbus-1/services/org.kde.kded6.service' in the package. So I just need to register the package to the `plasma-dbus-service' package list. <ruther>pastor: yep, d-bus services are better left to starting by dbus rather than shepherd <cricri>hi there, I could use some advice running `guix home reconfigure`. Many packages fail with the error 'expected string `Derive(['. It did also run 'guix gc --verify=contents,repair' which indeed repaired some packages. But many others cannot be fixed. <ruther>cricri: depends on how many and what derivations got corrupted. Generally, remove them, with guix gc, you can -D to delete individuall paths or just without arguments to remove everything that is not gc rooted. If they are gc rooted, you will have to remove gc roots as well <ruther>cricri: if you've got a lot of those corruptions, it might be easier to just completely remove gnu store and reinitialize it / reinitialize your system. <ph>hello everyone, I a small question concerning channels, so far i've been using them to create packages but I would like to use them more to extends guix. It's that possible for a channel to define a dependency on a guile library, which isn't in guix (i think). For context, I have a package providing a few yaml files, I would like to export a procedure that read them and creates records, I would like to use guile-libyaml or guile-yamlpp <sham1>Why not create a package for the YAML libraries? <sham1>Those could be useful in general as well <sham1>So what do you mean by "isn't in guix" <sham1>A channel cannot declare a dependency on a library <ph>yeah that the part I would like to have. <ph>I guess I could do code generation to go around this. <ray1729>ruther: thank you, that has done the trick! <ruther>wolfdog: doesn't existence of the page in manual imply that it's known? <wolfdog>i was wondering because the guix-installer script does offer to install the SELinux policy, and I accepted to that but I had to do it myself a second time to get them setup <ruther>oh, if you accepted it, that's strange then <ruther>wolfdog: I can't find anything about that in issues, so it's possible it's not known <ruther>I don't think many people use guix on distros with selinux, so it can get unnoticed for long time <adanska>does anyone know of a guile equivilent to common lisp's `destructive-bind`? im looking a deconstructing a list and binding a known number of variables to each element of the list <cobra>is there a reason ncmpcpp isnt built with --enable-visualizer <ieure>cobra, Hard to say. Easy to change, give it a whirl and see what happens / send a patch if it seems to work. <naran>guix describe commit: 8713e2038f44e66423ccb31c950587d9af9a213b <attila_lendvai>pinoaffe, thanks for confirming the situation! i think the simplest solution is to bring the wwwroot field one level down from the service to the individual domain entries. i once wrote an email about that, but i was told it's good as it is, but... no matter how much i think, it just seems broken. <attila_lendvai>pinoaffe, it feels very roundabout to configure the webserver to accommodate for the guix certbot service peculiarities... <attila_lendvai>pinoaffe, i'll probably send a patch to fix this once i can convince myself that it's not futile to send patches to guix... <naran>I also see `sh: line 1: locale: command not found` and `WARNING: no usable system locales were found` <naran>Adding glibc-locales package did not make any difference. <pinoaffe>attila_lendvai: it is kinda roundabout, but it's also not *that* weird in my opinion, it makes sense to me that you may need to configure nginx to resolve "normal" requests in one way and certbot .well-known challenge requests in another way <attila_lendvai>pinoaffe, to me it's much more natural that i should be able to specify a wwwroot for each domain <attila_lendvai>...or that the service automatically appends the domain name to the single wwwroot (which would be less flexible) <pinoaffe>that wouldn't work since there's not necessarily one domain name per certificate <pinoaffe>and you'd still have to do per-nginx-server configuration to point .well-known/challenges to the right path <luca>Hi, anyone got any tips as to how to run GUI apps in a container? <luca>What magical `guix shell --container` invokation would do the trick <ieure>luca, See `(guix)Invoking guix shell'. <ieure>It has the correct incantation. <luca>It seems to only mention x11. I probably should have specified I'd like to run a wayland program if possible <ieure>luca, Substitute whatever environment variables Wayland expects. <ieure>WAYLAND_DISPLAY? I don't really know, I don't run it. <attila_lendvai>pinoaffe, hrm, i'll need to think about that. thanks for the head's up! much appreciated! <luca>Oh duh, thanks! The magical invokation was `guix shell --container --preserve='^WAYLAND_DISPLAY$' --preserve='^XDG_RUNTIME_DIR$' --expose=$XDG_RUNTIME_DIR` <cluelessguixer>Looked at cookbook/Network-bridge-for-QEMU.html and manual/Networking-Setup.html, but I don't see any obvious way to make a bridge persist through reboots. <cluelessguixer>Should I try making a shepherd service which runs an iproute2 command at startup? <Tadhgmister>when I use `local-file` and guix puts a copy of that file in the store, does it get copied or hardlinked? There shouldn't be any significant disk overhead to using several local-files for really big files right? <luca>It should be a hard copy <Tadhgmister>oh right it would have to be if the file was on another drive <sham1>Yeah, and half linking would be bad because then the file could be edited while it's in the store, and that's not good <Tadhgmister>hard-linking, yes I forgot that is how hard linking works <Tadhgmister>how do you get a derivation from a (local-file) object? I used to know it but I am not sure where it would even be defined or what the gexp wrapper thingies are connonically called in the source code <Tadhgmister>no that is for raw gexp, I'm not sure what I'm doing <Tadhgmister>I may be misunderstanding what derivations are, how do you just go from having a `(local-file)` or (computed-file)` etc to building it and getting the path in the store <ieure>Tadhgmister, `(guix)Using Guix Interactively' has a couple modules you have to use, then you can: ,build thing <Tadhgmister>is `(guix)Using Guix Interactively' a reference to a section in the manual or something I would run from a guile repl? <ieure>Tadhgmister, It's a reference to the manual. <Tadhgmister>ok yes I had forgotten `guix repl` was a thing, I have just been running `guile`. tyvm <ruther>Tadhgmister: to build something, you need to open connection to the store and run a function with the store that will utilize the store, like lower-object: https://paste.debian.net/1373014/. But you don't typically have to use that, and usually even shouldn't <Tadhgmister>ahhhh it is the `(use-modules (guix))` that gives the repl the `,build` command, ok now I'm cooking thank you both <zuki>a few months ago I installed gentoo from within my archinstall on another subvolume on the same partition, and then after setup it all up deleted my arch subvolume. <zuki>I've been wondering if it would be possable to do the same thing again but with guix? <Tadhgmister>don't see why not, you can definitely specify a btrfs subvolume to be the mount point <Tadhgmister>just passing `(options "subvol=XYZ")` to the `(file-system)` in your os config and possibly specify gentoo as an extra grub entry <zuki>thanks, any tips on how i would do the initial install? <zuki>or is there just a option in the installer? <Tadhgmister>I think the guided installer gives you an opportunity to edit the os definition by hand near the end, the last time I went to do an install without an already written up config file was ages ago