<vagrantc>because people are just using cellular data plans in many places?
<lfam>My jobs is "live event technology". I handle technological components of events involving hundreds to thousands of people. 5 years ago, it was common to need to worry about wifi at events. Everyone needed the wifi password. Now, we never get asked about wifi, and many venues do not offer it. Everyone is using LTe
<lfam>It's more reliable and you don't need a password
<pkill9>wired broadband is still a lot faster than mobile
<lfam>Of course, but it's not an option for guests at an event
<lfam>You need to be well-rested for Rust packaging. Maybe try training for a few weeks with Python, then a few weeks of Go
<nckx>Well, it's weird (to me): guix import crate --recursive rust-smithay-client-toolkit produces 3 packages. So I guess Guix knows the rest is packaged? (I did not verify this.) But now it still expects me to add -X.Y to every single input? If it doesn't have that information, how can it know what not to import? If it does... whyy??
<nckx>The problem is definitely that I didn't know what I was getting into.
<lfam>I look back at work I did packaging rav1e and... I can't believe it happened
<necrophcodr>Hi everyone. I've been trying to do a `guix pull` on a SBC system with 1GB of RAM, and while I know very well that this is NOT the ideal situation and use case of guix, it is nonetheless something I wanted to give a shot.
<necrophcodr>Does anyone know of a way to optimize RAM usage of Guix?
<nckx>Python can be nerve wracking because absent test it's a run-time crap shoot, but it is in no way close to this. I quite enjoy wrangling the snake.
<necrophcodr>And if it's not really doable, is there a way to build something for a different architecture, and load it up into the store on a different device? (Such as building applications on a server, and trasfering the outs to the SBC?)
<nckx>Bah 🙂 lfam wants me to complete the hazing ritual first. I just wanted a shinier shiny terminal.
<lfam>necrophcodr: First, I can confirm that you'll need a little more than 1 GB for that, and swap will work, although it will be slow. You can build on another machine and move the results over, using `guix copy`. If the two machines are not the same CPU architecture it's a little more complicated but still possible
<lfam>Finally, we know it's an issue and are working to reduce the RAM usage in the context of `guix pull`, although I don't know the exact status of that work
<nckx>necrophcodr: The latter is definitely possible, using --system on a more powerful machine (it doesn't even need to be the same architecture).
<nckx>lfam: Thanks for the help/therapy. I'm going to stash this mess for now and ruminate on things.
<necrophcodr>Thanks to both of you! I will be looking into manually building and guix copy'ing stuff around for the meantime. I don't mind the slowness of guix pull all that much, I'm usually not in a hurry if I'm running updates :) The RAM usage isn't a problem on any of my other devices, but for a "low-power" SBC (not actually low-power, just lower-power really), it's a bit big
<necrophcodr>vagrantc, I know about offloading, but does that work with other CPU archs like x86 vs ARM?
<nckx>Yes, if you set up the qemu-binfmt service (see manual).
<nckx>A month ago I would have recommended it as magic but it's been unreliable for me lately. But that's probably not Guix's fault, it's just not very fault-tolerant of bad networks.
<vagrantc>i did briefly run guix on a wandboard solo with 512M of ram ... but have too many higher spec machines to fight with it
*nckx was unclear: *offloading* troubles. qemu is as reliable as ever.
<necrophcodr>Thanks again for the info, I've noted it, and will be looking at it at a later date, when it isn't night anymore :)
<jurlerci>hello, im thinking about moving to guixsd, coming from nixos. i was wondering what the advantages of guixsd over nixos would be, im interested in reproducible environments for building software, especially pinning libraries and whatnot
<apteryx>One of the differences between Guix and Nix that I know is that in Guix everything is free software.
<pkill9>jurlerci: for me the advantages are, better commandline interface, better language (in my opinion), more organised package definitions e.g., no capitals in the package names
<jurlerci>how far does that extend? i dont have an atheros wireless card so will i not be able to use wireless?
<apteryx>to me that's a benefit; I want my distro to be as pure as possible and not be tricked into installing software whose sources I can't access should I want to study it.
<pkill9>everything is built from source, there are no package definitions that just get a prebuilt binary and wrap it
<apteryx>jurlerci: it comes at the price of reduced hardware support, but that hasn't really been a serious hindrance (I've got a USB dongle to plug in the machines whose WiFi chips aren't supported by free firmware)
<jurlerci>hmm ok, i want to get an atheros card eventually but until then no wireless is a bit of a deal breaker, i only really work at libraries
<apteryx>I reckon another advantage is good documentation that covers Guix, as an info manual. After you've learned the basics of an info reader, you won't be depending on the browser as much to find the information you need.
<apteryx>then, there's one (powerful) language to bind everything together, from your system to your package definitions.
<leoprikler>because you'd need openjdk as an input to build the bindings in the first place, no?
<raghavgururajan>leoprikler, AH! I am looking for the opposite. Java Bindings are enabled by default. So I wanted to pass "--disable-java-bindings" as configure-flag, if the current-system is not supoorted by openjdk.
<leoprikler>you can do something like (if check '() '("--disable-java-bindings"))
<raghavgururajan>Alsom I already have the snippet to add openjdk as native-input, if the current-system is supported by openjdk. This snippet is almost similar to what you pasted above.
<necrophcodr>So my question is if this is fixable? Is it possible to run guix upgrades (guix pull) only as root, with all channels defined only for root, but still have ordinary users be able to install packages?
<rekado>necrophcodr: as far as Guix is concerned the root user is just some user. Its packages or settings don’t affect other user accounts.
<rekado>you can make the root user’s Guix available globally by linking it to a global location (e.g. /usr/local/bin).
<necrophcodr>rekado, but then surely the above should work, when on a foreign distribution the `guix` binary is available as a symlink in /usr/local/bin/guix and points to the root users current guix version?
<rekado>do you want to disallow “guix pull” for regular user accounts? Or is it just about specifying channels globally?
<necrophcodr>I've performed a readlink on /var/guix/profiles/per-user/root/current-guix/bin/guix and it points to a binary in the /gnu/store, and I compared this to what under root /root/.config/guix/current/bin/guix points to, and it's the same.
<raghavgururajan>nckx: I wanted to ask you about another error. In the git repo you pulled, if you try to build mutter with tests enables and commenting-in the 'custom-check phase, there will be an error "Cursor not found". I spent hours fixing the mutter tests and fixed most of the errors, but this supposedly last one is notorious. I even tried setting XCURSOR_PATH. Didn't work. Can you have a look?
<rekado>pkill9: we need to use the variant of libjack.so that the running server expects. We can’t use the JACK1 libjack.so with a JACK2 server.
<rekado>so it seems that setting LD_LIBRARY_PATH to swap out libjack.so is correct here.
<reepca>what's a command that I can use as a no-op to replace ldconfig?
<rekado>for Guix System we could probably find a way to make this a little nicer.
<brettgilio>Me: I have many years of experience in OCaml, Scheme, Haskell, and monadic effects. I am a compiler developer at heart, but can apply rigorous mathematical structures to programming for type safe and algebraically effectful results! I also know proof assistants!
<brettgilio>Job search: That's great! I don't know what you said. Have you heard of CSS3 and Swift?
<Kimapr[m]>So currently i'm booting guix with efi-grub. But my computer runs BIOS so i have to use something like DUET to actually boot it, which adds another booting step. When i try to install GRUB as non-efi it fails to boot complaining "unknown filesystem"
<nckx>This sounds like your first stage GRUB is installed without the file system driver required to load the rest of GRUB (modules under /boot). Which means grub-install is very confused & thinks the partition containing them is a different file system type than it actually is.
<Kimapr[m]>alright, i'm trying i386-pc with --modules=usb
<nckx>Kimapr[m]: i386-pc. And GRUB just uses the ‘devices’ exposed by your BIOS, it does not use its own USB (or SATA) driver by default. Including usb probably won't hurt but I think you should look at file systems (e.g., ‘ext2’) instead.
<lfam>Something I don't really understand about configuring the kernel build is that it offers options that don't seem to make sense. I'm configuring for armhf and I have to decide if I want to enable SPI drivers for AMD chips
<lfam>Does it mean that something is missing? Or some things should be disabled?
<vagrantc>i should probably confirm this myself before going down this rabbit hole
<lfam>I haven't done an exhaustive survey but I have tended to notice that the Intel-compatible configs enable most device drivers, like you would expect for a distro kernel. But the ARM configs tend not to
<vagrantc>but i looked at the config difference between linux-libre-arm64-generic and linux-libre and it looked very similar ... which means a lot of effort for very little gain ... back when i introduced the arm64 kernel it was based off of the Debian arm64 kernel config
<rekado>I think it’s not a good look for us to be so far behind with Gnome.
<happycorsair>Hello, everyone! Is there a mechanism in Guix that works like update-alternatives in Debian-based distros or eselect in Gentoo? My problem is that ctags is provided both by emacs and universal-ctags, and I'd like to use the latter