<Lumine>Hey, just tried installing Guix with a network connection and it hangs on fetching the first substitutes, both on the manual and on graphical installation ***ChanServ changes topic to 'GNU Guix | https://guix.gnu.org | videos: https://guix.gnu.org/blog/tags/talks/ | bugs & patches: https://issues.guix.gnu.org | paste: https://paste.debian.net/ | Guix in high-performance computing: https://hpc.guix.info | This channel's logged: https://logs.guix.gnu.org'
***jonsger1 is now known as jonsger
***jonsger1 is now known as jonsger
***LispyLights is now known as Aurora_v_kosmose
<kitty1>Kinda just saying this to say it, not sure I really like the news changes in the slightest tbh, it feels much less welcoming to not make it automatically list stuff out without throwing tons of flags around. <apteryx>sneek later tell rekado haha! to reproduce our GRUB problem without any downtime on Berlin: sudo qemu-system-x86_64 -hdd /dev/sda -snapshot -nographic -m 2G <AIM[m]1>Like I had that issue but for me it was coz I keyed in the wrong LUKS password <wargreymon2022>It said "someUUIDs" not found, didn't ask for passphrase, straight into grub rescue. <AIM[m]1>Check if uuid matches with the one of your hdd/ssd <raghavgururajan>alethkit: Kudos! Glad that the issue is resolved. Could you share the solution? <raghavgururajan>alethkit: Kudos! Glad that the issue is resolved. Could you share the solution? <AIM[m]1>Btw, like how do reverse the scroll, I hate the default scrolling... <AIM[m]1>I want the content to go up when I scroll down and not the scroll bar... <troubas>I've started writing a service for the unbound dns server and after reading some of the service definitions in master am confused as to how configuration is done properly. <troubas>Is it prefered to use the configuration file (less maintenance) or to do the configuration in scheme using (use-service-modules configuration) ? ***dongcarl7 is now known as dongcarl
<civodul>troubas: hi! usually we prefer writing "bindings" for the configuration file formats, by defining a record type, for instance with define-configuration <civodul>but it's good to have an "escape hatch" so that users can provide raw config strings <allana>Hi guix! I am preparing to submit a package, and when linting the package I get a series of platform-related errors like this: "failed to create armhf-linux derivation: (unbound-variable #f "Unbound variable: ~S" (gperf) #f)" -- am I doing anything obviously wrong for my package? <roptat>allana, can you even build your package? <roptat>I would say you probably are missing some imports? <troubas>civodul: ok, thanks. I'm going to use bindings. <octopus>i have a fresh installation of guix and didn't install none of default window managers ! I want Xorg and Fvwm ! I already install fvwm but dont know how to install xorg ? any help ? <octopus>I guess something like this but it does't work....guix package -i xinit xorg-server xf86-input-libinput xf86-video-fbdev <octopus>it's working somehow !!! thanks anyway <cbaines>by the count on data.guix.gnu.org, we now have more than 19,000 packages \o/ <civodul>"guix package -A |wc -l" says more than 20K :-) <cbaines>indeed, the 19,000 number comes from the number of distinct package names <cbaines>guix package -A counts package versions, e.g. guile gets counted 5 times, rather than just once <cbaines>either way, there are lots of packages :) <cbaines>anyway, welcome back civodul, I hope you had a really nice break :) <attila_lendvai>how can i get this error? "substitute: In procedure write_wait_fd: unimplemented. guix system: error: `/gnu/store/slc2sb2sfr541wfrgl0acif18jsn1xqw-guix-1.3.0-23.a27e47f/bin/guix substitute' died unexpectedly" <attila_lendvai>yep, seems to be that. second invocation is running as expected. <roptat>what do you replace (assoc-ref %build-inputs "kotlin") with, again? <roptat>but it can't be used outside of a record :/ <roptat>I need to use something like that for kotlin: all versions use the same flags, so I define: <roptat>(define kotlin-bootstrap-flags #~(list (string-append "-Dbootstrap.compiler.home=" #$(this-package-native-inputs "kotlin")) ...) <sneek>Welcome back maximed, you have 1 message! <sneek>maximed, itd_ says: Task/efivar-build failed successfully. Thanks! :) <maximed>roptat: Replace define by (define-syntax ... (identifier-syntax #~(...))) to delay the expansion of this-package-native-input <maximed>Alternatively, you could make kotlin-bootstrap-flags a procedure accepting a package argument and replace this-package-native-input by lookup-native-input (not sure about the exact name)) <roptat>I used the second option already :) <roptat>spent ~3 hours downloading the sources ^^' <roptat>there's a lot of copying on a spiny drive, which explains why it's very long <maximed>attila_lendvai: write_wait_fd should only be called if the port actually supports waiting for writability. And even if it was a transient network error, then it should be reported as such. I recommend filing a bug. <gnoo>ciberspace_retro: there's not a package for it yet, but you can make one yourself taking clues from gdm <AIM[m]1>Surprisingly I can't clear the screen <roptat>AIM[m]1, the clear command comes from ncurses <roptat>yes, it's not installed by default <roptat>Ctrl-L works the same, so you don't need to type clear <AIM[m]1>I thought up until now that clear was a bash command <gnoo>how does guix handle suided binaries? the package definition of sudo doesn't look much special <maximed>gnoo: for setuid stuff, look for setuid-programs <roptat>it doesn't install suid binaries in the store, never <roptat>that would be problematic if older vulnerable versions stayed around as suid binaries ;) <AIM[m]1>Is there a way to make shutdown and reboot work without sudo? <maximed>When setuid programs are configured in the system configuration, they are copied to ... somewhere (not sure where) and have their setuid/setgid bits set appropriate <gnoo>ohh, thanks! that seems much better <maximed>AIM[m]: Press the power button? I'm not 100% but IIRC shutting down does not require root <gnoo>AIM[m]1: you can configure sudo to not ask for password for some commands like shutdown, reboot, etc <roptat>if it's not in a profile, it's not installed <maximed>E.g. in Mate (and probably GNOME as well), you can do ‘Meta key’ then click the power button and choose for ‘Shutdown’ <roptat>now some packages might require it, so a copy is in the store, but that's all <AIM[m]1>Btw, how dya like config reverse scrolling for touchpad <AIM[m]1>I wanna scroll the content and not the scrollbar <roptat>the_tubular, that's not how guix sees things <gnoo>maximed: they probably use some setuid'ed backend :/ <maximed>There's probably some daemon somewhere (or maybe it's actually setuid under the hood) responsible for this <the_tubular>But yeah, we're saying the same thing it's schemantic at this point <the_tubular>I think you are right, but I don't understand why and how <roptat>because "install" implies you "guix install" or specify the package <roptat>otherwise it's considered implementation detail <roptat>so "not insatlled" (explicitely by a user) <roptat>I agree it's not exactly the same semantics as other distros <roptat>unless you consider install==available at the cli <the_tubular>I find it weird that a binary you can call with /gnu/store/hash-binary is not "installed" <roptat>but it also simplifies things a lot, like "install A then remove B" gives the same profile as "remove B, then install A" <roptat>which is not the case in other distros <roptat>because "remove B" might also remove A <maximed>gnoo: logind's D-bus service has a 'ScheduleShutdown' command, possibly the elogind used in Guix System has it as well? <gnoo>wouldn't it be better to just make `halt' setuid'ed ? <roptat>the_tubular, well, bash depends on ncurses. "apt install bash; apt remove ncurses" ends up with nothing. "apt remove ncurses, apt install bash" ends up with both <maximed>gnoo: That's possible, but setuid mechanics can be difficult. <roptat>the_tubular, "guix install bash; guix remove ncurses" ends up with only bash (in the $PATH) and so does "guix remove ncurses; guix install bash" <maximed>gnoo: There's plenty of possibilities for a setuid binary to be accidentally vulnerable (e.g. looking at environment variables when it shouldn't) <gnoo>maximed: yeah, idk how seperate halt is from other parts of shepherd, if it is, then it might be safter to do so. that would mean people who don't have elogind to also be able to shutdown without root <roptat>now guix doesn't have the apt equivalent of "remove everything that depends on a copy of ncurses", but that doesn't make too much sense to begin with <roptat>(at least not easily accessible, it's possible since the information is present) <gnoo>maximed: but then, you can easily add the relevant bits to sudo's config so it's better that way <maximed>gnoo: Additionally, 'setuid' binaries cannot be run inside containers (unless there's a bug), because the container could use bind mounts to ‘replace’ the libraries used by the setuid thin <gnoo>you won't have other users shutting down the system in case of a multi-user setup <gnoo>i mean, instead of the complicated way logind and systemd try to make shutdown happen if only a person is sitting infornt is sometimes annoying, just make an admin group and have the default admins be able to shutdown the system without password with sudo <phf-1>How get the expected sha256 base32 hash of a git-reference ? <phf-1>but how to do that with a git ref and at a given commit ? <gnoo>make the package and when it complains, use that <maximed>This 'shutdown' command needs to tell the systemd (or, in this case, shepherd) daemon to shut down anyway. Being or unprivileged doesn't make a difference in the complexity of communicating the command. <maximed>phf-1: There's a patch in the mailing list for adding git support to "guix download", but I don't think it's applied yet <gnoo>maximed: i ment the complexity in which it tries to restrict shutdown only when someone is infront of the computer (no ssh and such <singpolyma>phf-1, gnoo: you can also git clone an use git hash -rx theclone <singpolyma>But I usually use the "get it from the error" strategy myself, heh *jonsger doubt that readabilty was an argument in all cases when we switched to gexp :P <reza[m]>does somebody use `guix shell` inside eshell? <reza[m]>it seems to spawn a normal shell inside eshell, is there some workaround to spawn an eshell instead? <mimorek>Hello all. Does anyone know of a way to get a Maps program (like gnome maps) running on guix with NO internet connection. <phf-1>gnoo, do you know how to debug Cuirass ? <phf-1>But, from cuirass web, when I click on "Workers status", nothing show up <constfun>Hello everyone, I could really use some help trying to launch a pre-compiled elf binary. I'm getting "No such file or directory" which, as I understand, means that some libs or the the ld interpreter are missing, however, when I ldd the binary all libs are found. I even created an extra-special-file for ld at expected location /lib64/ld-linux-... <civodul>phf-1: hi! are you running "cuirass-worker" on the build machines? <constfun>my best guess is libc incompatibility perhaps? i get 2.33 oldest i see in the main channel is 2.29 but I'm not even sure how to use that <phf-1>I don't know what "cuirass-worker" is exactly, but searching now <phf-1>civodul, I cannot find "cuirass-worker" string in any documentation, guix.html or cuirass.html <phf-1>civodul, you mean the remote mecanism ? <SeerLite[m]><AIM[m]1> "Is there a way to make shutdown..." <- `loginctl poweroff`, `loginctl reboot`, etc work out of the box without sudo <civodul>phf-1: right, you need Cuirass on the head node and "cuirass-remote-worker" on the build nodes <civodul>(Cuirass can also use Guix's built-in offloading mechanism but it's less nice) <phf-1>civodul, it's because of the "authority" part in the config ? <phf-1>and "authority" has the form: "oauth2:$TOKEN" <civodul>phf-1: on build nodes, don't use need the 'server' field for cuirass-remote-worker-configuration? <civodul>ah well, it's supposed to find it with Avahi <civodul>but you can try to explicitly specify the IP/port to see if it helps <jonsger>mimorek: I never got it working, but thats 2 years ago. Maybe QT improved a bit in Guix since then... <mimorek>I'm not running Guix myself. Someone who says he's from Kyiv on another channel asked. For when the internet fails. <civodul>jonsger: i deployed an instance at work with a couple of workers last year and that was rather smooth <allana>mimorek: qgis may have a bit of a learning curve, but if the aim is to view OpenStreetMap data offline, it can certainly do that. It's packaged in guix. <jonsger>civodul: are you talking about cuirass or about OSM tile servers? ***nckx_ is now known as nckx
***dongcarl4 is now known as dongcarl
***iyzsong- is now known as iyzsong
***ft_ is now known as ft
***sneek_ is now known as sneek
<civodul>jonsger: Cuirass, sorry for the confusion :-) <jonsger>I wouldn't call the experience smooth, but maybe it was due to my "complicated" setup. remote-server on host, remote-worker inside a Guix VM which runs on the host... <gnoo>SeerLite[m]: thanks, but i don't use logind ;) <gnoo>282 /gnu/store/2lis8khrdk0zzjzs5ydi8rs5h6f6wjr7-shadow-4.9/bin/login -- <gnoo>i use %base-services which has login from shadow <jpoiret>if you don't use logind, then you can do `sudo herd stop root` i think <gnoo>i think it is required if you use elogind <SeerLite[m]>Interesting! I thought elogind was required on Guix. Didn't know about `login`. I guess that was the standard way to do it before systemd/logind? <gnoo>yeah, i think almost every dm depends on elogind so it's hard to get away <maximed>I tried restarting nscd, guix-daemon and reconnecting to the network, without success <maximed>curiously "guix build --source hello --no-substitutes" succeeds <jpoiret>how are you connected to the network? DHCP? <jpoiret>if so, maybe the network doesn't have a default nameserver set, in which case you'd need to add one yourself to /etc/resolv.conf <maximed>jpoiret: I don't know, I just select the WiFi network and entered the password. Let me check <maximed>IPv4 is ‘Automatic (DHCP)’. IPv6 is ‘Automatic’ <maximed>I would find it very curious if this was the cause of the DNS problems, because using the browser, "wget lwn.net" and "guix build --source --no-substitutes hello" still all work <maximed>All the DNS servers in /etc/resolv.conf are pingable <jpoiret>it's possible that it's not setting up the networking part of the build env properly <maximed>jpoiret: Do you know a good way to check up-to-dateness (on a foreign system)? <gnoo>so you can access gitlab.com from your browser? <jpoiret>on a foreign system it should be the one under /var/guix/profiles/user/root/current-guix/ iirc <singpolyma>jpoiret: unless installed guix from apt or similar <maximed>now running "sudo --set-home --login guix pull", let's see how that goes <maximed>singpolyma: on this (Debian) system, I've changed the ExecStart line to point at the /var/guix/... thing <jpoiret>singpolyma: from the tidbits I've seen, it's the default on some distros <maximed>jpoiret: It's a ‘5.10.0-11-amd64 #1 SMP Debian 5.10.92-1 (2022-01-18) x86_64 GNU/Linux’ according to 'uname -a' <maximed>though I don't see how this would matter <jpoiret>well, the build env is set up using Linux namespaces <jpoiret>when you said `guix build --source hello --no-substitutes`, do you mean `hello` or your package? <maximed>Curiously, after the pull, the output of "/var/guix/profiles/per-user/root/current-guix/bin/guix-daemon --version" remained the same <jpoiret>that's expected, the guix-daemon comes from the fixed guix version in gnu/packages/package-management.scm <maximed>jpoiret: But I'm on a foreign system and the daemon is started from /var/guix/profiles/per-user/root/current-guix/bin/guix-daemon <jpoiret>yes, but that's also the case on guix system <jpoiret>the guix daemon is computed from the guix package, so only upgrades when the package is <maximed>jpoiret: I though that on Guix System the fixed 'guix' package from (gnu packages package-management), and not the guix from the user profile? <jpoiret>can you try `guix build --source daemonize --no-substitutes`? or any package that uses git-fetch? <jpoiret>oh yeah, but they'll end up being the same I mean <jpoiret>is the package you're trying to build in Guix? if not, can you give its definition? <maximed>but for the package I'm trying to build things still fai, with the same errors <maximed>wait, I'm not setting 'sha256' (it's set to #false) <maximed>now it works (well, fails, but not due to DNS problems) <jpoiret>if you don't give it a fixed hash, it won't register that it's supposed to be a fixed-hash derivation, and so the builder won't set up networking access <maximed>jpoiret: perhaps it would be a good diea to modify (guix git-download) or (guix packages) to check that the sha256 is actually set? <jpoiret>are you using git-chekout or git-fetch? <maximed>anyway, downloading the source code works now <apteryx>does anyone has experience with Dell PERC <PERC H730P Adapter> ? That's what is used on Berlin. I'm struggling to understand some weird issue where it doesn't seem to expose the drives correctly to GRUB <civodul>apteryx: hi! nope; that's sitting between the machine and the drives? <apteryx>I think we should try disabling fd0 (floppy) support, it perhaps interact with the enumeration <apteryx>if you want to try it on Berlin you can try this user friendly QEMU command: qemu-system-x86_64 -device virtio-scsi -blockdev node-name=sda,driver=raw,file.driver=host_device,file.filename=/dev/sda -device scsi-block,drive=sda -blockdev node-name=sdb,driver=raw,file.driver=host_device,file.filename=/dev/sdb -device scsi-block,drive=sdb -blockdev <apteryx>node-name=sdc,driver=raw,file.driver=host_device,file.filename=/dev/sdc -device scsi-block,drive=sdc -blockdev node-name=sdd,driver=raw,file.driver=host_device,file.filename=/dev/sdd -device scsi-block,drive=sdd -blockdev node-name=sde,driver=raw,file.driver=host_device,file.filename=/dev/sde -device scsi-block,drive=sde -blockdev <apteryx>node-name=sdf,driver=raw,file.driver=host_device,file.filename=/dev/sdf -device scsi-block,drive=sdf -snapshot -nographic -m 4G <apteryx>or steal the script under /home/maxim/scripts/test-in-qemu.sh <civodul>those block devices are not being used on berlin? <apteryx>they are, but with -snapshot it's safe (it won't write anything to it -- volatile) <constfun>fixed my issue above, problem was that i created the special file with (extra-special-file "/lib64/ld-linux-x86-64.so.2" (file-append glibc "/lib/ld-linux-x86-64.so.2")) and this only created a broken symlink to a file that was not in the store, using (extra-special-file "/lib64/ld-linux-x86-64.so.2" (file-append (canonical-package glibc) <constfun>"/lib/ld-linux-x86-64.so.2")) got me past this issue <maximed>AIM[m]1: It's an IRC command, to leave a channel. <maximed>Not sure if it's actually part of the IRC protocol, or if it is an IRC client convention <maximed>Normally, it doesn't end up in the chat, but it can be mistyped (I probably added a space or something) <AIM[m]1>So you don't like have it running all the time? <maximed>I don't know how you run a matrix client. Also, I don't ‘run’ the /quit command all the time, only when I want to close the IRC client <maximed>To catch up with past conservations, I look at logs.guix.gnu.org <AIM[m]1>Everytime I hit a problem I searx up old logs <maximed>AIM[m]: It's a computer, and it's a personal computer, and probably it follows a few hardware conventions that were introduced by the IBM PC. <maximed>Or do you mean ‘computer with MS-Win installed’ with PC? <Lumine>I'm so excited that I got Guix finally on my temporary main computer, I ditched everything else so I have more time to learn it. Been configuring it all day. <Lumine>Every other system from it I mean <Lumine>Total newbie but I'm falling for it fast <Lumine>Also took up learning Lisp recently, so I think it's the perfect fit <AIM[m]1><maximed> "Or do you mean ‘computer with MS..." <- No no <AIM[m]1>I could've used the term Desktop but yeah... <Lumine>I started with Arch derivatives in the ages past, then moved to Arch itself <AIM[m]1>I've been running it for 5 years now... Arch... I even made my own bash script to automate it... <AIM[m]1>My Desktop completely supports the Libre Kernel with 0 issue <AIM[m]1>I can't say the same for my Laptop, but um, I'd get a liberated one soon. <Lumine>For me it's spitting some info on proprietery firmware when I boot this but it's nothing severe <AIM[m]1>Yeah Yeah, but for my desktop it doesn't do that it seems <Lumine>Still, I'm running in Intel mini PC <AIM[m]1>I should get some AMD chadripper with some sweet sweet Libre Atheros and all <AIM[m]1>I don't use graphics card as of now, had an Ryzen 5 APU back then <Lumine>My main desktop is getting looked at, did everything but it hangs, probably motherboard issue. So I got this puppy to play around with now. <Lumine>AIM[m]1: do you use it also for server purposes <lilyp>devmsv: since exwm goes into your operating-system you could probably just do with a package transformation (see guix transformations), but don't quote me on that <djeis>You don't need to make a custom channel just to make a custom package definition. <djeis>You only need a custom channel if you want to be able to refer to your custom package from the command line (without using the library flag). <djeis>But with an operating-system or home-environment you can give custom package objects directly. <djeis>My home environment has a packages list that goes (cons* pack1 pack2 (map specification->package '("pack3" "pack4"))), where pack1/2 are custom package definitions and pack3/4 are packages from channels I'm looking up by name. <devmsv>So, now the dumb question where to find documentation to define custom package? Can I define them before operating system declaration? Sorry but I haven't grasp my head around GNU info documentation <djeis>Sure, you can absolutely define them above the operating-system expression. <djeis>Likely you'll want to inherit from the existing exwm package, so you can avoid duplicating the fields you're not changing. <djeis>(although someone else might have a more recent ref for you) <djeis> http://ix.io/3oVP (from the logs you linked above, I've not tested but they look reasonable) gives examples of the exact sort of thing you're trying to do. <djeis>I pull exwm in with doom/straight instead of guix, otherwise I probably would be doing this too. <devmsv>Thank you djeis will comment if I make it work <RomanR>Hello. I am running out of space when trying to reconfigure the system (13.1 GB total, 5.3 GB free after garbage collecting with generations deletions). Is there a way to upgrade system packages gradually or remove some system packages without upgrading the rest? <civodul>RomanR: hi! what you can do is start "guix gc -d4m" (say) once "reconfigure" has started doing its work <civodul>that way it'll delete only things that reconfigure is not going to need <apteryx>oh, I got some (small) clue for the berlin SSD issues <apteryx>when I expose the drives via -hdX it can read the alright; but when I expose them as SCSI block devices, they don't.