IRC channel logs

2022-11-16.log

back to list of logs

<abhicherath[m]>hmmm how does pkg-config work with guix?
<abhicherath[m]>I installed libx11 and pkg-config
<abhicherath[m]>but `pkg-config --libs x11` outputs No package x11 found
<nckx>lechner: It looks like it could be, but I haven't looked into the issue since I said that, so I don't have an opinion on that thread.
<nckx>abhicherath[m]: It works relatively similar to other distributions: guix shell --pure libx11 pkg-config -- pkg-config --libs x11 ??? -L/gnu/store/fa43ijbrb96x08621qigxxiphp503lsi-libx11-1.7.3.1/lib -lX11
<nckx>I can't say from here why it doesn't work for you.
<abhicherath[m]>hmm weird yea that's what I've generally had
<abhicherath[m]>I see that the .pc files area ll in ~/.guix-profile/lib/pkgconfig
<abhicherath[m]>but PKG_CONFIG_PATH is not set
<nckx>Yes, looks like you didn't source some new environment variables after installing those packages.
<nckx>Damn it, I was typing that before you said so and would have look a lot more clever >:(
<nckx>Well, apart from that typo.
<abhicherath[m]>hmm
<abhicherath[m]>what do I source though?
<nckx>What ???guix install??? should have printed.
<nckx>Or, just log out & back in.
<nckx> https://paste.debian.net/plainh/d9e96464
<abhicherath[m]>AHH
<abhicherath[m]>yes
<nckx>\o/
<abhicherath[m]>sorry, in every other distro typically the reset is after a new terminal opens cause the .bashrc or whatever changes
<abhicherath[m]>what's the mechanism by which this gets set?
<nckx>Ah, yes, .profile doesn't work that way.
<nckx>abhicherath[m]: I'm not sure what you mean.
<nckx>.guix-profile/etc/profile changes when you add/remove packages.
<abhicherath[m]>and it gets sourced on login?
<nckx>Yes, see /etc/profile on Guix System, and possibly on foreign distros (I'm just not familiar).
<abhicherath[m]>ahh thanks
<nckx>If you're thinking ???why can't they just ???!!??? I sympathise, but there are good (or at least solid historical and other) reasons why it's not more magical.
<nckx>Other things would subtly break or act strangely in harder-to-debug ways.
<abhicherath[m]>nah its my fault here, I just sort of assumed those source thingies were spurious on guix system
<abhicherath[m]>I don't really know why I assumed that
<abhicherath[m]>Does guix have a file search like apt-file?
<nckx>Afraid not.
<nckx>It will probably happen one day, and it's been discussed, but there are no implementations today.
<nckx>If it's one particular file you seek, shoot.
<mirai>are "draft" patches ok to send?
<mirai>I seem to have gotten the service definition + package working within a vm but the test suite I wrote fails
<vagrantc>i've been encouraged to send draft patches to guix-devel
<nckx>Yes! Please send it to guix-devel@ & mark it as ???WIP??? in the subject, but they are very welcome.
<nckx>When clearly marked, they are equally welcome on guix-patches@ as far as I'm concerned.
<minima>hey, there's this package that seems to require clang-format - do you know what's the most light-weight way of bringing the dependency in? clang? or rather clang-toolchain?
<nckx>minima: For ridiculous values of ???light-weight???: clang. It's a feathery 886 MiB to clang-toolchain's 1156.
<minima>nckx: ouch! 886 MiB - that hurts! :D cool, that will do then, thanks!!
<nckx>ACTION had a 12-GiB Sqlite .wal file again, but restarting guix-daemon ???fixed??? it.
<nckx>minima: That's the size of the total closure (the package + all its transitive references), as calculated by ???guix size???. The real size used on your system might be less, but yeah, it's not going to be small.
<minima>np, thanks, i'm lucky and my connection can handle that
<nckx>ACTION tests circe.
<nckx>Still takes >3 minutes to start up, at 100% CPU ???
<nckx>ACTION bins circe.
<SUPERB[m]>Hi
<SUPERB[m]>Since Guix is not a sub distro I was wondering which commands shall I use to install programs on Guix? Debian?
<nckx>Hi SUPERB[m]. I'm not entirely sure what you're asking. The ???guix??? command is used to install, upgrade, remove, and do a tonne of other things to packages/programs. You're right that Guix isn't directly based on another distribution, and so does not use someone else's commands.
<nckx>I suggest taking a look at the manual, or if you like vidyas: https://guix.gnu.org/en/videos/2020/everyday-use-of-gnu-guix-part-one/
<nckx>ACTION ??? ????????, good night.
<pkill9>how would you write the standard output of a command in guile to a file, while it's running?
<pkill9>without relying on the shell
<pkill9>which by defualt open-pipe uses
<pkill9>so using open-pipe* maybe
<apteryx>yeah, you need a pipe
<apteryx>pkill9: some practical example: https://notabug.org/apteryx/fiasco/src/master/fiasco/finder.scm#L258
<pkill9>ty
<pkill9>apteryx: how do you also capture the standard error output?
<lizog>hello guix, i noticed that some vulkan related updates has been merged to staging branch, but there is a patch series which update these packages to vulkan 1.3 hasn't been touched for a which: https://issues.guix.gnu.org/58617.
<lizog>although it's targeting core-updates, it seems incompatible with the patches pushed onto staging branch. i'm not the author of the patch series, just curious at the moment, do the patch series need to be rebased against staging branch?
<apteryx>pkill9: good question; I think I had the same when I wrote that thing
<apteryx>and I think there was no easy solution
<apteryx>I think you'd have to redirect stderr to stdout "manually" using dup2
<apteryx>that's quite baroque, we ought to come up with some easier/modern way to do this nicely with Guile
<apteryx>for inspiration you could look at commit a7a456c in mcron
<lisbeths>Is guix able to be used kind of like docker to create sandboxed development environments?
<sneek>Welcome back lisbeths, you have 1 message!
<sneek>lisbeths, ArneBab says: I???d be careful in evaluating bash: sh is what you get when you seek for a language optimized to calling programs with some arguments ??? shelling out to them ??? and systemd did not have to be created because of deficiencies in sh: when systemd got created, Gentoo-people had already implemented OpenRC on top of shell-scripts that provided the same features but in a much cleaner and much better integrated way. A
<apteryx>lisbeths: guix shell --container bash -- bash -c 'echo "hello from container!"'
<lisbeths>are guix shell containers server-ready?
<apteryx>what do you mean by that?
<lisbeths>I am wondering if guix containers have been used on critical systems like docker has
<apteryx>so your concern is reliability?
<raghavgururajan>efraim: Thanks for the OneDrive client. Do you know what is the best way to use it, like start the program ad-hoc or run it as home/system service?
<apteryx>lisbeths: I've used 'guix shell -C' in the CI for a while, and it never fails. Since I don't change the Guix commit used often, the profile is always cached, so it's immune to network failures.
<lechner>podiki[m] / my 'guix shell' brings up bash
<yewscion>Hello all, just tried to run guix pull and got an error on the main guix channel saying that the .guix-channel file was invalid. Is this a known issue?
<yewscion>Looks like my cuirass instance's most recent pulls were aborted as well.
<podiki[m]>lechner: I don't understand what you want exactly, you can have guix shell execute anything, by default it just goes into a bash shell
<podiki[m]>you can do guix shell <your options> -- <command to run in the shell>
<unmatched-paren>yewscion: guix pull works for me
<unmatched-paren>yewscion: do you have other channels?
<yewscion>unmatched-paren: I disabled them upon first getting the error; running just with the core guix channel now.
<yewscion> https://paste.debian.net/1260854/ Here's the highest debug log I could figure out with the flags.
<yewscion> https://paste.debian.net/1260855/ And here is the current ~/.config/guix/channels.scm I am using, with only the core repo uncommented.
<unmatched-paren>yewscion: btw you can use (channel (inherit %default-guix-channel) ...) for 'guix
<yewscion>unmatched-paren: oh cool! I'll edit that for sure, better than having things repeated. Maybe that will solve the issue.
<unmatched-paren>probably won't, but it's nicer, yeah :)
<yewscion>unmatched-paren: Unfortunately, the issue persists, yeah. But it is nicer!
<yewscion>The file it says is not valid hasn't changed in 2 years. I wonder if it is a connection issue? Maybe on my end?
<unmatched-paren>maybe try rming ~/.cache/guix?
<yewscion>unmatched-paren: that seems to have done it. Maybe some file was damaged; I lost power earlier today. It's at least receiving things now.
<yewscion>unmatched-paren: Unfortunately, upon finishing the new checkout in ~/.cache/guix, it gave the same error
<unmatched-paren>????
<yewscion>Pinning it to the currently active commit (587a0f46007c7a498ab03c11a56fc79f031f7c29) allows the process to continue. I'm going to step forward and see which commit causes the problem for me.
<yewscion>The first commit my system has trouble with is 2f5607badc0b10de087cb079701ad24f28f3e40e
<yewscion>Different error on that commit, though: https://paste.debian.net/1260857/
<yewscion>That error changes into the one mentioned above at commit 5512915c3bd62e061bd47d440da02e0826c1d0e7.
<unmatched-paren>yewscion: Ah, I think the first one has been seen before.
<unmatched-paren>bug#58988
<yewscion>unmatched-paren: Ah, I remember reading this at some point before. Gonna try repairing the store, like it suggests.
<yewscion>Interesting result. Repair took forever, but was unsuccessful. However, I ran both guix-home --delete-generations and then guix gc --delete-generations afterwards, and after that I was able to guix pull again properly. I wonder if this is the sign of some kind of non-determinancy? Wish I knew enough to speculate as to the actual cause.
<rekado>apteryx: we have no time before the outage on Friday to switch to multipath. We should fail over the websites and shut down ci.guix.gnu.org before the downtime.
<yewscion>Either way, thank You for Your help, unmatched-paren !
<unmatched-paren>yewscion: no problem! :)
<user___>which package provice libgcc_s.so.1 ?
<user___>Oh its gcc:lib output
<unmatched-paren>user___: ls (guix build -e '(@ (gnu packages gcc) gcc)' | grep '\\-lib$')/lib
<unmatched-paren>yup, gcc:lib
<user___>It should not be visible by default after install?
<user___>I solved my probledm with ld_preload but just a question
<user___>I was just trying to run tor vanguards addon
<user___>LD_LIBRARY_PATH=/gnu/store/4zvswpr2h3b7dvqpvjcdam8vfhyjrmgl-gcc-12.2.0-lib/lib/ vanguards
<user___>^ this get it working
<unmatched-paren>user___: maybe try running it under a fhs container instead
<unmatched-paren>guix shell -FC -- vanguards
<user___>oh, sorry I dont even know whta fhs container is yet :(
<unmatched-paren>it just sets up things like /lib and /bin that you might find in a traditional distro
<unmatched-paren>inside a container
<user___>It will not work for this case because vanguards is a python package not a guix package, but it awesome to know about guix shell
<yewscion>Not my day, apparently. Sorry to come back with another issue so soon. Did the syntax for guix home configurations change recently? The configuration I am currently running is giving an error when I try to reconfigure to it, even though it is already live on my system. It's saying that append is expecting an empty list. The line it's complaining about is (home-environment (services (list (service (home-bash-service-type
<yewscion>(home-bash-configuration ... ))))))
<unmatched-paren>yewscion: are you doing (service (SERVICE-TYPE VALUE)) there?
<unmatched-paren>You need to do (service SERVICE-TYPE VALUE)
<yewscion>unmatched-paren: No, that was a typo on my part, hang on, will link actual file.
<yewscion> https://git.sr.ht/~yewscion/guix-home/tree/trunk/item/home-configuration.scm#L360
<yewscion>Will try to work up a more minimal example.
<yewscion>Got it down to 19 lines, same error: https://paste.debian.net/1260866/
<yewscion>Backtrace I get: https://paste.debian.net/1260869/
<yewscion>12 lines now, same error: https://paste.debian.net/1260871/
<Luchadoritos>I'm getting an error with guix home as well. "Wrong type argument in position 1 (expecting empty list)". I doubt it's my config as 1. Geiser C-c C-b compiles it 2. I did not change the home declaration file since I last ran it.
<Luchadoritos>Buggy guix pull commit or two unfortunate souls? Lemme attempt to roll back my pull
<yewscion>Luchadoritos: for clarity, that is the same error I am getting.
<Luchadoritos>yewscion: Thanks for letting me know. Rolling back my guix using guix pull --roll-back solved it for me
<Luchadoritos>I hope that works for you two bud.
<yewscion>Luchadoritos: Thanks, will try to pinpoint the commit that caused it, as I pulled forward by almost a week today.
<Luchadoritos>Did rolling back far enough at least make the command useable? If so that takes a load off.
<omlet[m]>would it be possible for someone to package the tor browser and the distrobox to the guix?a
<efraim>raghavgururajan: I've used it on and off ad-hoc, but I'd use it as a home shepherd service personally. I'd try something like this: https://git.sr.ht/~efraim/guix-config/tree/master/item/efraim-home.scm#L681
<yewscion>Luchadoritos: I actually cleared out all of my old generations earlier (forgot about that). I might just wait until tomorrow; hopefully whatever it is gets fixed.
<raghavgururajan>efraim: Thanks!
<efraim>raghavgururajan: the file may have changed since I sent that, I was aiming for the dropbox service
<raghavgururajan>Cool!
<Luchadoritos>yewscion: bummer! :( But I believe in the maintainers to pull through on this!
<omlet[m]>Its a possible add the distrobox for guix?
<yewscion>Luchadoritos: Me too! The Guix community has never let me down.
<Luchadoritos>yewscion: In the (rare) event this doesn't get fixed soon it's possible to specify a different commit in your channels.scm file or using guix pull --commit or by cloning a repo and using the --url=PATH. So you'll be golden
<Luchadoritos>775134e works for me if you are planning on this route
<abrenon>hey guix
<munen>Hi everyone, I'm running Guix under Debian and am having a really good time with it. Right now, I'm getting some curious errors on my system, though. Some commands (that are not installed via Guix) will yield 'symbol lookup' errors. The Debian binary tries to use the glibc library from Guix - and they don't match. As far as I understand, they don't have to match, but the Debian binary should not use any Guix library by default. Do I have a wrong config
<munen>somewhere? Here's an example: https://paste.debian.net/1260879/
<rekado>correct, Debian binaries should never use Guix binaries.
<rekado>sometimes environment variables will make applications use incompatible libraries from certain location.
<munen>That's what I thought - it only makes sense. Do you have an idea why it does happen, though?
<rekado>my guess is that it???s one of the XDG_* variables
<rekado>can you do ???env | grep XDG???
<rekado>and then unset those that are set to Guix locations.
<munen>It's a good idea. Unfortunately no XDG_* variable has a guix path set.
<munen> https://paste.debian.net/1260880/
<rekado>could you please show us the full output of ???env??? then?
<munen>Here are all env vars (grepped to `guix`): https://paste.debian.net/1260881/
<munen>Here are all env vars: https://paste.debian.net/1260882/
<munen>To me, the guix relevant sections in `env` look OK. To be sure that `PATH` isn't used for the lookup, I've set it to a minimum `PATH=/usr/local/bin:/usr/bin:/bin`. It has no effect, though.
<yewscion>Luchadoritos: Thanks for the working commit! I'll be using this until a fix is committed.
<abrenon>munen: does ldd reports the /gnu/store/???-located libpthread.so.0 too ?
<mbakke>it's incredible how their defenses have held up against the increasing pressure
<mbakke>eeh wrong chat :P
<oriansj>rekado: when I do guix build --check I get the following: guix build: error: some outputs of `/gnu/store/hifim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv' are not valid, so checking is not possible
<munen>abrenon: `ldd `which gsettings` | ag guix` yields no result. Here's the full output: https://paste.debian.net/1260884/
<abrenon>hmmmm : /
<munen>It's very weird.. Most of the software on my system also still works as expected. But `gsettings` is not the only command that fails, because it tries to use a Guix library.
<abrenon>well I guess it's going to be a game of finding the variable that overrides this but I have no idea where to start
<efraim>oriansj: I was able to build it locally too, /tmp is tmpfs, /gnu/store is nvme
<munen>abrenon: You're right! I've just unset all env vars. Now, it works. Thank you for the fix ???? Now, on to some binary search which is the relevant env var(;
<abrenon>no ! don't let me steal credit for this, this was rekado's idea from the start
<abrenon>but I'm glad clearing the environment fixes it temporarily
<oriansj>efraim: well looking at the log, it makes me think my makefile is different than yours; could we compare them?
<efraim>oriansj: sure
<munen>Ok, binary search through 68 env vars is done(; The culprit is `GIO_EXTRA_MODULES`. That's not an env variable I'm setting manually.
<rekado>it???s set by Guix when glib is installed.
<munen>That makes sense. It'll override whatever was the default beforehand, though.
<rekado>oriansj: you need to have a previous build for ???--check??? to work. Since I already had a previous build I needed to use ???--check??? to force Guix to build it from scratch again.
<efraim> https://bpa.st/VQ is the makefile from inside bzip2-mesboot
<munen>I could manually prefix the `GIO_EXTRA_MODULES` with the path that's used in Debian. Will this confuse the lookup for binaries in Guix, then?(;
<munen>Seems like a tricky situation..
<omlet[m]>In guix have update-grub
<omlet[m]>Automatic?
<oriansj>rekado: I did guix build --keep-failed and produced the following tarball with the build contents: https://wiki.bootstrapping.world/guix-build-bzip2-mesboot-1.0.8.drv-0.tar (sha256sum of 5e5d7657805b69d2ffdaa935834cbde245907348d8fb7e1238fd9d168cb79bea )
<Luchadoritos>omlet[m]: if I understand correctly, you don't need to (nor should you) touch grub configs. Let guix system reconfigure do the init business.
<rekado>munen: I think you don???t need to set it to any value. Just unset it.
<munen>rekado: I'll do that, then. Thank you all for your support. It's much appreciated ????
<oriansj>that way we can rule out my makefile or other file done in the bulid being different.
<omlet[m]>Luchadoritos: I have install first the nixos
<omlet[m]>but the efi not clean the before install
<Luchadoritos>omlet[m]: yikes! Sorry about that. Foreign distros are beyond me atm. Not even sure if guix system works in that case.
<Luchadoritos>Suppose you'll work with what you have currently.
<user___>there is a init script mechanism in shepherd?
<abrenon>AFAIU not scripts as in shell scripts, but services (written in guile)
<omlet[m]><Luchadoritos> "omlet: yikes! Sorry about that..." <- Make one guix grub update ots good idea in my opinion
<omlet[m]>Or guix grub manager
<omlet[m]>* Make one guix grub update its good idea in my opinion
<omlet[m]>Or impport the ubuntu update-grub
<abrenon>why ? it's taken care of automatically when the system is reconfigured
<omlet[m]>abrenon: Why reconfigure not resolving the order boot
<omlet[m]>boot order
<abrenon>the boot order in grub ?
<omlet[m]>Yes
<user___>abrenon: it should solve the problem, but I will need to learn to create a service
<omlet[m]>And in bios i dont can switch
<abrenon>I've never used guix in a dual-boot situation, so I don't really know sorry
<user___>My problem is taht I need to persist firewall rule across reboots
<abrenon>hmmm I don't see how an init service would fix your problem if you're trying to boot another OS
<abrenon>I don't know how the grub service determines the boot order
<abrenon>omlet[m]: is there anything useful in https://guix.gnu.org/fr/manual/devel/en/html_node/Using-the-Configuration-System.html#Bootloader by any chance ?
<abrenon>maybe https://guix.gnu.org/fr/manual/devel/en/html_node/Bootloader-Configuration.html#Bootloader-Configuration too ?
<user___>abrenon: me?
<abrenon>oh, sorry for the confusion ^^ no, that was meant to omlet[m]
<omlet[m]>I already did, I didn't know how to pray well to bios
<abrenon>user___: yeah, for your need I suppose a herd service would be appropriate
<abrenon>I'm going AFK for a while, see you later
<user___>Have a nice time
<mekeor[m]>hi guix :)
<mirai>is there any description of the usual shepherd-service requirement values? (such as 'networking', 'user-processes', 'loopback', ...)
<mirai>how and when do I know which one to use?
<abrenon>mirai: well when you `herd status` one particular unit, such as `herd status networking`, the output contains the requirements of the service
<mirai>I mean from a service definition writer perspective
<abrenon>oh, I see
<mirai>for the 'networking' case, it's confusing looking at the existing services
<mirai>some have it (as expected)
<abrenon>well then I guess looking directly at the definition of those services would be useful (looking at the 'description' field)
<abrenon>with gux system edit <service-name>
<mirai>whereas things like 'nginx' or 'opensmtpd' only have 'loopback'
<omlet[m]>ACTION uploaded an image: (81KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/yAauPxMYInsKAxDXIzdHaQQu/20221116_124000_9099015831307089506.jpg >
<omlet[m]>Witj sudo and without sudo
<omlet[m]>Same error
<mirai>omlet[m]: no internet connection perhaps? check with 'ip -6 a' (or without -6)
<nckx>efraim: In <https://issues.guix.gnu.org/48325#46-lineno217> you noted that curl-ssh should be hidden. Why was that?
<omlet[m]>ACTION uploaded an image: (98KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/SefOlMWEMKwyleJxVadKiVaY/20221116_124822_1100673841645359568.jpg >
<omlet[m]><mirai> "omlet: no internet connection..." <- View again
<omlet[m]>Now with internet
<nckx>You dropped the sudo that worked in your previous image.
<omlet[m]>nckx: Yes
<omlet[m]>But is for work without sudo
<mirai>omlet[m]: without sudo you need '--user' switch
<nckx>/var/lib/flatpak is never going to work without sudo, unless you (or flatpak) creates it group-writable and you are in said group.
<mirai>or if you're used to be able to do it without sudo (coming from fedora) that's because there's polkit magic behind it
<nckx>ACTION hisses.
<mirai>don't know if guix also comes with polkit magic but it's either sudo or --user
<omlet[m]><mirai> "don't know if guix also comes..." <- In nixos not is need
<omlet[m]>Why the polkit i think
<mirai>nckx: writing a service file only involves editing the files under gnu/services right?
<mirai>provided the package already exists
<mirai>and the documentation step is "optional" (until upstreaming)
<nckx>mirai: Yes, more or less! If it's a new file, it needs to be added to gnu/local.mk, and you are kindly urged to create matching test(s) in gnu/tests as well.
<mirai>omlet[m]: afaik nixos uses systemd and it has some relation with polkit. I'm not too sure on the topic, I've heard about it somewhere before so I might be wrong.
<mirai>nckx: not a new file, I was about to generate the docs via 'generate-documentation' procedure in a guix repl (or plain guile) and the strange thing is it doesn't see the new symbols/procedures
<mirai>but herd launched the service and it's running
<mirai>(this is all running within a guix system vm)
<mirai>so... ????
<mirai>the service is running but the definitions don't exist?
<nckx>This is a ./pre-inst-env (or equivalent) guix repl?
<mirai>I switched to the module where I put the new code in
<mirai>./pre-inst-env guix system vm
<nckx>I mean the REPL in which you're running g-d.
<mirai>g-d?
<mirai>I did a ./pre-isnt-env guix system vm <test-system.scm>, it outputs a script to launch it via qemu
<nckx>gen-doc; phone. Basically what I'm asking is how are you trying to make the new symbols available in the REPL. ./pre-inst-env would be one expected way.
<mirai>and launched the script
<nckx>My question isn't related to the VM.
<mirai>I haven't tried via ./pre-inst-env guix repl
<mirai>let me do it
<mirai>just thought it was extremely odd that from a vm the service exists and can launch via herd but the code isn't present
<nckx>I have way too little info to say, but this would be expected if you ran ./pre-inst-env guix system vm (even if you don't run the script in ./pre-inst-env) but tried to call gen-doc from a regular 'guix repl'. The 2 guixes would be unrelated.
<nckx>Unless you're using your local guix.git as a channel. Hence, too little info to say :)
<mirai>is there a way to get the ./pre-inst-env guix repl to come with readline included
<nckx>This is the first time I've heard of it acting any different than a plain 'guix repl'. It should honour your ~/.guile etc.
<nckx>If you had no readline in a regular guix repl, I can't say off the top of my head how to add it, only that it's not hard.
<mirai>the readline package seems to be missing, because attempting to load the module manually fails
<nckx>Did you have readline in regular guix repl?
<mirai>but the regular guix repl finds it
<nckx>Muh.
<nckx>I've never had that be a factor.
<nckx>Annoyance aside, that's a separate bug.
<nckx>ACTION ??? AFK. Hope to read good news later.
<rekado>I???m trying to use RStudio???s rserver inside of ???guix shell -C???; rserver tries to drop privileges, but inside the container we only have one user account
<rekado>I tried running ???useradd??? to create a new account; this worked, but I cannot chown files to that new account.
<rekado>is this expected behavior?
<civodul>rekado: yes: only one UID gets mapped into the container
<gabber>i've successfully built and booted gnu/system/images/pine64.scm but neither `guix describe` nor `guix system list-generations` point me to a configuration file. i did a `find / -name config.scm` which spits out some results but they don't seem to contain an `(operating-system)` clause like i'd expect. is this by design? also: guix pull fails (SSL certificate is invalid). i built the image from a rather recent checkout
<rekado>I see, it???s in initialize-user-namespace in (gnu build linux-container)
<rekado>we could make this configurable
<gnucode>morning guix!
<rekado>I think it would be useful to add an override to unshared namespaces
<tricon>Gnood Gmorning, gnucode!
<apteryx>is there a way to configure git ot always have base-commit?
<ennoausberlin>gabber`: Do you have /run/current-system/configuration.scm ?
<apteryx>ah, this: https://git-scm.com/docs/git-config#Documentation/git-config.txt-formatuseAutoBase
<ennoausberlin>And you might need to install nss-certs and le-certs
<civodul>rekado: we'd need support for "subordinate UIDs" if we wanted to map multiple UIDs inside containers
<civodul>but it's a bit mucky
<civodul>fun fact: subuid(5) documents a glibc mechanism that never came into existence
<civodul>newuidmap(1) is more accurate
<ss2>good morning gnucode! Hope it is not to early for you to ping you again after yesterday.
<gabber`>ennoausberlin: nope
<ennoausberlin>gabber`: Why are you looking for the config if you build an image from a config by yourself? Did you boot that image?
<rekado>I tried to use ???guix shell -C??? after removing ???user??? from %namespaces, but that was a bad idea???
<rekado>pivot-root failed and now I???m stuck with dozens of bind mounts??? :-|
<gabber`>ennoausberlin: yes, i booted that image, i am running Guix on said pine64 board; now i need to reconfigure the image because basic stuff is missing (DHCP, SSH, etc). my first intention was to do that on the machine itself and reconfigure from there instead of building a new image, flashing that to an SD card, physically moving that card to the new machine and wishing for it to boot. but maybe that's not the way it is supposed to work?
<gnucode>ss2: no that's fine. What program am I installing?
<gnucode>morning tricon
<apteryx>civodul: clang-15 patch refreshed as v2
<ss2>just gnome-text-editor, to see if it crashes for you in wayland, and then maybe not in X.
<gnucode>let's seee....
<ennoausberlin>gabber`: You can reconfigure the system after booting. I do this all the time with my PPB and PI400 - aarch64 both. So, which config did you use to create your boot image?
<gnucode>ss2: sounds good. installing now.
<ennoausberlin>gabber`: How much RAM has your board?
<ennoausberlin>*PBP instead PPB
<gabber`>like i stated above, pine64.scm from Guix's source repo (gnu/system/images/pine64.scm). the board has 2G
<gnucode>Couldn't open libGLESv2.so.2: libGLESv2.so.2: cannot open shared object file: No such file or directory
<gnucode>ss2: but I am pretty sure my computer does NOT support OpenGL 2. I think I only have GL1.
<rekado>apteryx: do you have any plans for ci.guix.gnu.org before the SAN maintenance on Friday?
<gnucode>so i could not start it in wayland, and I actually don't run X. :)
<ss2>gnucode: right, I'm suspecting that it has to do with old graphic cards.
<ss2>I found a bug report yesterday for an unrelated project where they fixed this error happening.
<ennoausberlin>gabber`: Give me a second
<gnucode>interesting...
<ss2>Could be this is an upstream error/bug in Gnomes side.
<apteryx>rekado: no
<gabber`>ennoausberlin: i give you whole minutes ;)
<apteryx>multipath would be nice but it seems a bit tricky for 2 days
<apteryx>with the initrd and stuff
<apteryx>setting up rsync for the website and adjusting the DNS could be doable, I guess, but I've never touched DNS zone configs much so ain't comfortable doing it
<ss2>gnucode: thanks for testing. I'm considering to open a bug report for this now.
<rekado>DNS propagation will take some time, so it would be good to get this done soon
<rekado>or else we???ll have another long outage with web sites unavailable
<ennoausberlin>gabber`: Do you want to install a window manager, too?
<gnucode>you're welcome.
<gnucode>ss2: are you sure it's a bug? If I have an old graphics card, then I may just be out of luck ...right?
<ss2>no, I'm not sure if it is a bug yet.
<ss2>I haven't many more older machines to test this now. There's another one, which simply refuses to launch wayland in the first place.
<gnucode>ss2: I think wayland requires some type of OpenGL...or something. I could be way wrong on that....
<gabber`>ennoausberlin: not really
<ennoausberlin>gabber`: In my config I have added the desktop and networking services. So I just needed to run dhclient -v NAMEOFINTERFACE to get internet
<apteryx>rekado: would you know how to switch DNS from berlin to node 129 for the website?
<apteryx>another idea: can we "hot add" multipath while the machine is running?
<apteryx>if we could set it up by hand for now to get us by, and devise the details cleanly later
<rekado>we can create the multipath devices, but we???re still using /dev/sdk instead of /dev/mapper/mpatha (or whatever it would be called)
<rekado>this needs to happen before we mount the root file system.
<ennoausberlin>gabber`: I don't have my current PBP config handy. I can give you this link https://forum.pine64.org/showthread.php?tid=13789&highlight=guix
<ennoausberlin>gabber`: remove all desktop stuff from above config and for ssh just append (service openssh-service-type) to your list of services
<ennoausberlin>gabber`: And of course replace the pinebook-pro references with the pine64 (image, bootloader, etc). My scheme-fu is very limited, but it worked for me
<gnucode>I just reconfigured shepherd...it gave has this text at the end that seemed funny...
<gnucode>shepherd: Evaluating user expression (and (defined? (quote transient?)) (map (# ?) ?)).
<gabber`>ennoausberlin: much apreciated :) tho i'm more interested in the fact why there is no configuration.scm in the store (defining an oparating-system) -- i know my way around the configuration file (:
<civodul>apteryx: neat, just replied: LGTM!
<civodul>people at work had been asking for that one, you'll make them happy :-)
<ennoausberlin>gabber`: Ok. I was wrong. I guess there is a configuration.scm in the store for every generation, but not for the initial one. I can't check right now. My connection behind a company proxy with vncconsole web interface is very shaky
<ennoausberlin>gabber: By the way, guix on such a limited device is probably not fun. Do you plan to create a cluster out of multiple pine64 sbc?
<tricon>ennoausberlin: you can cross-build from a more powerful machine.
<tricon>ennoausberlin: or am i thinking of a different scenario?
<tricon>i had a paltry VPS i was running Guix on. it was a game-changer to be able to build from my workstation and deploy to the VPS.
<ennoausberlin>tricon: In theory, but I never tried that. Sounds complicated for me.
<ennoausberlin>tricon: Is your workflow somewhere documented? Id like to do this too
<tricon>ennoausberlin: i followed what's in the official docs regarding `guix deploy'
<tricon>tl;dr Guix is my favorite OS of all time.
<tricon>*tldr;
<ennoausberlin>tricon: But guix deploy is called AFTER cross compiling, isnt it?
<tricon>ennoausberlin: my understanding was that specifying the target arch in the "deployment manifest" would do-the-right-thing. i haven't personally tested this. in my situation, i was building on x86_64 and deploying to the same.
<ennoausberlin>tricon: I have to test it. Thank you
<anuser>Hi. Can't use guix home reconfigure anymore on file that use to work ~6 months ago. Any ideas? https://paste.debian.net/1260913/
<PotentialUser-74>Hi, I'm managing 10K ec2 ubuntu servers and came across guix today. I'd like know whether guix can be used for following usecase:
<PotentialUser-74>I'm managing 10K ec2 ubuntu servers and came across guix today. I'd like know whehther guix can be used for following usecase:
<PotentialUser-74>0. Install guix as package manager on Ubuntu servers.
<PotentialUser-74>1. Build source and create required static binaries or dynamic binaries.(around 10 to 15 binaries)
<PotentialUser-74>2. Push the binaries to github repo
<PotentialUser-74>3. Make github?? repo added as guix channel
<PotentialUser-74>4. Make sure end-user system adds above channel in their config.
<gnucode>PotentialUser-74: yes to 0 3 4
<gnucode>probably yes to 1, but I am not sure.
<PotentialUser-74>gnucode: ok, thanks. I saw "guix weather" helps to install binary (instead of build from source). If thats correct, 5 should be possible too.
<gnucode>:)
<a12l>Is it possible to write and manage application configurations using Guix, similar to how Nix modules works? I've a few applications installed using Guix Home
<apteryx>PotentialUser-74: it's possible but now the way you seem to think it works. Binary substitutes are to be served by substitute servers, not Git
<apteryx>*not the way
<apteryx>channels hold the package definitions to build the packages from source; you'd want your substitute servers to have these built
<PotentialUser-74>apteryx: ah, okay. So I need to follow this doc: https://guix.gnu.org/manual/en/html_node/Substitutes.html to setup those substitute servers?
<tricon>a12l: could you give an example? on one hand, Guix has abstractions for some services, and i personally would enjoy developing/witnessing additional abstractions. on the other hand, you can use packages and/or Guix Home to create or place configurations.
<PotentialUser-74>Just little more info on binaries -- we are not using commercial/closed binaries, most of them available on github public repo.
<a12l>tricon: https://search.nixos.org/options?channel=22.05&show=programs.tmux.baseIndex&from=0&size=50&sort=relevance&type=packages&query=tmux
<anuser>Repeat post: Hi. Can't use guix home reconfigure anymore on file that use to work ~6 months ago. Any ideas? https://paste.debian.net/1260913/
<a12l>tricon: That's the options that's available for configuring Tmux using NixOS default modules. And then Home Mananger have more options for configuring Tmux.
<tvhead7>In gstreamer.scm for example i read "#$@%common-gstreamer-phases" + i read the guile reference manual, but i've no idea: Whats the meaning of the hash sign, the dollar sign, the at sign, the percent sign. I didnt find anything about it. Is there any reference to look at??
<a12l>tricon: Depends a little on the format of the configuration file. There's (I think) standard functions for configuring applications that expect YAML config files. I.e. Nix generates the configuration files that the applications expect from options set in the NixOS modules for that application.
<tricon>tvhead7: look at "G-Expressions" in the Guix manual.
<mirai>gnucode: regarding yesterday, I still haven't found out how to get an interactive shell at an arbitrary point within the system tests but I managed to concoct a way to extract some information out of it
<tricon>a12l: roger, thank you for the example and explanation. i admit that i only know little of NixOS through the Guix community's reference to it at times. This looks to be a parallel abstraction to what is available for some things in Guix, though I know of no such abstraction for tmux.
<mirai>gnucode: hack to get a text file within the vm to spit it out to the terminal https://paste.centos.org/view/f34ceb39
<tricon>a12l: fwiw, i would _love_ to develop these things out for Guix. tmux is a great starting point for such.
<anuser>Seems my problem is in the service home-bash-service-type or home-bash-configuration -- how can I inspect these further in guix repl or anywhere else?
<tricon>personally, i have a tension with config abstractions, but the Guix devs have always done a great job at letting you specify a body of text, or use file lowering procedures, in order to have full access to the underlying configuration language/mechanism.
<tricon>i think as long as we keep to that standard, Guix users could benefit from additional abstractions.
<a12l>tricon: From the bits I've gathered from the reference manual and your answer, do you usually write configuration files for applications by hand, and then use Guix for added those configuration files to the store and then add links to those config files in the paths that the applications expect?
<a12l>E.g. using Tmux, would you write the tmux config the standard tmux way; make that configuration file part of the store; and then create a link located at .config/tmux (or whereever Tmux expect its configuratoin files to be located) that points to the configuration file in the store?
<unmatched-paren>a12l: making those links to the store is handled by files-service-type
<tricon>a12l: that's what i do; either that or i'll use something like `plain-file' to host a string of my config in the supporting Scheme file itself, whether that be a package or manifest.
<unmatched-paren>sometimes this is done, but sometimes there's a service which provides a Schemey layer for the config
<a12l>unmatched-paren: So Guix has something simlar to how you sometimes can configure applications using the NixOS modules?
<unmatched-paren>yup
<a12l>tricon: Do you create a derivation for your configuration files?
<unmatched-paren>service-types that extend files-service-type allow for this
<tricon>a12l: what unmatched-paren is referring to is what i meant by "config abstractions".
<a12l>unmatched-paren: Thanks!
<unmatched-paren>a12l: usually we don't use derivations directly in guix
<a12l>tricon: Thanks, I missunderstod you then :)
<unmatched-paren>instead we use things we call "file-likes" or "lowerable objects"
<cbaines>sneak peak, you can now ask data.qa.guix.gnu.org what builds are blocking others, so here's the main blocking builds for the Hurd http://data.qa.guix.gnu.org/revision/785fd09af0e161906e984944ddae363c384b66dd/blocking-builds?system=i586-gnu&target=none&limit_results=50
<unmatched-paren>these are objects such as ``origin'', ``package'', ``local-file'', ``computed-file'', ``mixed-text-file''...
<tricon>seeing that these NixOS configuration options are structured, i may play with creating a Scheme importer/translator for such.
<gnucode>mirai: thanks!
<unmatched-paren>the lowerable objects all have compilers defined using ``define-gexp-compiler'' which automatically turn them into derivations when necessary
<a12l>unmatched-paren: I'll have to look into that :)
<unmatched-paren>a12l: have a look at guix/gexp.scm, e.g. ``(define-gexp-compiler (local-file-compiler ...) ...)''
<a12l>I feel that I'll have to get used to Guile before I look at Guix more.
<a12l>Still learning the basics, so many questions when reading the code examples in the manual
<a12l>But it feel doable
<unmatched-paren>a12l: these papers are really helpful:
<unmatched-paren> https://arxiv.org/abs/1305.4584
<unmatched-paren> https://arxiv.org/abs/1709.00833
<a12l>Thanks for the links!
<a12l>It feel that Guix has a lot more documentation about how it works than Nix. While Guix does have fewer features (and I don't have much for FSF), I do really appreciate that there exist approachable material :D
<unmatched-paren>what features are missing?
<a12l>Packages, modules, Flakes, etc (not restricting it to the `nix` or `guix` tools).
<unmatched-paren>...packages?
<a12l>But Guix also have tools that nix doesn't have, e.g. the `guix * container` commands
<unmatched-paren>packages are right here <https://guix.gnu.org/manual/devel/en/html_node/Package-Management.html#Package-Management>
<unmatched-paren>what do nix modules and flakes do?
<a12l>Are you criticizing my use of the term /packages/? Or did you interpret me as if I said that "guix doesn't have packages"?
<unmatched-paren>a12l: I'm not sure what you mean by "Nix packages", is all :)
<apteryx>civodul: I've now sent "[PATCH] gnu: linux-libre: Enable building html and info doc." in case you're interested to get your hands on TheLinuxKernel.info.gz quickly ;-)
<a12l>I think the correct term is "components" (from Dolstra's thesis), i.e. the output of derivations. What I'm saying is that the output of Nixpkgs contain many more installable applications than Guix seem to contain (several applications I've searched for isn't "packaged" in Guix). With NixOS modules I mean that there's a lot more settings for easily enabling applications that has some server part, etc.
<unmatched-paren>a12l: So, are modules for running things?
<a12l>E.g. I only need to add `services.zerotierone.enable = true;` to my config for Zerotier to be installed and services be activated, etc.
<rekado>we don???t use NixOS modules; we use system services.
<rekado>a12l: same level of convenience
<unmatched-paren>yup ^
<unmatched-paren>specifically service-types that extend shepherd-root-service-type
<unmatched-paren>or home-shepherd-service-type for guix home
<rekado>I think it???s a good idea to familiarize yourself with the terms we use, or else conversations here are not going to go beyond confusion.
<a12l>Yes, I meant that from what I understand and see is that Nixpkgs contains more NixOS modules, than Guix contain system services, currently
<unmatched-paren>a12l: Ah, yeah, I thought you meant Guix didn't have packages in the same way as Guix does.
<unmatched-paren>s/Guix does/Nix does/
<rekado>a12l: you can also extend any service in the graph, and extend them in different ways
<unmatched-paren>It's quite easy to submit packages and services for inclusion in Guix: https://guix.gnu.org/manual/devel/en/html_node/Contributing.html
<unmatched-paren>i find Contributing to be pretty comprehensive
<a12l>rekado: I'm trying to do that, but it takes time to learn a new way to program (lisp) and a new ecosystem.
<unmatched-paren>a12l: well, we'll be happy to help anytime you need it :)
<a12l>thanks :)
<unmatched-paren>scheme introduction: https://spritely.institute/static/papers/scheme-primer.html
<mirai>it could maybe expand a bit further on how to really "work" with the recommended setup that is emacs+geiser+???
<unmatched-paren>mirai: perhaps
<a12l>thanks, I've actually finished reading that a couple of days ago but I actually need to get used to reading and writing it.
<rekado>FWIW I rarely use geiser when writing package definitions.
<anuser>If anyone is able, please help with guix home. Failing to use even a simple example from the handbook due to service home-bash-service-type. Using only packages but no services seems to work. Simple .scm + error output: https://paste.debian.net/1260918/
<rekado>anuser: I don???t know the context but the error is a type error
<rekado>???append??? works on lists, not on #<location ...> values
<mirai>for someone who hasn't touched emacs nor its associated utilities it's just a big '?' hoovering over their heads
<nckx>anuser: There must be some new guix home bug, unless you've reported this bug 5 times today.
<rekado>mirai: you don???t need to touch Emacs at all if you don???t want to.
<nckx>I don't see the link with emacs?
<anuser>No I have not reported this error. I did guix pull today after not using this system for ~6 months, and my previous Guix home .scm file no longer works. After inspection I found that the error occurs with any service home-bash-service-type definition.
<anuser>nckx: Are you telling me this is a reported bug already?
<unmatched-paren>nckx: "it could maybe expand [on using] emacs+geiser+???"
<unmatched-paren>anuser: even (service home-bash-service-type)?
<nckx>unmatched-paren: Maybe???
<nckx>anuser: I'm just saying I've seen people mention that ???expecting empty list??? ???error??? several times today. Apart from that, no idea, I just got here :)
<anuser>unmatched-paren: Yes. See for example this: https://paste.debian.net/1260921/
<unmatched-paren>huh
<unmatched-paren>anuser: what commit are you on?
<anuser>You can also test it locally with a .scm file and the guix home container command.
<unmatched-paren>ACTION pulling and trying container
<anuser>unmatched-paren: 785fd09af0e161906e984944ddae363c384b66dd
<anuser>I pulled a few hrs ago.
<unmatched-paren>(i'm using home-bash-service-type, but i haven't experienced this)
<anuser>As I said my previous config was using this without problems, but haven't upgraded in a long time due to lack of time.
<mirai>rekado: I find scheme "easier" to work in "emacs" (at least when it comes to indenting)
<unmatched-paren>mirai: yup, i do too
<unmatched-paren>anuser: oh, yes, i get this too
<unmatched-paren>oh, i get it without even pulling
<rekado>mirai: me too. I do almost everything in Emacs. But it???s not *necessary* to use Emacs in order to contribute to Guix.
<anuser>unmatched-paren: Thanks for checking. Hopefully it will be fixed soon then.
<rekado>I also don???t find it particularly useful to involve geiser when writing package definitions
<mirai>so I don't exactly mind giving it a try but this "all wonderful" guix development setup that is described in the manual doesn't actually cover how to "operate" it
<rekado>(I do most of the work in M-x shell)
<mirai>maybe not for packages but perhaps... service definitions and other misc stuff?
<unmatched-paren>anuser: could you try using git bisect to find the commit that started this?
<anuser>Where is the git repo in the filesystem on Guix System?
<mirai>I'm pretty sure that I'm probably doing things in a horribly inefficient manner that could be avoided (after all, its as if I'm using plain emacs only)
<nckx>unmatched-paren: ???ah yes, I had conflated mi???rai and an???user mentioning emacs. Never mind.
<unmatched-paren>I'm using evil and I find it to be better than vim :)
<anuser>unmatched-paren: I'm not sure where the git directory is located so not sure how I can do git bisect. Also not experienced with Guile at all...
<unmatched-paren>anuser: you don't need any guile :)
<unmatched-paren>just clone https://git.savannah.gnu.org/git/guix.git
<unmatched-paren>try to find the commit adding home-bash-service-type
<nckx>anuser: As an implementation detail, you'll find a guix checkout in ~/.cache/guix/checkouts/$longhash matching your last pull. But there is no ???Guix git checkout??? as a rule.
<unmatched-paren>and do a bisect from there with that guix home container -n command
<anuser>Never heard of git bisect before. Seems very handy. Another reason for my employer to switch from SVN!
<mirai>What can I do to allow for "multiple instances" in this service definition (https://paste.centos.org/view/f651182f)
<mirai>the #:log-file parameter definitely requires changes but what's ideal here?
<unmatched-paren>mirai: use multiple (shepherd-service ...)
<unmatched-paren>and make each one use (list (string->symbol (string-append "mympd-" ...))) for provision
<anuser>unmatched-paren: https://paste.debian.net/1260924/ So I ran git bisect and it found some commit, but I don't think it's correct since the commit is very old and is only changing etc/news.scm.
<minima>(fwiw, i also appear to be affected by the guix home glitch, as reported by anuser)
<unmatched-paren>anuser: that's odd
<unmatched-paren>i'll try running bisect
<anuser>Maybe I'm using it wrong. You can see the commands I used in the paste above...
<anuser>Btw. the "good" commit I used was the previous generation I had from guix pull.
<mirai>unmatched-paren: multiple (shepherd-service ...)?
<anuser>I'll check back a bit later to see if anyone discovered anything
<unmatched-paren>anuser: looks like that commit it ended up on was simply the one after the one you marked as good
<anuser>unmatched-paren: I see. Probably I was using git bisect wrong in that case.
<mirai>maybe I'm misunderstanding but I'd like to make it possible for someone to specify (mympd-service-type) more than once
<mirai>as independent instances listening on different ports for example
<nckx>Odd. When I run ???guix home build??? I get the error. When I run ???./pre-inst-env guix home build??? I don't.
<nckx>ACTION cleans & rebuilds.
<abhicherath[m]>hmmm I'm trying to run a node program that depends on GLIBCXX_3_4.29 (which should use gcc 11) and it builds fine, but at runtime links against gcc-10. How do I resolve this without LD_PRELOAD stuff?
<Luchadoritos>nckx: Current guix home from pull is wonky when I checked last night
<nckx>But why would ./pre-inst-env ???fix??? it? That's what I don't get. Maybe I had some mtime wonkiness built up in my git folds, we'll see if a ???make??? changes that???
<efraim>nckx: in regards to making curl-ssh a hidden package, no idea why I said that originally, but I assume so it wouldn't be confusing when looking to install curl
<nckx>Got it. It creates an interesting situation where ???guix show julia??? says ???dependencies: ??? curl ?????? though (which is why I stumbled upon curl-ssh in the first place).
<nckx>I think it makes more sense to export it as curl-with-ssh instead. But it was admittedly a bit of a tangent.
<nckx>OK, after bootstrap && make I do now get the error. So whatevertheheck that was about.
<gabber>on my freshly installed pine64 board i have a system where my first generation has no valid certificate to `guix pull` and my newer generations throw a "unsupported manifest format" error. is it possible to pull via HTTP (without TLS)?
<nckx>Does --url=http:// (or, god save us all, git://) not work?
<nckx>Should ???guix pull??? disable certificate expiry validation to avoid such unnecessary deadlocks?
<nckx>I guess downgrade attacks could be a concern.
<nckx>No, what's the term???non-upgrade attacks :)
<gabber>with http: i get a "Git error: invalid content-type: 'text/html'"; with ssh i get an authentication error
<gabber>but shouldn't -- on a recently built image from an up-to date machine (if not the up-to-date repo itself) -- the image include up-to-date and valid certificates?
<nckx>ACTION did not suggest ssh:// for that reason, but http:// works fine. ????
<nckx>What do you mean ???if not the up-to-date repo itself????
<gabber>i built the pine64.scm image from the up-to-date guix repo.
<nckx>Then I don't get the ???if not???, but it seems not to matter.
<gabber>sorry, i might not be wording as clearly as i should
<gabber>git:// seems to work :)
<nckx>I thought you meant ???old Guix on an up-to-date machine???. And the up-to-dateness of the OS wouldn't have mattered, only that of Guix. That's why I asked.
<nckx>Guix does not go looking for random stuff on your host machine to throw into the image. It is unlike other distributions that way.
<pkill9>feels good to fix an issue
<nckx>I do not see nss-certs included in the pine64.scm example?
<nckx>gabber: ???
<nckx>Are you sure they're not just missing, instead of old?
<nckx>I didn't check deeply, maybe they are inherited elseways.
<gabber>you're right, they aren't there. i updated my system configuration by adding the package separately
<nckx>pkill9: Have I got some good news for you: there are??? several.
<nckx>gabber: I think they would make a good addition to the template, or whatever pine64.scm is supposed to be.
<nckx>If you want to add to that pile of issues. :)
<gabber>i think so, too :) i'd be even happier to add to the pile of pull-requests ;)
<gabber>btw git:// times out
<kori>hey yall, I have recently installed guix on two of my machines and I'm still getting into the groove of things, I just found out that I should probably be looking around the Guix blog because it has some nice tutorials, does anyone else have more recommendations on how to get more familiar with the usual workflows?
<nckx>gabber: We use a patch mailing list, but even better! Contributing is not much harder (in fact I find the PR-based flow used by, e.g., GitHub, a lot more tedious busywork).
<gabber>are you sure http: isn't a redirect to https and works because you have valid certs installed?
<nckx>gabber: Both http: and git: work for me, so there seems to be something about your network making it harder/slower.
<nckx>gabber: I checked with curl, but not without certs.
<gabber>my network seems fine; i can ping and wget gnu.org
<nckx>Not quite the comprehensive test. Anyway, good idea, I'll try http: without nss-certs out of curiosity.
<nckx>Updating channel 'guix' from Git repository at 'http://git.savannah.gnu.org/git/guix.git'... ??? receiving objects 3% [##???
<gabber>hmmm
<nckx>I even moved /etc/ssl out of the way ???just in case???.
<nckx>And it's enough to break curl: curl: (60) server certificate verification failed. CAfile: none CRLfile: none
<nckx>That's not 100% bullet-proof evidence, but it's something.
<nckx>gabber: Does git: time out during the transfer (>0%) or before?
<gabber>before
<morganw>Is the date and time set correctly?
<nckx>gabber: See, that just screams firewall or other network issue.
<lechner>Hi everyone! Glad to see things are so active here
<gabber>morganw: i think that's it!
<gabber>git pull works now (i exited a `guix shell nss-certs`)
<nckx>Wait you said you had no certificates.
<gabber>date is set to 4h after UTC0
<gabber>apparently `guix shell nss-certs` put me into a shell
<nckx>Sure.
<nckx>It's not the *worst* named Unix command by far.
<mekeor[m]>kori: check out the manual (the devel version, not the stable version) and also the cookbook <https://guix.gnu.org/en/cookbook/en/guix-cookbook.html>
<gabber>thanks you two! should i also add an ntp-service-type and a dhcp-client-service-type to the pine64 config?
<mekeor[m]>how can i use node.js 16 on guix system?
<nckx>gabber: It seems like you think that would be a good idea, and I agree. I don't know the pine64 but I doubt it's so light-weight that they'll hurt.
<abhicherath[m]>hello! how do I tell the dynamic linker to use the libstdc++ from gcc-12 in guix shell?
<abhicherath[m]>(I'm guessing the path to the one in gcc-10 comes from base-packages or something but im not sure)
<mekeor[m]>abhicherath: hmmm, wildly guessing: did you try guix shell --pure?
<abhicherath[m]>mekeor[m]: I've taken to using nvm and just setting the path using direnv in some directories
<abhicherath[m]>For node 16 and 18
<mekeor[m]>abhicherath: so nvm works just fine?
<abhicherath[m]>Well I try not to use it in conflict with thr base system, might have issues if you also use node 14 from guix
<nckx>???guix shell??? doesn't have base packages. Either your host system bleeds through (without --pure) or your shell has only what you told it to (with --pure, and including any propagated-inputs).
<abhicherath[m]>mekeor[m]: Actually now that I check right now I just have the binaries in a directory that I source using direnv
<abhicherath[m]>Its a hack, but I keep procrastinating figuring out the build ????
<nckx>Is node as daunting to upgrade as the .js part makes it sound?
<abhicherath[m]>O there's an open patch for node 16
<abhicherath[m]>Issues.guix.gnu/53414
<itd>I'd like cuirass to build all packages of all branches of a git repository. (Each branch as separate specification.) Without explicitly listing the branches. Is that feasible?
<mekeor[m]>nckx: it's 154 lines of package declaration
<apteryx>nckx: no
<apteryx>node itself is easy
<nckx>mekeor[m]: The patch is less scary than I expected :)
<abhicherath[m]><nckx> "???guix shell??? doesn't have base..." <- Hmm so guix shell --pure node gcc
<nckx>Right. The blocker seems to be a (technically) ???minor??? freedom audit.
<mekeor[m]>indeed! nckx
<nckx>abhicherath[m]: Use gcc-toolchain, not gcc.
<abhicherath[m]>Ahhh derp
<abhicherath[m]>Thank
<nckx>I think gcc being public is a bug? Didn't check. It's surprising!
<nckx>No derp on your part.
<abhicherath[m]>Hmmm weird, the dynamic linker still uses 10.3
<nckx>:-/
<abhicherath[m]>And actually I don't see libstdc++ in my .guix-profile/lib either
<mekeor[m]>abhicherath: guix shell does not change your guix profile, afaik
<nckx>No.
<abhicherath[m]>But I installed gcc-toolchaim
<abhicherath[m]>To my profjle
<mekeor[m]>it's only a shell, not global
<abhicherath[m]>Yea but I have gcc-toolchain installed globally
<abhicherath[m]>Shouldn't that add libstdc++ to my profile?
<nckx>abhicherath[m]: C{PLUS,}_INCLUDE_PATH and friends point to gcc-12 here. How are you testing this? Please test with a pure environment first, way fewer moving parts.
<abhicherath[m]>Ye I tried with pure too
<nckx>There seems to be a missing intermediate step here rather than ???uses gcc-10???, because that's not obviously the case.
<abhicherath[m]>guix shell --pure node gcc-toolchain
<nckx>And then?
<nckx>E.g., does node even use the GCC that happens to be in the profile? Or does it use the GCC it was built with?
<abhicherath[m]> https://github.com/stackgl/headless-gl
<nckx>Both are plausible.
<abhicherath[m]>nckx: Oh that might be the issue...
<abhicherath[m]>abhicherath[m]: I was trying to run the first example there
<nckx>Disclaimer: I know a good bit about C but not about node.
<abhicherath[m]>The node-gpy stuff compiles and uses the system gcc
<abhicherath[m]>But at runtime dlopen tries /gnu/store/xxxx-gcc-10.3.0-lib/libstdc++
<abhicherath[m]>And errors out with GLIBCXX_3.4.29 not found
<mekeor[m]>nckx: whats the best way to work on this patch? download it via browser, then apply it in a local clone? or is there a nice emacs interface to issues.guix.gnu.org?
<nckx>There's emacs-debbugs. I don't know if it's nice. I personally use the first workflow, but with s/browser/mu4e/ .
<abhicherath[m]>So when the compiled nodejs calls dlopen, does it look in paths its been compiled with?
<gabber>What's the better style for my patch(-set): one commit titled "Update pine64-barebones-image" with the three changes explained in the text, or three commits, one for each addition (nss-certs, dhcp, ntp)?
<unmatched-paren>gabber: probably three commits
<unmatched-paren>remember to use ChangeLog for commit messages
<unmatched-paren>and use https://guix.gnu.org/manual/devel/en/html_node/Submitting-Patches.html#Submitting-Patches :)
<nckx>And every commit ???updates??? something, avoid that meaningless usage.
<gabber>i always remember, but i've never made it 100% -- it has always been edited afterwards
<nckx>That's all right as long as you keep trying.
<gabber>nckx: makes sense
<gabber>:)
<abhicherath[m]>Hmm looking at the node package source rpath is not set for gcc
<abhicherath[m]>For libstdc++ rather
<gabber>so... would "gnu: system: images: pine64: Add nss-certs" be a good/valid/nice header for one of my commits?
<nckx>gabber: Sure! Just ???system: ??? as prefix though, and yes, that's just something you'll learn to know.
<abhicherath[m]>Well the program runs with LD_LIBRARY_PATH pointing to the correct gcc
<abhicherath[m]>Hmmm
<nckx>gabber: ???system: Add nss-certs to pine64 image.??? or so.
<gabber>awesome! and i won't have to append anything to that message since there's nothing more to say (no variable addition etc)?
<unmatched-paren>gabber: what's the change exactly?
<unmatched-paren>like, *exactly* :)
<apteryx>rekado: I can't currently reconfigure berlin, I get a backtrace :-l
<apteryx>ACTION goes afk
<gabber>unmatched-paren: https://termbin.com/z7a7
<nckx>gabber: The commit message doesn't change based on the title chosen, if that's clear. The message would be something like * gnu/system/images/pine64.scm (pine64-barebones-os): Add nss-certs to the list of packages.
<nckx>Written before you pasted that.
<gabber>aaaahhhh, ok :)
<unmatched-paren>gabber: Probably * gnu/system/images/pine64.scm (pine64-barebones-os)[packages]: Add nss-certs.
<gabber>thanks, you two!
<nckx>Yep.
<unmatched-paren>Maybe you should put them all in one commit, actually...
<unmatched-paren>This seems too small to split.
<nckx>What are the other changes?
<sash-kan>hi all!
<sash-kan>command `$ guix refresh --recursive coreutils`
<sash-kan>returns error: `X.509 certificate of 'nongnu.freemirror.org' could not be verified: expired invalid`.
<sash-kan>really: `$ : | openssl s_client -connect nongnu.freemirror.org:443 2>/dev/null | openssl x509 -noout -enddate`
<sash-kan>returns `notAfter=Oct 18 12:46:29 2022 GMT`.
<sash-kan>if the server does not update the certificate, maybe it should be excluded from the list of mirrors?
<unmatched-paren>sash-kan: please use paste.debian.net for code and command output :)
<gabber>the others are: add dhcp-client-service and add ntp-service
<nckx>sash-kan: You got quieted by a robot! This makes you very sad and costs you 12 XP, but has expired now.
<nckx>gabber: I agree with (.
<nckx>One commit.
<nckx>So cons ??? cons* but you probably knew that.
<unmatched-paren>for that, try this:
<abhicherath[m]>nckx @nckx:libera.chat: I figured it out!! It tries the search cache in /gnu/store/xxxx-node/etc/ld.so.cache
<nckx>Ah, a feature becomes a bug!
<nckx>I did not suspect that vector, to be honest.
<unmatched-paren>gabber: https://paste.sr.ht/~unmatched-paren/65cf1ef0c93026493f49a03fcc5d0cc712610c96
<abhicherath[m]>Ah is this a bug? Should I file a report?
<unmatched-paren>actually, since it's under ``gnu/'', should it maybe be ``gnu: images: ...''?
<gabber>unmatched-paren: awesome, thanks!
<gabber>nckx said i should just use `system:'
<nckx>abhicherath[m]: Well, the cumulative effect seems to be an undesirable one. As I said earlier, don't know node well. Is being ???stuck??? at GCC@10 a serious drawback?
<abhicherath[m]>I ran it with LD_DEBUG=all to find what's going on haha
<abhicherath[m]>nckx: Only with packages that use node-gyp
<nckx>LD_DEBUG is a great thing.
<abhicherath[m]>So the idea is there's some packages that have dependencies on c libraries
<nckx>abhicherath[m]: I think it's worth reporting just so it can be discussed amongst people who know node.
<abhicherath[m]>And there's this build tool called node-gyp that uses python and builds the packages
<abhicherath[m]>And that tool ends up using the system C++
<abhicherath[m]>So not sure what the solution here is, but I'll put in a bug report, see if people with more experience have better idead
<nckx>abhicherath[m]: IC. So every individual part makes sense, but the combined result is nonsense. Sounds good.
<nckx>sneek: later tell sash-kan: Makes sense. Changed, will push later. Thanks!
<sneek>Okay.
<nckx>sneek: ???if they ever show up. Botsnack!
<sneek>:)
<nckx>ACTION 's guix checkout is still running git bisect.
<gabber>thanks y'all! i'll build and test the images and then send in the patches. gotta go now
<nckx>o/
<old>Trying to upgrade my guix-home and got an error with home-bash-configuration: https://paste.sr.ht/~old/1f11fb6c73cfcb3634069e3bcdb0dd314be9c212
<old>Idea?
<unmatched-paren>old: this has been reported just now
<old>oh okay
<old>Will upgrade later then ^^
<mekeor[m]>nckx: i guess, your workflow only works if one is subscribed to the bugs mailinglist?
<nckx>That would indeed be a requirement.
<nckx>I just tried M-x debbugs-gnu again. It's a bit slow but I guess it would be equivalent.
<nckx>2 slow 4 me.
<tricon>i like email-based workflows as there is so much tooling and support available for email management; and each user can use what they please.
<mekeor[m]>i don't to subscribe to the bugs mailinglist tho
<nckx>tricon: Agreement.
<nckx>mekeor[m]: Maybe <https://lists.gnu.org/archive/mbox/guix-patches/> would be helpful to some people.
<mekeor[m]>apparently rekado once submitted a patch to debbugs to support mu4e. lets see if it has been merged....
<mekeor[m]>no, it has not been merged, unfortunately
<rekado>it wasn???t a very good patch anyway :)
<gnucode>nckx: you might try debbugs-guix-search I just merged that into debbugs. :)
<gnucode>I also think that debbugs-gnu-my-open-bugs is kind of nice too.
<nckx>gnucode: Nice! Also slow, though, I presume because there's no index? Not that I know.
<mekeor[m]>gnucode: pretty awesome, congrats!
<nckx>???it's still Querying the Bugs???
<nckx>???did I make a terrible mistake searching for ???guix??????
<mekeor[m]>same for me
<mekeor[m]>i got response, searching for "node"
<nckx>Hmm. And it does the fun emacs thing where it freezes everything.
<nckx>Still querying.
<nckx>I like the idea but I'll have to pass.
<mekeor[m]>just C-g that :D
<nckx>^G
<nckx>Yep.
<nckx>ACTION tries debbugs-gnu-my-open-bugs instead!
<nckx>It works! The people rejoice! How does it know who I am! Help!
<nckx>Does it go through smtpmail?
<gnucode>nckx: the main differance is that debbugs-gnu-guix-search only searches for open guix related bugs. debbugs-gnu-search searching for all open and closed gnu bugs...very slow in my opinion.
<nckx>I used debbugs-gnu-guix-search though.
<mekeor[m]>i wonder why its not async tho
<gnucode>nckx: you are talking about debbugs-gnu-my-open-bugs? which searches for open bugs in which you are the submitter.
<gnucode>it relies on user-mail-address. If that is not defined, it won't work. :)
<mekeor[m]>all of debbugs.el is slow and freezes emacs. i'll pass, too
<nckx>Right, that's what I meant by smtpmail. Which I had set up for mu4e, so it's all magical. Nice.
<nckx>I'm also one of those chumps who puts their real name in /etc/passwd, so I thought perhaps it was getting it that way.
<gnucode>mekeor[m]: I personally really like how issues is presented. It's very obvious which bugs are open or not. debbugs confuses me. because most of the time I do not know if the bug is open or not.
<mekeor[m]>gnucode: are you referring to issues.guix.gnu.org with "issues"? i'd love to avoid a browser and find a nice fast emacs workflow
<gnucode>mekeor[m]: yes.
<mekeor[m]>nckx: do u have a hint how to import the mbox archives?
<nckx>That depends entirely on your MUA.
<nckx>Also, no ????
<gnucode>mekeor[m] I actually REALLY like debbugs when submitting control email messages. It's really easy to close or tags bugs in doom Emacs. ivy completion prompts you and it's really slick.
<nckx>See, that's the kind of thing that makes me (re)try it every year or so, but then get reminded of the speed :)
<ss2>gnucode: Theres's C-u M-x debbugs-gnu-search to narrow down your search, though it can be clunky at times.
<mekeor[m]>nckx: mua?
<gnucode>ss2: that's why I wrote debbugs-gnu-guix-search :) Though I had a lot of help writing it. :)
<gnucode>mekeor[m]: mail user agent
<ss2>ah, I read that then. :)
<gnucode>in this case I think that is gnus, not-much, thunderbird, etc.
<nckx>Right. ???Mail programme???.
<mekeor[m]>isync + mu4e...
<ss2>Though I eventually found out that it is possible to subscribe to certain "packages" (I think it is called so) where debbugs will default to searching for whenever you fire up debbugs.
<gnucode>ss2: hmmm, my understanding was the debbugs will always search for all open/closed bugs. emacs, guix, make, etc. all packages
<apteryx>rekado: have you read the "2.1.38.85 Early creation of mapped devices" in the Linux kernel doc? It suggests an alternative, non initrd way to setup a root mapped device, via the dm-mod.create kernel argument
<apteryx>wonder if this could perhaps be an easier path to enable multipath
<ss2>have a peak into: debbugs-gnu-default-packages, and customize-group debbugs-gnu.
<gnucode>ss2: I thought I had tried that. maybe I'll try again tomorrow. currently @ work. no guix to play w/. :(
<nckx>mekeor[m]: https://github.com/djcb/mu/issues/1196 no native support, I'm afraid.
<lechner>Hi, what's a favorite port besides 80 for guix-publish-service-type, please?
<nckx>Seriously, whatever you want. The default 8080 is as good as any.
<nckx>Others will get hit slightly less by bots, but eh.
<lechner>nckx / 4849 spells G-U-I-X
<lechner>but it's privileged, right?
<nckx>(Nice.) No.
<nckx>1024 and up are not.
<lechner>mine is on 80 by default
<lechner>well, someone is, on 147.185.47.222
<mechalain>Hi there, has the Guix home issue been reported?
<nckx>Yes.
<mechalain>ok cool
<nckx>lechner: I don't really know what you're talking about. There is a discrepancy, though, yes: ???guix publish??? defaults to 8080; but the ???guix-publish-service-type??? overrides this to 80 by default.
<nckx>mechalain: Literally, as you ask this, the bisect finishes and blames commit 543d971e.
<lechner>nckx / thanks!
<nckx>I'm not entirely sure that's not a bogus result, but I'll take a looking.
<mechalain>nckx: where's a good place to keep track of the bug report ?
<nckx>mechalain: Nowhere yet, I'm not aware of a bug#, but it was reported several times here, today. If I don't find the cause before I go to bed (which is likely), I'll file one.
<nckx>apteryx: Around?
<mechalain>while im waiting for guix home bash config to work again lol: Whats the correct way to configure a bash prompt with the user bash extensions? I have been unclear on how to use the example provided in the manual.