<jgart[m]>blip-foo: there be dragons in geiser-guile
<jgart[m]>blip-foo: My advice would be that it is more headaches than it is worth. Start out simply. What are you trying to achieve? You want to make a Guix package and that requires writing Scheme code? Try using scheme-mode and a REPL.
<blip-foo>Thanks for the advice. I am reading the Little Book series and got used to using Geiser on Pop OS
<blip-foo>it is an amazing environment for hacking
<blip-foo>But Guile is not the only issue. I have no idea how to load *anything*
<blip-foo>I used the standard package management for Emacs and got my dot file figured out about 10 years ago.
<Guest28>next question: how do I cause va-api aware applications to use it in Guix? Should I add libva to my user profile?
<Mari[m]>has anyone gotten the distrobox package to work?
<Mari[m]>i keep getting this trying to enter the container
<Mari[m]>Error: OCI runtime error: unable to start container "ca8d2984d0a8e4b0e86dac88adb64099408a725fb39102c62e204dfc07654c5b": crun: cgroups in hybrid mode not supported, drop all controllers from cgroupv2
<Mari[m]>from what i'm finding, it seems to be a systemd thing?
<apoorv569[m]>Just turned my system on and noticed that lightdm is now showing anymore... Just a black screen with a blinking cursor.. like a TTY.
<apoorv569[m]>I edited my config and commented out lightdm section and put (service sddm-service-type)
<jpoiret>great work though! I was just wondering, I don't have any aarch64 machine so I can't really work on it
<efraim>if you change the arm/aarch64 sources for x86_64 sources you can test the implementation to see if it works, then its just testing the last bits on actual hardware.
<efraim>that's what I end up doing for a bunch of different builds anyway
<apoorv569[m]><jpoiret> "do you have any error messages..." <- Let me check.
<jonsger>jpoiret, efraim: maybe we could rent an ARM VM at Hetzner: https://www.hetzner.com/de/cloud its like 15€/month. I would be interested as well, as I don't have acccess to proper ARM hardware for building and testing packages...
<apoorv569[m]>jpoiret: Hmm.. `/var/log/messages` has something for lightdm..
<apoorv569[m]>Apr 29 01:57:52 localhost shepherd: Service lightdm conflicts with running services (xorg-server).
<apoorv569[m]>Apr 29 07:33:22 localhost shepherd: [lightdm] ** (lightdm:1311): WARNING **: 07:33:22.296: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files
<evilsetg[m]>Has anybody here tried to build a newer version of alacritty? I tried but it just has so many dependencies that I gave up. It does not work on wayland anymore since I updated. So if anyone has some tips over how build rust projects with bazilion depedencies let me know. I did learn about guix import crate, which does help.
<futurile>efraim: hi - is the rust-team branch going to be long-running, reamining after the merge. So should any crate updates I work on be against that branch?
<efraim>futurile: sorry, forgot to write back earlier. In theory the branch is supposed to go away after a merge until it's needed again but I think we'll end up with a few rounds of rust-team before it slows down that much
<efraim>so yeah, working against that branch would be best for crate updates
<Michal_Atlas[m]>I managed to do an in-place conversion of a Nix install to Guix, not sure that's a planned usecase, but I'm glad it worked with only one or two minor hiccups along the way.
<Grimpper>Hello. Quick question. I'm packaging a python app. Anyone knows who calls `intltool` in the python-build-system?
<Grimpper>This is the error. I don't understand why this is being called. Other python packages does not seem to do it and i cannot find any reference on the sources of what I'm trying to package that references this `build_i18n`
<jpoiret>if it's free software you could link it here so that someone could have a look at it (no guarantees)
<Grimpper>Yeah. It's GPL3 (Ulauncher). The error seemed to be very cryptic it did not meant that it was not finding ulauncher.py it was really complaining about missing initltool. Very unhelpful error. Now I'm having problems with the check phase which for now I'm skipping. Here you have my progress incase anyone is interested: paste.debian.net/1278917
<Grimpper>Excuse the unnecessary includes for now I have it with a bunch of other packages
<Grimpper>Skipping checks it build. On running I get this error. Which seems to be that I'm missing a propagated input:
<Grimpper>`OSError: libX11.so.6: cannot open shared object file: No such file or directory`
<Grimpper>Seems like a rookie mistake but I'm still learning how to package things =#
<jpoiret>them using a very fragile reference to libx11 is pretty bad, they should've relied on some sort of dynamic configure support for it (don't know python build systems this much though, but should be doable)
<Grimpper>But then all the propagated inputs i'm using for python are not a good idea?
<jpoiret>no, for python they're unfortunately required
<Kabouik>Hey #guix, I have a SSD in an external enclosure with USB3 that my Guix system does not recognize, it's not listed in `lsblk`. My other Linux machines do, and I just used one to format it to ext4 actually. Any ideas what could be wrong?
<Kabouik>It's correctly powered on by the Guix machine, I can see the led.
<Kabouik>Well, it seems another port did it. Weird.
<zacchae[m]>if the build servers get too behind, will they start skipping commits all together?
<Kabouik>Weirdly, the disk finally showed a sdb1 partition, after some minutes plugged in. I find it a bit esoteric though.
<zacchae[m]>Just wondering if I need to guix pull another commit or just wait a few days
<tiriftoj>Hello! Sorry to bother, but Guix is telling me to set the necessary environment variables by sourcing the profile in ~/.guix-profile and ~/.config/guix/current, and to make sure that my shell refers to guix binaries in those paths. But both of the said profiles only add directories in /gnu/store to my PATH, and that is where my shell finds the guix binary, too. Yet the hints never go away, and I am also told to run ‘guix pull’ and ‘guix package -u’
<tiriftoj>even after I’ve already done that. Is this okay, or did something go wrong?
<opunix>hey, does somebody know a simple package example for already built binary files? ... i've tried copy-build-system that did not work now i try to use binary-build-system that does not either, if i call the ld-linux...so then the path to the binary that works but with my package definition i always get an validate-runpath error?
<lilyp>tiriftoj: this might be related to the glibc etc. update in which case it will typically go away after rebooting or logging out and back in
<Guest28>the cups authentication loops on me; do I need to be part of the lpadmin group?
<graywolf>When you write your own guile scripts, do you depend on pieces of guix or try to avoid it? Why am I asking: I'm writing a script (few actually), and I'm unsure if I should use (guix records) or (srfi srfi-9). Guix records are imho much nice, but guix is not exactly small as a dependency. On other hand, all scripts will be running on guix machines (at least for now), so it might just not matter. I'm
<graywolf>unsure what to do (from philosophical point of view). What do people here think/do?
<lilyp>depends on whether it's a script for guix (aka an extension) or not
<lilyp>The GNU extensions to SRFI-9 do suffice for most non-guix things
<graywolf>It is not, they technically have no relation to guix except that I'm writing them (and will be using them) on guix machines
<graywolf>For me the most interesting part is the (foo (bar 1) (baz 2)) syntax compared to (make-foo 1 2). Like this it's fine, but having all fields listed without the names gets confusing fairly quickly I think.
<graywolf>(When having 10+ fields, and wanted support for default values for some of them)
<lilyp>I don't think having 10+ fields for stuff in a script is wise
<graywolf>Hm, I wanted to mimic the (operating-system) approach to configuration (so something like (my-config ...) as last expression in a config file).
<graywolf>Is there more idiomatic way to do config files for guile/scheme projects?
<lilyp>there's also syrup IIRC from the spritely community
<lilyp>more often than not you want to read rather than eval your config files
<lilyp>in which case plain (a)lists make for better data structures than records
<graywolf>Thanks for the tip, will think on it some more
<tiriftoj>lilyp: I did see that in the news, but rebooting or even running ‘guix pull’ followed by ‘guix package -u’ a couple more times didn’t help. :/
<tiriftoj>I did also install a custom glibc-locales packages after the upgrade, if that might in any way be related…
<lilyp>for the record this is about the glibc locales, right?
<tiriftoj>The problem I seem to be having? Doesn’t seem like it. Guix only tells me to ‘consider running 'guix pull' followed by 'guix package -u', and to ‘consider setting the necessary environment variables’, in spite of all of those having been done already. There is no mention of glibc locales, and I’m not sure what might be causing this.
<Guest28>I was able to resolve my CUPS pam authentication issue by specifying cups-minimal as the cups package to use in <cups-configuratoin>
<bjc>somehow a bios update yesterday managed to trash the boot sector (i hope) on my guix system. either that, or it can't deal with hybrid boot setups (i can't use legacy or uefi to boot the system)
<bjc>can i use the installer image to just install a grub-uefi on it somehow?
<lilyp>bjc: assuming you know your way around grub commands and don't mind guix shell you might get things working
<bjc>yeah, i can probably do it, i've messed with grub before for other reasons, but i'm rusty
<bjc>the guix ‘grub-efi-bootloader’ uses a hybrid loader, right? or is it pure uefi?
<bjc>because one of the reasons i'm confused is that, in a pure uefi setup, all i need is a partition with the esp type, formatted fat32, with the .efi files in it. so if it's not being found, that hints that the drive is more corrupted than that
<bjc>maybe i should just poke around. in theory i can rebuild this system from scratch from my system and home definitions. all the data i care about is on a nas anyway
<lilyp>guix' efi bootloader can corrupt the efi nvm
<graywolf>grub-efi-removable-bootloader is the correct order
<bjc>is there no sane way to, say, pull a disk out of one computer and put it into another one, then?
<bjc>cuz this isn't just a guix problem, but seems baked into uefi
<graywolf>That is what the removable is for. (The /bootx64.efi). That should be auto-discovered. Other files in /efi might or might not work (afaik, I'm nowhere EFI expert)
<graywolf>Technically you can just boot live disk and rename the file&directory on efi partition to bootx64.efi
<bjc>that assumes you always use removable or never have a mobo failure, though
<bjc>yeah, i think that's what i'm going to do. just seems kludgy. like the bios should have an option to scan the disk for loaders and set its nvram
<graywolf>It's not like I like it :) (Hint: I know about the -removable-bootloader because EFI on my machine fails to persist the variables, so my system just plain does not boot unless I use the -removable grub :/ )
<bjc>thanks for the advice everyone. i feel less worried
<jpoiret>You could use an EFI shell to set up everything, they are very lightweight
<jpoiret>Not that I've ever done anything substantial with them, mind you
<bjc>neither have i. and only in the tianocore implementation at that
<stevenroose>Hello, I think something changes recently to the substiture keys or something because my Guix is refusing to use substitutes and building everything manually. Problem is that I usually update keyrings by reconfiguring but right now that means that I have to manually build the linux kernel which if obviously not ideal.
<stevenroose>There must be a way to manually pull in new keyring info without having to reconfigure my system?
<stevenroose>Or am I trying to get packages too new that don't have substitutes yet?
<moong>Having trouble booting into a guix install on a VPS. Everything seems to have gone ok, kernel loads but then I get "waiting for partition" and it fails to boot. I find it strange because, well grub is loading the kernel off that partition
<jackhill>moong: I wonder if you're missing the kernel module for the block device. Which VPS provider? If it's not clear which one it is, it might be possible to boot one of their supported images and see what it uses :)
<jackhill>stevenroose: I don't believe the keys have changed (and if they do, you should be wary). That's not to say your local guix-daemon has forgotten them for some reason. I'm not sure the best way to troubleshoot, but you might try looking at what's in /etc/guix/acl, and what substitute servers the guix-deamon command invocation has.
<jackhill>for what it's worth, substitutes are working for me from the USA with not key changes
<stevenroose>jackhill: I have 3 keys in that file, starting with C1FD53, 8D156F and 7D6029
<stevenroose>I have been running a lot of guix pull lately because some builds have broken and I'm waiting for fixes to get merged.
<stevenroose>But I haven't done anything exotic, so I can hardly believe the daemon forgot about keys..
<opunix>hey, i have a problem with a custom package i wrote https://pastebin.com/9mzJqKW0 does anybody know how to handle it? unfortunatly i could not find any solution in the manual or searching for it
<mirai>civodul: is there some reason why the field type in define-configuration can be specified with and without parenthesis? i.e. (foo (string) …) and (bar string …) ?
<civodul>mirai: hmm not sure; i'm not the original author tho :-)
<RavenJoad>If I use "guix shell --root=shell" to preserve a root to the store for a project, will Guix continue to use that root later? Or does that just prevent those items from being GC'd from the store?
<graywolf>Hello :) So I've pulled new guix, with glibc 2.35, however when I try to reconfigure my system, guix still tries to build locales-2.33, causing the command to fail. Any tips how to figure out why locales-2.33 is being built and how to make it to stop?
<RavenJoad>Perhaps a different way to achieve the same result is: Can you use "guix shell" (or perhaps another command to achieve the same thing as guix shell) on a profile?
<xelxebar>Think I've been hitting https://issues.guix.gnu.org/56005 for the last week and a half. Last successful pull is on 04/20 at b82a18c. Since then every guix pull is failing with that "write_wait_fd: unimplemented" error.
<Altadil>Hi, I have a silly noob question : when I add a service to my system config (say, for instance the bluetooth service), does it automatically pull in required packages, or do I need to also add them to the packages field of my config file ?
<rekado>Altadil: depends on the service, but generally services do have references to packages they use.
<rekado>Altadil: many services let you override the package variant they use
<opunix>ok i still can not build the package for guix with any kind of build-system either copy nor binary ... and using the whole pre-inst-env does not make it any better ... still the same errors maybe i missed something does anybody know how to fix this? https://pastebin.com/9mzJqKW0
<agnem>Hi, does anyone know how to tell mcron how to treat jobs that run long and overlap their next invocation time? I want to ensure that two jobs don't run at once.
<opunix>agnem: well, i think one solution would be to handle it in your script that is run by creating a PID file and if it still exists the previous job is still running otherwise start
<jpoiret>there's also the possibility of using an FHS container, though it will not package anything, just let you run pre-built binaries
<opunix>jpoiret: for now it is working but only if i just run it with ld-linux...so /path/to/binary
<opunix>jpoiret: is there some tutorial for the container ?
<opunix>jpoiret: it would be nice to be able to run the binary because i would like to have it as a service in my home services collection
<minima>jpoiret: you're making a distinction between guix the daemon and guix the command line binary, if i get it correctly; and you're saying that only the command line binary is managed/updated via guix pull?
<jpoiret>minima: yes, and only the one you have as your user if you source .config/guix/current/etc/profile
<jpoiret>the daemon is updated whenever the guix package gets updated in guix, which is different
<jpoiret>but that also includes the system-wide guix that you get before the first `guix pull`. Notably, substitute fetching is done through the internal plumbing command `guix substitute`, which uses the system-wide guix!
<minima>hm got it, i think, and the daemon and the cli binary must also map to different parts of the repository, i suppose?
<opunix>jpoiret: it always fails at validate-runpath
<jpoiret>it's probably because it refers to some shared binaries that aren't in the runpath of the ELF file. That's what patchelf is also for, you'll need to add the proper RUNPATH with it so that all needed .so files are found
<jpoiret>ah, it's even the validate-runpath code that's failing! but i think what i said still applies, it's just that here the binary doesn't even have a RUNPATH and so the validation code doesn't handle this case
<mihi>Hmm. I can spot a pattern. Every first of the month, rollover of the chat logs is not working (since December 2022). Is there some cronjob delayed due to other cronjobs running on the first of the month? :D
<son0p>Hi, after doing pull and then upgrade I can't run guix commands in
<son0p> the terminal because it shows an error (...libc.so.6: version
<son0p>jpoiret: I have tried guix pull, guix describe, all fail
<son0p>but in emacs I can query guix profiles, packages etc
<dcunit3d>also, if it fails in making the extra-special-file, it completes the "making '/gnu/store/a1b2...c3d4-system' the current system" step, the "setuid programs" step and begins the "populating /etc..." step, but fails.
<dcunit3d>i'm looking at the `local-file` source. i think my system's alright and i can install, but the /run/current-system link is pointing at the new system.
<dcunit3d>if nothing else, i'm just going to create the directories.
<RavenJoad>If I use "guix shell --root=shell" to preserve a root to the store for a project, which outputs a link to the profile, can I use "guix shell" (or perhaps another command that achieves the same thing as guix shell) on that profile?
<civodul>however, '--root' should rarely be needed with 'guix shell'
<civodul>because 'guix shell' maintains a cache of GC roots
<civodul>so there's usually no gain in using --root
<opunix>does anybody know how to get the go build system running? i tried to generate an scm file with guix import go /path/to/the/repo and it seems like it needs more then just that command to run properly
<RavenJoad>civodul: Good to know. I assume that cache is in /tmp? The reason I ask about making explicit roots is that I am about to travel for a while and do not want a GC after some work elsewhere to delete my development packages.
<civodul>RavenJoad: the cache is in ~/.cache/guix/profiles
<civodul>well yes, traveling is perhaps that one case where you can use --root if you want to be 100% sure :-)
<civodul>(the GC roots under ~/.cache get periodically cleaned up)
<RavenJoad>Good to know. Is there anything I need to do to make a guix shell-like environment if I have the root manually saved?
<Grimpper>Does any one know which package includes the `gbus` command?
<kaelyn>TristanCottam[m]: I haven't attempted / figured out how to use defined channels like in channels.scm, but I have successfully used local copies of channels with `pre-inst-env` by passing them using `-L` (e.g. `./pre-inst-env guix build -L ~/src/channel1 -L ~/src/channel2 some-package`)
<TristanCottam[m]>That's what I wanted to avoid, but I guess I'll use that workaround for now, thanks!
<kaelyn>(and if there is a better way, I'd also like to know it!)