IRC channel logs


back to list of logs

<zacque>Good morning #guix
***sebbu3 is now known as sebbu
<apteryx>why are mariadb's binaries so fat? 24M /gnu/store/97kwzhybpbvqjqmd85rchj6f12frrisw-mariadb-10.5.12/bin/mariadb-backup
<apteryx>rekado_: by the way, nice to see you around here!
<euandreh>It seems that "guix deploy" doesn't run the "activation" similar to how "guix system reconfigure" does. Is that true?
<apteryx>hmm, another mariadb failing test... perfschema.prepared_statements w18 [ fail ]
<apteryx>euandreh: maybe! I know that switching system generations doesn't
<apteryx>there's an issue about it, IIRC
<Guest72>to install this driver i have to run a script provided by the git repo called
<Guest72>but i cant since as you know we cant just run random scripts from the web on guix
<Guest72>any idea how to solve this?
*apteryx yawns at the nss test suite
<apteryx>Guest72: we already have a driver package rtl8812au-aircrack-ng-linux-module
<apteryx>it says it supports RTL8812AU, RTL8821AU, and RTL8814AU chips
<Guest72>oh ill try it
<apteryx>so add this to your config, like e.g.: (kernel-loadable-modules (list rtl8812au-aircrack-ng-linux-module))
<apteryx>(I'm using it on a laptop with a USB wifi dongle)
<Guest72>i have another question
<Guest72>is it possible to use a static ip with networkmanager on guix
<apteryx>sure, but not declaratively I'm afraid (you'll have to use nm-connection-editor or nmcli from the terminal)
<Guest72>i see
<Guest72>another question
<Guest72>how can i see which package provides a specific binary
<Guest72>like on arch we have pkgfile
<Guest72>i got sick with covid
<Guest72>so this is a great time to perfect my guix config since im in isolation
<Guest293>i need to run a command on startup to change my local ip address
<Guest293>sudo ip addr remove dev wlp0s20f3
<Guest293>this is the command
<Guest293>what is the best way to do this?
<dhruvin>Guest293: Are you using guix system, or guix on foreign distro?
<Guest293>guix system
<Guest293>i know static-networking-service exists but can it be used with networkmanager
<dhruvin>One way (not sure if it's best though) is to define a service.
<Guest293>ye static-networking-service doesnt work with networkmanager service
<dhruvin>Don't know much about networking. Maybe someone else can help. Meanwhile you can give this a try
<Guest293>ight thanks bro
<Guest293>how do i install guix on raspberry pi
<Guest293>do i generate an iso for aarch64 or what
<Guest293>do i have to do it from raspberry pi itself tho
<Guest293>or can i just do it from my laptop
<Guest293>to generate the iso
<civodul>Hello Guix!
<sneek>Welcome back civodul, you have 2 messages!
<sneek>civodul, apteryx says: about the hook, it seems quite zippy; haven't measured though.
<sneek>civodul, apteryx says: I'm not sure we can get rid of hooks entirely, just as we can't get rid of search paths or wrappers; it's good to try to minimize them and have them blazing fast or precomputed though, as you had mentioned.
<vivien>Hello guix!
<vivien>Is there a problem with icecat? Or is it just me?
<smartin>there are many problems with icecat :P
<razor[m]1><smartin> "there are many problems with..." <- i just installed icecat
<razor[m]1>and fonts are not rendering
<smartin>razor[m]1: To fix fonts rendering I'm using this workaround with lowering sandbox level inside icecat
<vivien>It’s not just fonts, menu buttons are gone.
<vivien>I’ll try good old rebooting
<jpoiret>mhmmmm, woke up and rust-1.42 has failed
<jpoiret>with sigsegv too, good day ahead
<jpoiret>most jobs on the CI were started 7 hours ago: is that a bug? (i'm beginning to think ci will build faster than me aha)
<vivien>jpoiret, don’t worry, you will still enjoy compiling rust :)
***isolier3 is now known as isolier
<jpoiret>re swap and hibernation: one thing i've been thinking about since yesterday is how can we prevent generation mismatch between an initrd and the resumed kernel it sets up?
<wigust->hi guix
<nckx>Morning Guix!
<nckx>+ wigust.
<nckx>‘Cannot build missing derivation’ is still happening: <>
<nckx>Maybe that explains the 1011 new failures on master…
<nckx>…actually, it might do. Restarted.
<nckx>jpoiret: <how can we prevent generation mismatch between an initrd and the resumed kernel it sets up> Oh? Could you explain more?
<jpoiret>well if I'm not mistaken, one of the possible paths for hibernation -> resume is to let the initramfs load the resumable image (this is what is done on arch for example), but if the user `guix system reconfigured` in between there could be a mismatch between the system used by the suspended image and the initramfs launched by grub
<jpoiret>(couldn't find yet if the ACPI S4 state has a different path than just cold booting to initramfs and letting it handle the resuming operation)
<jpoiret>the good news is, the suspend/resume features of the kernel have a pretty simple userspace interface via some device, which i could leverage to write a completely custom suspend/resume procedure in the guile initramfs
<jpoiret>and so we could track the system generation associated to a resumable image, along with writing it wherever we would want, possibly with compression (zstd is a good candidate)
<nckx><let the initramfs load the resumable image> Only the kernel can resume, but our initramfs asks it to:
<nckx>Trying to resume without an initramfs has all the fun of booting without one: you can resume only from devices built into the kernel *and* available at early boot time.
<nckx>Your 3rd and 4th messages lose me 😛
<nckx>Where's the possible mismatch here?
<jpoiret>nckx: the mismatch (to me) is that you're telling Grub to boot system generation n+1 but you'll get initramfs-n+1 -> kernel-n
<nckx>You mean initramfs-n -> kernel-n?
<nckx>Or wait, I see, but what does it matter?
<vivien>Let’s hope kernel-n has not been garbage collected by the way
<nckx>That's fine.
<nckx>kernel-n doesn't have to exist to resume kernel-n.
<jpoiret>no worries, you have the whole image
<rekado_>I get to download librsvg now instead of having to build all that rust
<rekado_>still gotta build inkscape and gtk, though
<nckx>jpoiret: So what happens in your scenario is you get (kernel n+1 & initramfs n+1) → (kernel n & initramfs n). No mismatch.
<nckx>With → being ‘resumes the hibernation image from swap’.
<jpoiret>yes but that still means that a newer generation is asked to resume an older generation, which might not interact well (ie the resuming mechanism has changed), and is also "breaking the promise" of loading the newer generation
<jpoiret>may have changed *
<jpoiret>for the suspend/resume interface, see
<jpoiret>but on the other hand, discarding an hibernated image could lead to simply data loss
<pinoaffe>hi folks, I just did a `guix pull` and was kinda surprised to see that "yaml.el" was packaged as "emacs-yaml" rather than "emacs-yaml-el" - I think this is inconsistent with how other packages are (re)named in guix
<jpoiret>on a related note: can i use channels with ./pre-inst-env in a simple way? i kinda hijacked GUILE_LOAD_PATH previously with the built channel in the store, but it's not very clean
<nckx>jpoiret: <ie the resuming mechanism has changed> Has this happened in practice? It sounds like a hypothetical problem otherwise, whilst adding real complexity that could lead to real bugs.
<nckx>jpoiret: uswsusp isn't relevant to Guix.
<nckx>Well, Guix's hibernation support.
<nckx><can i use channels with ./pre-inst-env in a simple way> I don't *think* so.
<nckx>jpoiret: <whilst adding real complexity that could lead to real bugs> I was implicating uswsusp by the way, before seeing your link 😉
*nckx .oO I guess we have no colourblind Guixers:
<nckx>Or someone's hiding secret messages in build failures to gossip about them.
<vivien>Why did commit 727f05e1e285aa52f5a19ec923fdc2259859b4b1 caused such a large rebuild on core-updates-frozen?
<nckx>vivien: Couldn't it be anything ‘git log --format=oneline 0df1eb0..727f05e’?
<vivien>I don’t know, maybe yes it’s older than that.
<mbakke>vivien: I think the big rebuild was caused by the merge of a recent (non-big-rebuild) update of 'c-ares' on "master" in e486b2b674badc80627b11077b7df2ac1cab92d8
<Guest85>how do i even correctly load modules lol
<Guest85>im trying to load a module i wrote but guix cant find it
<Guest85>even tho the filepath corresponds to the module name
<vivien>The module needs to be in guix load path, use the -L argument
<vivien>guix do-something -L where/the/module/is
<Guest85>oh --load-path u mean
<Guest85>ye that works lol
<Guest85>thanks lol
<Guest85>wait huh
<Guest85>guix system: warning: failed to load '(config)':
<Guest85>no code for module (config)
<Guest85>hint: File `./config.scm' should probably start with:
<Guest85> (define-module (config))
<vivien>So, you need to pass --load-path=.
<Guest85>ye i did
<Guest85>sudo guix system reconfigure config.scm --load-path=.
<vivien>Oh, so that’s not necessary
<vivien>(--load-path is not necessary)
<Guest85>ye but its not working lol
<vivien>We need more information then :)
<Guest85>guix system: error: failed to load 'config.scm':
<Guest85>ice-9/boot-9.scm:3329:6: In procedure resolve-interface:
<Guest85>no code for module (packages sxiv)
<Guest85>this is the error
<Guest85>i have a module at packages/sxiv.scm
<Guest85>(define-module (packages sxiv)
<vivien>Ah, so you need the load-path x)
<vivien>Does the packages/sxiv.scm module start with (define-module (packages sxiv))?
<Guest85>huh i have to use --load-path on every module i write?
<Guest85>(define-module (packages sxiv)
<Guest85> #:use-module (guix packages)
<Guest85> #:use-module (guix git-download)
<Guest85> #:use-module (guix build-system gnu)
<Guest85> #:use-module ((guix licenses) #:prefix licenses:)
<Guest85> #:use-module (guix utils)
<Guest85> #:use-module (gnu packages image)
<Guest85> #:use-module (gnu packages photo)
<Guest85> #:use-module (gnu packages xorg)
<Guest85> #:use-module (gnu packages fontutils))
<vivien>You need to set the load-path if you define new modules that aren’t part of guix, or part of a channel.
<Guest85>why doesnt guix work like guile normally does?
<Guest85>shouldnt it be able to load modules according to their names?
<Guest85>i mean module names are the same as filepaths...
<vivien>You need to pass -L to guile too, if you define new modules.
<Guest85>nope if i export GUILE_LOAD_PATH to my current working directory it can just load modules on its ow
<vivien>Ah right, there’s an equivalent with guix but I don’t have a working web browser right now
<jpoiret>anyone know when the change from %outputs to outputs was made? first time i'm seeing this in a build phase
<vivien>Can you do: guix repl -L .
<vivien>and then (use-modules (packages sxiv))?
<jbv1[m]>Hello guix ! Question: what is your philosophy wrt other package managers like pip or Julia built-in Pkg.jl ? Should a user be able to use them in parallel with Guix ? Or should guix completely overtake package management duties ?
<jpoiret>guix should overtake package management duties surely. you should be able to use those package managers locally though as long as you don't mind them being stateful, and not understanding what guix does (possibly leading to mismatched dependencies)
<jpoiret>if you need a package that isn't in guix, you can most of the time import it with `guix import` though
<vivien>I don’t know if there’s an importer for julia
<zimoun>jbv1[m]: About Julia built-in Pkg.jl, it is probably currently broken.
<jbv1[m]>ok. I ask because I have a patch for the julia-build-system which allows julia Pkg.jl to "see" packages installed with guix and use them instead of trying to install them
<zimoun>vivien, not yet.
<jbv1[m]>is that something that would be welcome as an addition ?
<nckx>Sounds very much like it.
<Guest85>why does it say no code for my module
<Guest85>it can find it but it says no code
<singpolyma>jbv1[m]: sounds useful
<Guest85>scheme@(guile-user) [1]> (use-modules (sxiv))
<Guest85>;;; compiling /home/mahmooz/workspace/guix/packages/sxiv.scm
<Guest85>;;; WARNING: compilation of /home/mahmooz/workspace/guix/packages/sxiv.scm failed:
<Guest85>;;; no code for module (guix packages)
<Guest85>While compiling expression:
<Guest85>no code for module (guix packages)
<Guest85>oh no code for guix package
<zimoun>jbv1[m]: yes. IMHO, it is better to have something working than wait forever for the perfect thing. :-)
<Guest85>nvm it works lol
<jbv1[m]>ok I'll send it then.
<vivien>The "no code for module (guix packages)" seems serious
<zimoun>jbv1[m]: thanks. And if you have packaged Julia stuff, feel free to send them too. :-)
<jbv1[m]>yes I'll do too.
<Guest85>ok this is so confusing
<Guest85>(use-modules (packages sxiv)) this line works fine in guix repl
<vivien>I don’t think so
<Guest85>but doesnt work when reconfiguring system?
<Guest85>it does work i tried it
<vivien>This module should define a package, right?
<vivien>In guix repl, does this variable exist?
<Guest85>ye it defines a package sxiv
<Guest85>and it does exist yes
<Guest85>scheme@(guix-user)> sxiv
<Guest85>$1 = #<package sxiv@26 /home/mahmooz/workspace/guix/packages/sxiv.scm:13 7f5271b844d0>
<vivien>I’m not familiar with everything in sudo, but I think it modifies some environment variables depending on how you invoke it
<Guest85>nah when i export a variable it doesnt change when i run sudo
<vivien>When you run guix system reconfigure, do you have warnings?
<Guest85>guix system: error: failed to load 'config.scm':
<Guest85>ice-9/boot-9.scm:3329:6: In procedure resolve-interface:
<Guest85>no code for module (packages sxiv)
<vivien>And if you run guix repl with sudo?
<Guest85>cant see package
<vivien>Does it work better if you do sudo -E?
<Guest85>ye it does
<Guest85>youre right sudo drops env variables
<Guest85>i guess ill always have to run system reconfigure with sudo -E
<vivien>The most robust way is to put your package in a channel
<Guest85>guix system: warning: cannot determine provenance for current system
<jpoiret>you can whitelist which env variables are kept with sudo too
<Guest85>any idea why im getting this
<Guest85>vivien ye but its not always about packages i wanna write other kinds of modules
<Guest85>not necessarily modules that provide just packages
<jpoiret>your current system wasn't compiled with a guix version that supported provenance, it doesn't have any adverse effects
<Guest85>ohh thats cuz im on arch not guix lol forgot
<vivien>You can put anything in a channel
<vivien>(rephrase: you can put code for anything in a channel)
<vivien>Any module, if you will
<Guest85>can i generate an iso for my raspberry pi from my laptop?
<Guest85>or does the iso have to be generated from the device itself cuz of cpu architecture differences
<vivien>I would be surprised if you had to use the device itself to generate the iso, but maybe the iso won’t boot because of missing firmware
<Guest85>wait so a normal iso would work?
<Guest85>like do i have to build a special type of iso
<Guest85>or would the same iso i use for my pc work on it just fine?
<vivien>I’m pretty sure it would not work, but I think you can create the specific ISO on your laptop
<Guest85>alright thanks for the help guys cya
<jbv1[m]>patch sent ! (with duplicated cover letter 🤦)
<roptat>hi guix!
<nckx>Hi roptat.
<nckx>Questione: so (version-major+minor (package-version python)) probably breaks --with-input, but (1) do we care (2) what's the non-horrible-bad-string-parsing alternative?
<nckx>Because (string-take (string-take-right (assoc-ref inputs "python") 5) 3) sure ain't it.
<nckx>lib/python.7./site-packages whee.
***qzdl is now known as qqqzdl
***qqqzdl is now known as qzdl
<jbv1[m]>btw I think that some packages in julia-jll have unecessary dependencies, as the dependencies that are noted in "Project.toml" do not discriminate between building dependencies and runtime dependencies.
<talos>Hi guix, good day/afternoon/evening whereever y'all are
<jpoiret>mhmmm, guix builds on wsl seem to sigsegv a lot... so it's either: 1) build on wsl but some big packages can't be built 2) build on laptop and just freeze because i forgot to stop my browser beforehand
<vivien>The guix daemon uses some linux-specific stuff to build in containers, I wouldn’t take the risk to use it on wsl.
<jpoiret>wsl2 *
<jpoiret>wsl2 is just a virtualized real linux kernel, but alas
<jpoiret>also, i keep getting system freezes when guix building on my laptop where the only option is to forcibly power down the machine (even with swap on)
<jpoiret>shouldn't there be an oom killer or something like that?
<vivien>There’s one, but you need to fill your memory and your swap
<jpoiret>but isn't that exactly what's causing the freeze?
<jpoiret>oh actually i might know
<vivien>The freeze is caused when you start filling the swap file
<silicius[m]>I just want to know, is there a reason for guix home to create all directories under home with a dot at the start?
<silicius[m]>I wanted to change the xdg_config_home to ~/etc but it was creating ~/.etc reading source code I found it always adds a dot
<silicius[m]>and I also found that that fontconfig has the .config dir hardcoded anyway
<pkill9>jpoiret: there is an earlyoom service that is better at killing processes before they freeze up the system
<qzdlns[m]>am I missing a doc which details giving an arbitrary name to an mcron job spec? would be nice to see the name of each job for a =herd schedule mcron=
<apteryx>qzdlns[m]: you can already! I thought I added this to the manual recently
<apteryx>perhaps you're not looking at the *current* (master branch) manual?
<apteryx>you just pass a string as the 3rd argument of 'job'
<apteryx>see info '(guix) Scheduled Job Execution' (it's written as a 'Tip:')
<apteryx>is it true that glibc can't handle more than 3 entries in /etc/resolv.conf?
<apteryx>if so, how can I work around this limitation? It becomes a problem as soon as I have two VPN connections active.
<jpoiret>man resolv.conf says that it is unlimited since glibc 2.26
<apteryx>ah, thanks!
<apteryx>It's weird because I disabled IPv6 for an OpenVPN connection in NetworkManager, but 'host $my-host' returns both an IPv4 and IPv6 address
<vivien>Don’t put these two words "disabled" and "IPv6" together ^^
<nckx>jbv1[m]: What do you mean by ‘dependencies’ here, and how would that lead to unnecessary ones? Do we unconditionally add references to all inputs somehow?
<roptat>mh, should I push ?
<apteryx>I have a weird nscd issues; host my-hostname says it has an IPv4; ping such IPv4 works
<roptat>looks like it helped someone at least
<apteryx>but ping my-hostname fails with 'unknown host'
<apteryx>strace says ping checked with the nscd (queried it I guess) before returning such result
<apteryx>this kind of issues seems frequent on Guix System, I blame nscd but I don't know what is at cause? Something in its config?
<rekado_>apteryx: I also have had problems like this. I worked around them by putting a different nameserver in /etc/resolv.conf.
<apteryx>hmm, so this suggests the problem is caching something wrong or invalid with a given name server? Is it possible to dump nscd's table?
<jab>afternoon guix!
<rekado_>apteryx: you can invalidate the nscd cache. But in my experience this never does any good.
<apteryx>yeah, it didn't seem to work
<apteryx>herd invalidate nscd hosts
<nckx>Hi jab.
<nckx>I've had the same resolution problems with the same non-fix (manually edit resolv.conf for a while), I thought it was just me.
<nckx>herd invalidate nscd never works.
<qzdlns[m]>apteryx: ah I see it! I was looking at the web like a noob
<wisp>I'm looking for logs for a service that fails to start. Is there something like a herd logs?
<apteryx>'herd statistics nscd' seems interesting. 0% cache hit rate for the hosts table
<apteryx>wisp: more like 'less /var/log/messages' or 'tail -f /var/log/messages'. Old school.
<apteryx>the service may have its own log file too. Or nothing at all if you're unlucky.
<wisp>that works, thanks
<wisp>trying to find out what mpd is unhappy about
<qzdlns[m]>wisp: have you checked /var/log
<apteryx>wisp: oh yes, that'd be nice to fix! I notice it was not usable too recently.
<apteryx>qzdlns[m]: no worries!
<wisp>qzdlns[m]: yes, mpd doesn't seem to write there
<qzdlns[m]>apteryx: can we ad-hoc (imperatively, through herd/mcron cli) exec a defined mcron job? essentially schedule new occurrence for <moment>
<wisp>it just respawns a lot and shepherd seems to disable it after a few tries
<rekado_>wisp: in this situation I’d look for the config file it uses and run it manually to see the error :-/
<wisp>on it
<apteryx>qzdlns[m]: you can do a lot of things from the REPL with shepherd, so I'd say yes, although I'm not too knowledgeable about it. You'll have to explore :-)
<qzdlns[m]>apteryx fair :) thanks
<jab>so I'm trying to recompile guix...I've done a git pull...guix environment guix --pure; ./configure; make.
<jab>make fails to build the texinfo documentation.
<jab>it's got weird errors like this in the log:
<jab>doc/contributing.ko.texi:916: warning: node `' is up for `?????????(formatting) ??????' in sectioning but not in menu
<jab>jpoiret: I guess I could try ./bootstrap...
<jpoiret>this is a reported bug, trying to find the issue number
<jab>jpoiret: nope. didn't work.
<jab>ok. thanks.
<nckx>jab: export LC_ALL=en_US.utf8, then remove doc/guix*.*.texi and maybe some other stuff, then rebuild from scratch.
<nckx>Or just start from a clean checkout. Setting LC_ALL in the environment is what matters.
<jab>nckx: thanks.
<jab>jpoiret: thanks
<nckx>Is there any reason roptat's patch hasn't been applied yet, if it hasn't?
<roptat>I was waiting for confirmation it was correct
<roptat>I'll push it this afternoon if you think it's good
<wisp>no luck in finding the config so far, for testing I essentially used the config example from the top of in my config.scm
<nckx>18614 failures.
*nckx restarts builds → 504 Gateway Time-out
<vivien>Do you restart all 18614?
<jpoiret>i think i chose the wrong time to work on c-u-f
*wisp is probably just being dense right now
<nckx>I did.
<nckx>vivien: ☝
<jpoiret>trying to build locally leads me either to oom or ood
<nckx>jpoiret: Unfortunately, the CI has been doing this for a very long time.
<nckx>This being ‘cannot build missing derivation oh wait there it is if you restart me manually every time tee hee’.
<vivien>Hopefully if you only restart failed ones the number of failures will decrease.
<nckx>Yep, that's what happens!
<nckx>So at least it's… work-aroundable.
<nckx>Well, damn:
<nckx>If that's not a stale error, that is the first time I've seen it repeat.
<jpoiret>is that a cuirass bug?
<nckx>I'm not sure.
<nckx>mothacehe is probably the best person to ask.
<nckx>roptat: I think it's correct. One could say (I guess) that we should set LC_ALL globally for ‘reproducibility’ or something, but keeping to close to the command that really needs it is better IMO.
<nckx>s/to close/it close/
<GNUtoo>hi, how do I stop gdm?
<GNUtoo>If I kill it, it comes back (and it ends with a "something went wrong" screen), if I stop elogind or Xorg I loose my ctrl-alt-f1 consoles
<GNUtoo>I think (elogind-service) somehow brings gdm, and here I want these services but not gdm to try to test my lightdm-gtk-greeter fix
<Inline>you didn't change your dm to lightdm ?
<user1>do you know how to install xorg?
<apteryx>jpoiret: cufbc is building 1.49 as we speak. should be done with rust in less than an hour
<Inline>what's your default dm ?
<GNUtoo>Inline: how do I do that?
<roptat>user1, are you on the guix system?
<Inline>in either /etc/X11/xinit/xinitrc or ~/<your_username>/.xinitrc
<Inline>if you try to start both that would be an issue
<Inline>2 desktop managers at once hah
<user1>i've tried with startx and pc freezes
<roptat>user1, you can configure that in your configuration file, usually /etc/config.scm. Use %desktop-services instead of %base-services (that's the easiest), and add a window/desktop manager
<roptat>user1, %desktop-services also configures a display manager (gdm by default), so you don't have to use startx/xinit (they don't work ootb on guix system)
<roptat>you may want to install one of these services too:, or simply add your window manager in the list of packages
<GNUtoo>Note that gdm may require 3D acceleration
<user1>i'm on config.scm file
<qzdlns[m]>is anybody programmatically grabbing mailing-list archives from sourcehut? mbsync -> l2md won't grab this uri as an archive (probably because it isn't an archive, but I can't find docus anywhere) -- (uri .
<user1>i installed xorg-server and wayland
<roptat>well, if you goal is to start X from a tty, I don't know how to do that
<podiki[m]>startx has come up a few times here and on a mailing list, seems it would be good to support that (and have instructions)
<user1>yes, i only need a display server
<nckx>I'm not convinced that anyone does at this point. It's a relatively rare question, but I've seen 0 working answers lately. Old ones tend to bitrot.
<GNUtoo>As I understand, wayland is more an API and some libraries that implement them, so for instance you can launch weston or sway or proably gnome or kde directly
<user1>is there a way to use twm?
<nckx>podiki[m]: Do you have a working startx?
<GNUtoo>But the easiest way is to do like roptat suggested and use the %desktop-services which starts gdm which then enables you to choose which desktop environment you want
<user1>no, startx freezes pc
*nckx hunts the elusive Guix startx user.
<GNUtoo>which GPU do you have?
<GNUtoo>is it from Nvidia? ATI/AMD? Intel?
<podiki[m]>nckx: tis not me, though I did that for a long time on different distro
<GNUtoo>ok, most Nvidia GPUs should work at least
<wisp>turns out mpd works just fine, I just define it properly in my config.scm
<robin>user1, (info "(guix)X Window") explains how to generate a startx script if that's not what you're already doing
<GNUtoo>Note that you might need some Xorg drivers like xf86-video-nouveau and xf86-input-libinput
*GNUtoo has no idea if they are included by default or which ones are supposed to be included
<robin>(apologies if i'm missing context, i just read "...if your goal is to start X from a tty" and it's not obvious how unless you know it requires a nonstandard approach)
<user1>yes, i need to start it from tty
<GNUtoo>'Xorg -retro' should at least enable you to test the mouse and screen
<GNUtoo>btw, does someone knows how to stop gdm or bring in the gdm services dependencies but not gdm?
<robin> has what looks like a reasonable way to use it, but apparently it didn't work for them
<roptat>user1, which links to:
<robin>whoops, yeah
<robin>mostly of the obvious DDG/google results are from people using it in conjunction with the 'slim' display manager
<robin>user1, twm is available, yes
<user1>how can i register nickname?
<nckx>user1: To register your current nickname, see ‘/msg nickserv help’, specifically ‘/msg nickserv register PASS E-MAIL’.
<nckx>Much to my surprise, ‘user1’ is still unregistered.
<user1>i'm on #guix, do you know how to go back?
<user1>i'm using weechat
<nckx>Go back to?
<user1>weechat, to execute commands
<GNUtoo>You mean to the first connection window where you can send commands like /msg NickServ register [...] ?
<roptat>most irc clients let you run commands from any channel
<roptat>I don't know weechat, but I'm sure you can /msg from #guix
<robin>you can also /query NickServ for a separate window, then /close when you're done registering
<GNUtoo>user1: just make sure to start with /msg <nickname> as otherwise your passwords could end up in this channel
<GNUtoo>You could try to /msg GNUtoo for a test for instance
<GNUtoo>(obviously don't send password there either)
<nckx>user1: Just type it here, or open a buffer with /query nickserv first. I think you can switch buffers with alt+arrow keys in weechat.
*GNUtoo successfuly got a private message fom user1
<nckx>Some clients also support an /ns shortcut, but dunno if weechat is one of those.
<GNUtoo>btw, when running 'lightdm' as root I get '** (lightdm:190: WARNING **: <hour>: Failed to get list of logind seats: GDBus.Error:org.freedesktop.DBUS.Error.ServiceUnknown: The name org.freedesktop.login1 was not provided by any .service files
<user1>thanks guys, it worked with alt+numbers
<GNUtoo>As for registering from the command line, without a browser, the liberachat documentation can be downloaded with git
<GNUtoo>git clone
<user1>do you know about an e-mail provider i can use from tty?
<GNUtoo>And there are several guides, including one for registering
<GNUtoo>Most of them work from a terminal with programs like Mutt, but I'm unsure if they allow registering from the command line
<nckx>Yeah… that's a good question. All reputable e-mail providers can be used with a console client (MUA), but I'm not sure how you register for any of the free ones without a browser. Maybe some support filling in a form without JavaScript, at least, and then you can use links/lynx/eww to do so.
<vivien>I’m starting to appreciate guix home. I made myself a .guile init file that will record the load path, extend it to guile-readline and guile-colorized, load these, and reset the load path. Now I have readline and colorized activated, without having them installed in the guix home, without visible modifications of the load path.
***user1 is now known as voyager3000s
<zap>hello guix!
<zap>Anyone running cuirass? How one deals with channels that depend on guile libraries? I have a chanel that imports guile-parted and evaluations fail because parted is not available during build.
<zap>I first thing came to my mind is to wrap the specifications list gexp that is passed to cuirass service config in (with-extensions ... (with-imported-modules ...)) but it doesnt seem to have an effect
<GNUtoo>hmmm pkill gdm + elogind-inhibit doesn't work
<GNUtoo>In Parabola /usr/share/dbus-1/system-services/org.freedesktop.login1.service is part of systemd, so I'll try to find it in Guix
<GNUtoo>Apparently that's part of elogind
<thorwil>hi! i’m trying to write an update for the ingen package (at least 2 years old, while latest commit was 4 months ago)
<thorwil>i think waflib is a git submodule in (not really familiar with submodules)
<nckx>Hi thorwil! Awesome.
<nckx>Yes it is.
<thorwil>grepping around existing packages, it looks like (recursive? #t) in the git-reference form should do the trick? but this doesn’t work here
<nckx>It should indeed. Could you share your expression so far?
<thorwil>sure, messy as it is:
<nckx>Did you forget to change the hash?
<nckx>r:sha256 hash mismatch […] actual hash: 1hk8z67ksqga88ivg4r5c87kx7hh1w0cifamm5awwz0583kv5rh9
*nckx tries.
<nckx>Updating the hash leads to a --source with a populated waflib/ directory here.
<thorwil>nckx: i did a git clone without caring about the submodule and generated a hash for that
<thorwil>guess that means i need an argument to git to have the submodule included, then build the hash
<apteryx>rekado_: I think I'm starting to understand the nscd/dns issue
<nckx>So (recursive #t) is an option used during fetching, and it will *result* in a different directory layout than a non-recursive checkout, and this will in turn change the hash. But it is not itself *hashed*: if you already have a directory of the right name that matches the old hash, then you add (recursive #t), Guix will not even bother re-fetching the sources with the new option because it already has the hash you asked it for.
<nckx>It's content-addressed.
<nckx>Hope that makes sense.
<apteryx>on my system I had disabled IPv6 in network manager (my previous ISP didn't support it well), but my new ISP does support it it seems. And it seems that, even when disabling IPv6 in networkmanager for my main connection (wifi), somehow DNS resolution would still get IPv6 entries, and nscd prefers that.
<apteryx>I'm not sure how the problematic host name got resolved to a *local* IPv6, though: 2607:fad8:4:6::234
<nckx>thorwil: It's like changing the URL of a tarball without changing the hash. The URL isn't the identifier; the hash is.
<apteryx>ping 2607:fad8:4:6::234 -> unkown host, the same as 'ping problematic-host'
<thorwil>nckx: i see. thank you! :)
<nckx>(The hash and the store file-name, to be exact, but in this case you changed neither.)
<nckx>apteryx: ‘Unknown host’ because you're passing an IPv6 address to IPv4 ping.
<nckx>ping → unknown host
<nckx>ping6 → hot ping action.
<apteryx>nckx: yep I know, the question is why the domain got resolved to that bogus entry
<apteryx>(it's a local iPv6 address)
<apteryx>and seems it's one of the DNS servers added by one of the VPN I'm connected to
<nckx>OK, but it will *always* return ‘unknown host’.
<apteryx>is there a reason why nscd answers with an IPv6 when my network has IPv6 disabled though?
<apteryx>I guess nscd doesn't really know about it (it's managed by NetworkManager)
<nckx>Put differently: I don't see why it wouldn't.
<nckx>Looking up an address is separate from what your network(s) happen(s) to support.
<nckx>apteryx: Who is answering those queries and returning 2607:fad8:4:6::234?
<apteryx>a DNS added to /etc/resolv.conf by NetworkManager (it comes from one of my VPN connections)
<apteryx>are ipv6 addresses always preferred to ipv4 ?
<apteryx>because the domain has both
<user1>still can't use xorg
<nckx>apteryx: <are ipv6 addresses always preferred to ipv4> The client gets whatever it asks for.
<apteryx>so if I type 'ping', who is the client?
<apteryx>and why does it asks for ipv6?
<user1>how do i start ratpoison from cli?
<apteryx>if it was ping6 i'd understand, but it's just 'ping'
<vagrantc>apteryx: ping6 is deprecated, most utilities should use ipv6 if available
<nckx>vagrantc: ping has *never* worked for IPv6 here.
<vagrantc>e.g. you don't have, say, icecat6 to connect to ipv6 websites
<apteryx>vagrantc: perhaps, but unless I missed something, ping has always been strictly 'ipv4', or so I thought.
<nckx>I mean, ICMP != ICMPv6, so how would that even work.
<vagrantc>it used to only support ipv4, hence ping6 existing ... but somewhere along the way it should work
<nckx>I don't see the relation to IceCat.
<nckx>vagrantc: Do you have a link to documentation for that?
<vagrantc>nckx: you shouldn't have to call a specific tool to use ipv6
<vagrantc>nckx: that's all i was getting at
<nckx>But why?
<nckx>Did inetutils ping grow ICMPv6 support?
<vagrantc>oh, i may be using iputils-ping :)
<nckx>This is not confusing at all!
<nckx>Who's on ping? …
*vagrantc hides under a debian swirl
<nckx>vagrantc: Nailed it.
<nckx>I am using inetutils ping (the Guix default, I think), but just tried iputils'.
<nckx>It does the v6.
*nckx sighs.
<nckx>Maybe we should switch…
<vagrantc>seriously, you shouldn't have to explicitly think about ipv6 ... it's better :)
<apteryx>back to my problem, it gets even better: I've now disconnected from the VPN adding a unreliable DNS server to /etc/resolv.conf. Now host -> (no ipv6). Pinging that ipv4 works. but 'ping' still says unknown host
<nckx>I don't disagree with any of that!
<nckx>vagrantc: ☝
<nckx>‘Shouldn't’ being the issue.
<vagrantc>git grep 'This packages' | wc -l
<nckx>I was actually going to get to that but *please* beat me to it.
<user1>how to use xorg?
<vagrantc>i really need to follow-up on #44675
<apteryx>and 'herd invalidate nscd hosts' doesn't help at all. wtf.
<vagrantc>nckx: i was *hoping* someone else would get fix that :)
<nckx>user1: Better not ask me in PM, this doesn't seem like a private matter.
<vagrantc>maybe i can work on that today ... i've got some unexpected free time...
<vagrantc>(as if i actually have any free time)
<nckx>user1: You're better off asking everyone than just me, I mean, 'specially since I'm stepping away for a while. Good luck.
<roptat>user1, it's not a common use case, and guix makes it a bit difficult, did the solution suggested in not work?
<user1>i can't open links
<user1>nckx: no problem
<user1>or wayland?
<roptat>user1, the suggested solution (I don't know if it works, but it's worth a try) is to install the following: guix install xinit xorg-server xf86-input-libinput xf86-video-fbdev xf86-video-nouveau
<roptat>(maybe replace video-nouveau with the one that corresponds to your graphics card)
<roptat>2. create a file, ~/.xinitrc that contains only the line "exec xterm" (for now)
<user1>i'm executing command
<roptat>3. run xinit with: DIR=$HOME/.guix-profile $DIR/bin/xinit -- $DIR/bin/Xorg :0 vt1 -keeptty -configdir $DIR/share/X11/xorg.conf.d -modulepath $DIR/lib/xorg/modules
<roptat>(you should put that in a script that you will use to start xorg)
<user1>which script?
<roptat>wayland might be easier to start, I think you can start sway directly from a tty without troubles
<user1>how do i start it?
<roptat>just run "sway"
<roptat>(you need to "guix install sway" first of course)
<user1>xdg_runtime:_dir is not set in the environment
<roptat>not sure what it should be on the guix system
<roptat>ah, you should set it to XDG_RUNTIME_DIR=/run/user/$UID
<jpoiret>But aren't those taken care of by the default xinitrc script?
<roptat>ah maybe, I really don't know
<roptat>maybe don't create a .xinitrc then
<vagrantc>been a while since i booted this thing: Authenticating channel 'guix', commits 9edb3f6 to 44d0acf (2,141 new commits)...
<thorwil>the old ingen package has a bunch of RUNPATH adjustments, but even with those back in, i get: /gnu/store/lrwkghbnx5b991hw0jagzpyy2ddhbz66-ingen-current-0.0.0-2.b760e11d5/bin/ingen: error: depends on '', which cannot be found in RUNPATH
<thorwil>starts at line 59:
<rekado_>I fixed a bunch of packages for core-updates-frozen
<rekado_>lilypond still fails, but now much later
<rekado_>will push the fixes later tonight
<thorwil>with (substitute* "wscript" (("^(.+)target.*= 'src/ingen/ingen'," line prefix) <snip>)), is that supposed to match whole lines and what is the meaning of line and prefix?
<thorwil>the closest match in the current wscript is " source = 'src/ingen/ingen.cpp',"
<lilyp>I'm less worried about the prefix and more about the .*
<lilyp>the prefix dot is probably shorthand for [ \t]
<lilyp>an evil shorthand to be sure
<lilyp>speaking about evil, I love me some --verify=content,repair, but how realistic would be a hash collision in some files? :P
<nckx>thorwil: line contains the match of the entire regexp, which in this case is the entire line. Subsequent variables match () groups, in order, so here prefix will contain whatever (.+) matched, and is used to maintain the previous level of indentation.
<nckx>‘Things that are more likely than a SHA-256 collision’ is probably an amusing list.
<thorwil>nckx: ah, thanks.
<thorwil>now if only compilation would be cached, so i could test those manipulations without delay
<lilyp>nckx: To be fair, any list that contains "mass murderer space rocks" has the potential for comedy :)
<nckx>One of the better concept albums.
<nckx>Needs moar ‘…from outer space!’ though.
<lilyp>Mass murder rocks from outer space?
<nckx>No, Mass murderer space rocks from outer space.
<lilyp>Though that doesn't make it clear whether the rocks are murderers or whether we are murdering rocks
<lilyp>T.b.f. we are murdering one rock from inner space ._.
<nckx>“Mass-murderer mass-murdering space rocks from outer space (All hail our interstellar saviours)”
<ss2>What would be a neat way for a service, where the daemon and its accomodating /var/lib/daemon directory are running and owned by a different user, to fetch the current letsencryp certificates?
<blackbeard>nckx: is that an album?
<jpoiret>rekado_: did you see the qpdfview patch i sent?
<nckx>ss2: Different from root? I can't think of any ‘neat’ ways because the (private) keys are root-owned for a reason.
<jpoiret>btw i've written the swap dependencies patch but i still can't test it, still need to update the documentation with the new types
<jpoiret>since i added two new types swap-file and swap-partition, should i create a new node for that (Swap space) or just embed it in "operating-system Reference"?
<ss2>yes, The reason is obvious. Never mind, will stick to my slightly hacky solution. I modified the service, and have them manually copied over.
<nckx>blackbeard: Nono, just one track. The album is as yet untitled, but each track celebrates something far more likely than a SHA-256 collision.
<nckx>ss2: Are there neat ways that other distributions approach this?
<blackbeard>nckx: ah i see
<nckx>(It is also entirely fictitious, before I end up starting a rumour about the next release song…)
<ss2>none that I've actually had a closer look at.
<ss2>A good hint still, will have a look.
<nckx>jpoiret: File Systems have their own node, so I'd say go ahead.
<nckx>jpoiret: Aside: I assume this will finally address swap priority & allow for proper striping, and for that I thank you, because that's been on my ‘one day when I'm not doing something else’ list for ages. That day is an elusive little bugger.
<jpoiret>mhmmm true, although maybe i should consider having 2 types (swap-file and swap-partition) vs 1 type to avoid too much repetition in the swapon parameters
<jpoiret>but good idea, i'll add swap priority to that
<lilyp>nckx: just to be on concept, the tracks should all have something collision-esque in them
<nckx>ss2: What I do, which is not generic at all, is take care of each service with special needs (opensmtpd, znc, from memory) in my dehydrated hook. In theory, Guix services could extend the certbot service, which then constructs some kind of hook… Maybe ‘neat’, definitely ‘ugly’…
<lilyp>e.g. "A car crash that kills everyone you know"
<nckx>I had that! But it was more like ‘Everyone you love gets hit by a beemer (And dies) (Sorry)’.
<nckx>Because I'm sure that's still more likely.
<nckx>All of Berlin is probably still 90% idle or whatever, we might as well run some simulations.
<nckx>s/Berlin/berlin/ (because otherwise someone will make a jokes).
<lilyp>Well, there's at least one building in Berlin that's always 90% idle :)
***iyzsong- is now known as iyzsong
<apteryx>rekado_: my networking problem was many :-) The major one being my ISP which doesn't support IPv6 (perhaps in 2040) and the next one their DNS servers return incomplete results it seems.
<apteryx>e.g. 'dig' has nothing for an A record, but 'dig @' has it.
<nckx>I kind of forgot about apteryx. Sorry. Did you get around it?
<apteryx>I guess the conclusion is that my ISP sucks?
<nckx>Most do.
<apteryx>nckx: don't worries. It seems nscd had nothing with it, so I'm relieved.
<nckx>All of Belgium has not a single ISP that doesn't (that's not a quip — I've tried them al).
<nckx>nscd caching [on Guix?] is definitely off somehow. You didn't imagine that.
<lilyp>Well, now we do know one thing that's less likely than a SHA-256 hash collision.
<lilyp>there goes our concept album :(
<nckx>Luckily, ‘Guix releasing in time’ is still more likely…
<vagrantc>so, in attempt to cure guix of "This packages" ... i'm trying to write a lintian check ... and trying to write a simple reduced case but there's something i'm not getting about string-contains:
<vagrantc>basically string-contains never seems to match ... but ... but ...
<vagrantc>rubber-duckied myself ... the order of the arguments
<vagrantc>thanks everyone! :)
<vagrantc>now, i just have to figure out how to pass arbitrary numbers of checks
<apteryx>fyi rust is fully built on cufbc
<nckx>vagrantc: Oh, I literally just pushed the quick fix. So don't pull & wonder why your linter fails — I hope — to find anything.
<nckx>You just rubber-ducked me (ew) in a way: I was going to say ‘oh, for some reason I always confuse the argument order of string-contains, as well as string-prefix?’ but now I noticed… their argument orders *are* reversed!
<nckx>It's not me, it's Guile.
<nckx>I'll just try to remember that. I'm sure it will go well.
<vagrantc>string-match also
<vagrantc>e.g. reversed order
<nckx>vagrantc: Why not a ‘guix lint‘ check?
<vagrantc>nckx: that's what i'm working on ... trying to incorporate the review i got back in april on #44675
*nckx .oO …so ‘boxes -l’ is full of dead Geocities and now-corporate ‘home pages’ and that saddened me for a good moment…
<nckx>Oh, OK.
<nckx>I thought lintian was the Debian guix lint.
<vagrantc>is it just me, or ... make[2]: *** [Makefile:5254: doc/] Error 1
<vagrantc>nckx: it is, basically
<nckx>vagrantc: Is it this?
<vagrantc>nckx: which i tend to only run on guix after there's been a release
<vagrantc>nckx: that looks suspiciously similr
<apteryx>does someone see an error on this raw log page?
<apteryx>there's something with a cache directory of fontconfig, but that shouldn't be fatal, it seems
<jab64>apteryx what are you trying to debug?
<sneek>jab64, you have 1 message!
<sneek>jab64, raghavgururajan says: Np! You can share when you are available. :)
<vagrantc>where is "any" defined? e.g. (if (any (cut string-contains description <>) patterns)
<apteryx>jab64: that's the last failed evualuation of the cufbc branch
<nckx>vagrantc: SRFI-1
<vagrantc>nckx: thanks!
<vagrantc>a bit hard to search for "any" :)
<nckx>I search for ‘: thing ’ or in this case ‘cedure: thing ’.
<nckx>Well, would've, I know a few things \o/
<nckx>But, oh, I don't know, flippin' string-prefix…
<user1>do you know how to change from ratpoison to twm?
<vagrantc>ok, any idea how i can change "something wrong" to ... uh ... the thing that was wrong?
<user1>do you know how to change from ratpoison to twm?
<vagrantc>user1: if someone knows, they'll respond
<vagrantc>user1: how are you starting ratpoison?
<user1>with ratpoison
<vagrantc>from where?
<vagrantc>doesn't ratpoison require X to be started somehow?
<vagrantc>you login to the console, and type "ratpoison" ?
<apteryx>networkmanager is weird, it puts a VPN DNS at the top of /etc/resolv.conf, even I told it "just use it for ressources on its network" (which to me sounds like a fallback more than my primary DNS)
<vagrantc>user1: if you do the same with "twm" what happens?
<user1>unable to open display
*vagrantc didn't think ratpoison had all the plumbing to start X itself, but a lot could change in nearly twenty years :)
<user1>do i need login manager?
<rekado_>problem with lilypond on core-updates-frozen looks like a Ghostscript problem.
<rekado_>that’s usually where I give up
<rekado_>“Error: /undefined in .setpdfwrite”
<vagrantc>user1: either that, or figure out how to pass it via startx
<rekado_>(the earlier lilypond problem was actually a texlive problem…)
<rekado_>apparently .setpdfwrite no longer exists in Ghostscript 9.54.0
<apteryx>interestingly, a single ryzen 3900x machine seems faster than our ci fleet (at least when building in offload mode).
<robin>apteryx, does the ci fleet use old servers or something for software-freedom reasons?
<GNUtoo>ok, I've managed to stop elogind with 'herd stop elogind', though when I launch 'lightdm', this re-launches elogind which re-lauches gdm
<rekado_>robin: these were all new Dell servers at the time.
*GNUtoo just wanted to send a simple patch and already spent ~1day on it
<rekado_>they all run Guix System with linux-libre, of course.
<GNUtoo>rekado_: ah you're the one who added lightdm, do you know how to test it?
<rekado_>…did I?
<rekado_>I have no good way of testing it.
<GNUtoo>commit 4606f3a3efd6a5a01152b3fdf727216bdd3d3b8c
<GNUtoo>So can I just send the patch that fixes it like that, I've tried launching it and so on and it does compile fine
<rekado_>we have a lightdm service, I think… or maybe the patch is stuck because I forgot about it.
<nckx>robin, apteryx: The fleet is an insanely powerful collection of some 25 AMD EPYC machines. They simply sit idle almost all of the time (that's not an exaggeration:
<GNUtoo>Right now it doesn't compile and I see no lightdm service
<GNUtoo>And I want to correct what I said above, it's lightdm-gtk-greeter that doesn't compile but AFAIK you launch it with 'lightdm'
<rekado_>oh dear… I dropped the ball:
<podiki[m]>nckx: so are you saying we could have more staging-type branches to separate out big changes instead of just one core-updates? I feel like we're making work more difficult than it needs to be especially if we have compute power to spare for compiling to easily try out with subs
<rekado_>yay, fixed lilypond
<podiki[m]>(and then to push changes to master with substitutes already built)
<rekado_>podiki[m]: this is what I have been doing for R updates recently
<podiki[m]>and was done for haskell
<rekado_>push the changes to wip-r, give the build farm something to compute, and then merge it shortly after completion
<nckx>podiki[m]: Saying this where or when?
<nckx>I don't think that I think that, no… or maybe in some other context, once…
<rekado_>this leaves three broken packages from my list: blender, qpdfview, and diffoscope