IRC channel logs

2023-02-09.log

back to list of logs

<oriansj>(mostly because it makes it easier to reason about how to fix things rather than just being stuck and hoping for some magic incantation to work around my problems
<oriansj>)
<apteryx>acrow`: did you need to manually specify the model/ppd file for your printer?
<apteryx>currently I managed to add one using lpadmin but the driver is very generic "Local Raw Printer"
<Kolev>Does MELPA comply with the FSDG?
<apteryx>I doubt so
<Kolev>apteryx: So many packages are in MELPA. :-(
<Kolev>apteryx: Mastodon.el is only on MELPA. :(
<apteryx>I meant, I don't think MELPA is vetted by the FSF as FSDG-compliant
<apteryx>that doesn't mean the packages that are on it are not FSDG-compliant themselves. In fact, most of them probably are. We have a melpa importer with 'guix import elpa -t melpa' if I recall correctly
<apteryx>rather, '-a melpa'
<apteryx>see: info '(guix) Invoking guix import'
<oriansj>wow, out of the box dwl uses more RAM than sway
<char[m]>How does the guile-build-system decide what gets into ~/.guix-profile/share/guile/site/3.0, and is GUILE_LOAD_PATH supposed to point there?
<char[m]>I solved the first part; I was being silly. I'm still wondering about the GUILE_LOAD_PATH though.
<ieugen[m]>hi, is there prior work on how to use guix to provide environments in Jenkins?
<ieugen[m]>I am running Jenkins agent as a docker container and have a few jobs that require some tooling to build.
<ieugen[m]>I would like to provide that tooling using guix
<ieugen[m]>my questions are: how can I share / cache guix store (should I ? ) , how can I run multiple commands inside a shell , etc
<char[m]>ieugen: You can share store by using guix pack or becoming a substitute server. store is basically a cache. Can you do guix shell -- command1; command2
<ieugen[m]>can I mount the guix store inside container as a volume ?
<ieugen[m]>would that work with 2 jenkins agents using the store at the same time?
<char[m]>2 shouldn't be a problem since the store is immutable. I'm not sure the jenkins containers will understand the store without having their profiles set.
<ieugen[m]>hmm, there is something that I don't get.
<ieugen[m]>the cli connects to the guix daemon - which does the heavy lifting.
<ieugen[m]>so I should expose the guix daemon inside the container - via socket file or port ?!
<char[m]>You shouldn't really need to use the guix cli in the container. Have you considered using guix pack to create a docker image?
<ieugen[m]>no I have not. I am using guix on foreign distribution
<ieugen[m]>I have multiple jobs and the packages they need will be in the git repo next to the file that is the build pipeline
<ieugen[m]>I found out thet guix daemon has a --listen flag https://guix.gnu.org/manual/en/html_node/Invoking-guix_002ddaemon.html
<footlong>"Invoking guix-daemon (GNU Guix Reference Manual)" https://guix.gnu.org/manual/en/html_node/Invoking-guix_002ddaemon.html
<ieugen[m]>on Debian this seems to be /var/guix/daemon-socket/socket
<unwox>ieugen[m]: doesn't guix pack work on foreign distros?
<unwox>i'd use that for your use case
<ieugen[m]>how would I use guix pack for my use case ? It does not look like the tool I need
<ieugen[m]>(reading through docs)
<unwox>ah, guix pack is too limited. maybe guix system image --image-type=docker will work better for you? the command creates an image from operating-system specification
<ieugen[m]>IMO guix shell is what I need
<ieugen[m]>trying to use that, but not sure how to make it work with my current setup (running jenkins agent as a docker container)
<unwox>guix shell is limited to installing packages. if you need services as well (configured nginx running and etc) you'll have to use guix system
<ieugen[m]>(I did not try to run it yet, working my way to that now. going through the process of what it would mean)
<ieugen[m]>I don't believe I need services to build stuff
<ieugen[m]>and the services we need are started as docker containers via https://www.testcontainers.org/
<footlong>"Testcontainers for Java" https://www.testcontainers.org
<ieugen[m]>footlong: We are using that. I am looking for ways on how to install tooling for building our apps: specific version of openjdk, nodejs, yarn, babashka, hashicorp packer, etc
<unwox>if you only need packages that are already in host's store then you just need to do read-only mount of /gnu/store i believe
<ieugen[m]>ok, what if I have guix cli inside Jenkins agent and mount the guix socket daemon inside the agent
<ieugen[m]>this way each Jenkins job could have it's own profile ?!
<unwox>well, i do not know if it'll work
<efraim>as far as multiple commands inside a shell, I'd suggest "guix shell -- sh -c '<all the commands here>'"
<efraim>ieugen[m]: ^
<clh3>ham5urg_: thanks
<Guest39>is it in theory possible to run multiple guix-deamons on same /gnu/store?
<irfus>hi guix
<irfus>Something seems to have broken in my guix home setup recently. It's not regenerating the profile symlinks in my homedir on a reconfigure.
<PurpleSym>This URL is throwing a 502: https://ci.guix.gnu.org/download/270 Is this a known issue?
<irfus>Is there a way I can "reset" or re-initialise those links? This started after a pull and reconfigure a few days ago. I couldn't find any recent commits or an issue tracking this
<civodul>Hello Guix!
<jonsger>hi civodul :)
<irfus>I deleted the existing symlinks guix home had created, touched empty files with those names. Now reconfiguring reliably freezes my whole system
<unmatched-paren>hello guix :)
<unmatched-paren>civodul: hi, i'm not sure whether you got my sneek message, but i've sent the second blog post: https://issues.guix.gnu.org/61214
<footlong>"[PATCH guix-artwork] website: posts: Add Dissecting Guix, Part 2: The Store Monad." https://issues.guix.gnu.org/61214
<ieugen[m]>unwox: hi, I managed to run guix inside a docker container by mounting channels file, /gnu and socket inside container. but seems like I have to run guix pull since package definitions are not available.
<ieugen[m]>any idea where that information is stored ?
<ieugen[m]>how does guix-cli interact with guix-daemon and the rest of the system?
<ieugen[m]>I would imagine that the daemon will do everything related to packages (pull, install, etc).
<ieugen[m]>but it seems that pull data is not cached in the store
<ieugen[m]>it seems it uses directories /gnu/store and /var/guix - but I am affraid to mount /var/guix in container
<ieugen[m]>I've mounted both /gnu and /var/guix in container and the packages from my channel are still not visible inside the container - which is weird. what am I missing?
<civodul>unmatched-paren: hi! woow, awesome!
<civodul>i came back from my trip yesterday and haven't caught up yet
<civodul>i'll try to take a look maybe tonight but i don't want to block the whole process!
<unmatched-paren>civodul: yay :)
<attila_lendvai>how do i list the installed packages in my guix system? this comes back empty: guix package --profile=/run/current-system --list-installed
<jlicht>attila_lendvai: try '/run/current-system/profile' instead
<attila_lendvai>jlicht, that was it, thank you!
<attila_lendvai>hrm. how come that with my user doesn't have wayland according to `guix package --list-installed | grep wayland`, and guix system either according to `guix package --profile=/run/current-system/profile --list-installed | grep wayland`, but `ps afxu | grep wayland` shows that xorg-server-xwayland-21.1.3 is running?
<jlicht>attila_lendvai: `guix graph --path xorg-server-xwayland wayland' shows that there's a direct dependency, so xorg-server-xwayland can/could just use the wayland program. It doesn't have to be installed anywhere for that to happen, it just needs to exist in the store
<jlicht>s/dependency/path/ :-)
<lechner>jlicht / thanks for #60798!
<footlong>"[PATCH] gnu: greetd: Update to 0.9.0." https://issues.guix.gnu.org/60798
<mfg[m]>is there a builtin guix function to change all occurences of /bin/$prog in files under a directory with the correct store paths to these?
<attila_lendvai>jlicht, oooh, that makes sense, thanks! (note that xorg-server-xwayland should show up in the grep, but i guess the same applies to it through another dependency)
<jlicht>lechner: np! I changed the authorship to an existing email address you used earlier, instead of guix-patches. Hope that's okay!
<lechner>jlicht / okay, i am a noobie (and have difficulties with git send-email) but i am looking at Debbugs. Did I submit v2 from another address?
<lechner>it's okay to mention specifics here. I thought I had used felix.lechner@lease-up.com
<jlicht>lechner: no, I don't think you did anything wrong. I even see many 'Name via <guix-patches>' authors in our commit log, but I saw in your contribution that you _also_ cc'd yourself on that particular email
<lechner>that may have been because i misunderstood the default behavior of 'git send-email'
<lechner>Did 'git send-email' modify my authorship?
<lechner>to Name at guix-patches?
<jlicht>probably a debbugs thing ¯_(ツ)_/¯
<jlicht>ACTION puts it on the babylonian pile 
<lechner>and i thought i knew Debbugs inside and out. well, anyway, thank you very much!
<lechner>jlicht / how did you extract the patch from the emails?
<lechner>patches
<jlicht>lechner: https://paste.debian.net/1270114/ + notmuch in Emacs
<footlong>"debian Pastezone" https://paste.debian.net/1270114
<lechner>jlicht / was notmuch-show-pipe-message perhaps unable to determine my email address from Felix Lechner <felix.lechner <at> lease-up.com> ?
<lechner>anyway it's probably not worth investigating. thank for your the corrections you applied!
<lechner>good bye, matrix
<lechner>mirai / i use #felix but would be happy to switch to #sandwich
<mfg[m]>is there a way to specify a different build target with the gnu-build-system or do i have to replace the build phase?
<mfg[m]>something like #:build-target?
<mirai>is it safe to rm -rf test-tmp/store from a git build of guix
<mirai>I'm getting permission denied
<mfg[m]>Is it possible to replace the make used by gnu-build-system? I have a package that expects bsd make...
<efraim>mfg[m]: you can add bmake (or whatever it's called) as a native-input
<efraim>that will probably take care of it
<mirai>any guix users using SFP+ ethernet cards?
<rekado>mirai: I think ci.guix.gnu.org uses them
<rekado>or maybe…
<rekado>nope. Not ethernet, just fiber channel connection between HBA and SAN
<irfus>Hello again, guix. Back with an update: I tried reconfiguring with guix home, with only the guix channel enabled, and the minimal example configuration from the manual. This still failed to create the link to .guix-home in my homedir and properly activate the home profile.
<Guest46>why does the installation require at least one user and does not allow a system with only a root user?
<bjc>because unix has a terrible security model
<acrow>apteryx: Yes, cups requires you to select the driver for your printer. I've seldom been able to find an exact match but usually just another printer in the line of printers from which you descend. Oftentimes selecting a ps printer can also work bc ghostscript provides good generic translations (I think using the hpip drivers).
<apteryx>did you try the hplip utility? it has a 'hp-setup' thingy
<Guest46>If I use Guix System and do "guix install virt-manager", does it install the libvirtd service for me as well or do I need to do that manually?
<acrow>apteryx: No, that sounds interesting.
<apteryx>oh, we already have localization packages for icecat/icedove?
<apteryx>ah, not yet, but the locale data is part of the icecat source
<apteryx>under the l10n directory
<ieugen[m]>for anyone interested, I found some prior work on running guix inside docker - and it's a bit more conmplicated / with limitations https://github.com/metacall/guix
<footlong>"GitHub - metacall/guix: Docker image for using Guix in a CI/CD environment." https://github.com/metacall/guix
<ieugen[m]>I believe more people could experiment with guix if they could run it as part of their CI/CD pipeline.
<ieugen[m]>this is what drew me to try guix in the first place
<PotentialUser-11>is there anything stopping program from loading libraries from for example user directory?
<apteryx>no, if you for example set LD_LIBRARY_PATH
<PotentialUser-11>i have set it and it does't work. from strace it seems that it finds it and then tries to load it again this time using package's ld.so.cache and because of that fails. i gues i will need to package it and add it to inputs...
<mfg[m]>Why is it always frustrating to package software for guix? Especially when trying to unbundle things. I mean sure, it's bundled for a reason; but this is soooooo annoying... :|
<apteryx>it depends of the project/technologies
<mfg[m]>Yeah, that's true. It seems that i always try to package the wrong projects then :D
<dthompson>some projects are easy to work with... many aren't. packaging is thankless work a lot of the time.
<oriansj>mfg[m]: because unlike most distros;guix doesn't let you cheat
<dthompson>relatively speaking guix makes things easier, imo.
<dthompson>it's the first distro I ever felt comfortable making packages for
<mfg[m]>dthompson: yes, i feel you. The actual writing of package definitions, understanding other package definitions and working with them is really nice with guix.
<dthompson>unbundling is tough. I'm glad the first things I packaged didn't require it or I might have been a little overwhelmed.
<mfg[m]>dthompson: especially when one bundled library (petsc) has to be exactly version 2.3.3 from 2010 ...
<dthompson>ugh
<rekado>ieugen[m]: there’s also https://github.com/PromyLOPh/guix-install-action/
<footlong>"GitHub - PromyLOPh/guix-install-action: GitHub action to install GNU Guix" https://github.com/PromyLOPh/guix-install-action
<lechner>rekado / Hi, can you think of a place in Guix infra that uses guile-dbi? I am having some issues getting off the ground with it. Thanks!
<Lumine>Good day #guix
<rekado>lechner: no, I’ve never used guile-dbi.
<rekado>guile-sqlite3 and guile-squee are both nice
<lechner>rekado / thanks! guile-squee looks much better
<lechner>Hi Lumine
<Lumine>Hey lechner
<lechner>what are you hacking on today?
<Lumine>Not much, I overslept and now having coffee. :)
<lechner>you must be in my timezone
<Lumine>I doubt it, it's 7 PM
<apteryx>does guix creates a ~/.bash_profile or ~/.profile for new users?
<lechner>okay, it's 9 AM here
<mfg[m]>But: if i actually get things done, then such old versions of libraries should be submitted to guix past?
<Lumine>lechner: nothing like a 4 hour nap!
<apteryx>ACTION checks default-skeletons in (gnu system shadow)
<lechner>Lumine / i am more worried about you having coffee so late. i go to bed around 8 PM
<a12l>efraim: Is rustfmt available somewhere in Guix? Can't find it when I search :-/
<mfg[m]>a12l: yes it's the rustfmt output of rust
<mfg[m]>so rust:rustfmt
<a12l>mfg: Oh, I didn't know about the concept of different outputs
<mfg[m]>well at least for version 1.60;
<a12l>What output is installed if you just specify the name? E.g. rust in this case?
<efraim>looks like the outputs section of rust could use some more descriptions. [description missing] isn't exactly helpful
<mfg[m]>and this output seems to be missing for 1.63 i wonder if this is on purpose
<efraim>by default the :out output
<a12l>efraim: Thanks!
<apteryx>anything past 1.60 are internal and not meant for consumption yet
<Lumine>lechner: I have a very different rhythm
<apteryx>(no tests, and only a stage 1 build rather than stage 2)
<a12l>efraim: I don't want to be pushy, but I'm wondering if you'd the time to look at https://issues.guix.gnu.org/61284? Can't use Guix for rust dev until that is fixed :-(
<footlong>"[rust] Segfault when trying to download dependencies using Cargo" https://issues.guix.gnu.org/61284
<a12l>I've personally no idea where to begin debug such an error.
<mfg[m]>apteryx: ok, i see
<a12l>Or do I use the "wrong" workflow?
<efraim>'cargo build' probably shouldn't segfault when called
<efraim>hmm, mine just worked this time
<efraim>perhaps just try it again? I didn't change my guix commit from the last time I tried to reproduce it
<efraim>actually I got rand-0.8.5 after telling it I wanted 0.8.3
<efraim>even changing it to "=0.8.3" it still built for me
<apteryx>anyone else has no terminal window title appearing in GNOME's Console (kgx) application?
<tricon>lechner: FWIW, I use guile-dbi on a project. This is because I need to connect to a <insert-proprietary-db> (unfortunately).
<lechner>tricon / hi, i thought about applying my Guile FFI experience and submitting a patch to get rid of C, but squee seems to work well for now
<tricon>lechner: Good to know. Yes, Guile FFI would be nice on that project.
<lechner>tricon / did you write a proprietary module that is not part of upstream?
<tricon>lechner: I ended up packaging the ODBC driver from the DB vendor, then made another package for configuring ODBC itself.
<lechner>wow
<lechner>i am glad it works
<tricon>We all hate this system we have to use, but it would be a multi-year project to migrate away from it, and we don't havy an alternative in sight at this time.
<tricon>lechner: Yeah, quite unfortunate situation, but it does work.
<lechner>tricon / do you still go through C, or do you access the ODBC module from Scheme?
<tricon>lechner: I use this with it: https://github.com/mjwoodcock/guile-dbd-odbc
<footlong>"GitHub - mjwoodcock/guile-dbd-odbc: ODBC driver for Guile DBI" https://github.com/mjwoodcock/guile-dbd-odbc
<lechner>that's cool. (well, as cool as ODBC can be.) i'll let you know if i convert guile-dbi. each of these C snippets is only 100-300 lines long, and much of it managing the conversion to SCM
<grim`>Hello. I was creating a derivation and I'm wondering how could I reference it's output path from scheme code. I would like to add the output path as a string to the `themes-directory` field of the `sddm-configuration` type. Anyone could please help me figuring out the syntax?
<jgart[m]>What do people think of having a `guix clone` command that passes the result of (-> network-manager (package-source) (origin-uri)) to `git clone`? -> is from guile-pipe package in upstream guix
<civodul>jgart[m]: hey! sounds interesting; there's some overlap with "guix build -S" and with "--with-branch" and the likes, i wonder how we could improve symbiosis :-)
<civodul>it's good to picture more people behind those nicknames now, gives IRC a different taste!
<jgart[m]>hmm maybe I need chimay to ponder it
<civodul>heh :-)
<a12l>efraim: Okey, thanks! It seems then that it's an issue with my rare unique Guix installation.
<roptat>hi guix!
<sneek>roptat, you have 1 message!
<sneek>roptat, whereiseveryone says: this might be a nice one to package, a weblate CLI https://todo.sr.ht/~whereiseveryone/guixrus/1210
<footlong>"~whereiseveryone/guixrus#1210: wlc
<jgart[m]>hi roptat!
<roptat>another php failure...
<jgart[m]>phffp 😮‍💨
<roptat>but I figured why it was failing previously, and someone already created a pull request that was accepted but not merged yet
<roptat>so, 3 more failures to fix
<civodul>hey ho roptat!
<roptat>"cannot get uid for user 'root'"
<civodul>here's a UID for root: 0
<roptat>it works outside the build environment...
<civodul>you need to check which libc functions that code uses
<civodul>there's /etc/passwd in the build env
<roptat>read I think...
<civodul>but according to https://guix.gnu.org/manual/en/html_node/Build-Environment-Setup.html it only has "nobody" and "guixbuilduserXYZ"
<footlong>"Build Environment Setup (GNU Guix Reference Manual)" https://guix.gnu.org/manual/en/html_node/Build-Environment-Setup.html
<civodul>uh
<devmsv>I would like to create a guile script that builds nginx config from ngnix-configuration so I can easily change and test without having to reconfigure. Any tips on how to even start to do something like this?
<civodul>roptat: an indeed, that's what build.cc does, so the manual is nicely accurate
<civodul>devmsv: i would test the nginx config in a VM, with "guix system vm"; would that be an option for you?
<roptat>great, so I guess I can disable these tests. I wonder why they worked before I patches the stream copy function...
<devmsv>civodul: that's what I'm doing now, but still feels a little bit slow.
<devmsv>because then I have to enter in the VM look at nginx logs, shutdown, rewrite, wait for vm to start again...
<jonsger>debbugs doesn't like me or my mail provider. Getting only some messages from bugs or even none :(
<old>anybody working on HIP and Roctracer? Asking because I'm trying and it's a nightmare
<attila_lendvai>devmsv, this is an executable guile script that shows how to add a dir to the load path. then import the relevant guix modules, and you can call the config serializer.
<attila_lendvai>devmsv, https://github.com/attila-lendvai/guix-crypto/blob/main/bin/release-update-helper.scm
<footlong>"guix-crypto/release-update-helper.scm at main · attila-lendvai/guix-crypto · GitHub" https://github.com/attila-lendvai/guix-crypto/blob/main/bin/release-update-helper.scm
<devmsv>attila_lendvai: thank you. would look at it
<lechner>Hi, do we have any architectures aside from x86_64, i686, armhf, aarch64 and powerpc64le?
<andreas-e>See %supported-systems in guix/packages.scm
<andreas-e>There is also mips64el-linux, riscv64-linux and powerpc-linux - and the Hurd, i586-gnu!
<andreas-e>But except for i586-gnu, of course, we have no hardware for testing them, I think.
<lechner>andreas-e / thanks so much!
<gnucode>andreas-e: I actually got the Debian GNU/Hurd running on real hardware. :)
<lechner>how was it?
<gnucode>next step is just to install guix on it.
<lechner>that's funny
<gnucode>lechner: it actually worked really well. I used the netinstall option to install the base system.
<lechner>was it usable?
<gnucode>I do not have it set up to run X yet. The laptop only has 2GB of ram anyway.
<gnucode>I got doom emacs installed. I haven't played with doom emacs much yet...
<gnucode>lechner: it was useable right up until I messed it up....
<lechner>why not Guix System?
<gnucode>Basically you have to be fairly familiar with debian and apt (in my opinion) to use it. And updating the system can randomly be difficult. But from my experience, it worked just fine.
<gnucode>lechner: I use guix system on my T400 laptop, but I don't think GNU/Hurd Guix system really works yet.
<lechner>probably a lot of goodies are missing
<gnucode>lechner: I talked to a guix user at some point, they said that they managed to install GNU/Hurd Guix System, but that it did not have internet access.
<lechner>it's been a long wait for me
<gnucode>lechner: there has been a flurry of activitely lately. They are nearly initial SMP support and X86_64 support. Thought the x86_64 support will have a 64 bit kernel with a 32 bit userspace.