<ryanprior>But people don't necessarily know to do that
<ryanprior>One thought I've had is to write a wrapper script for v that provides `-cc=gcc` by default
<ryanprior>Seems like a kluge but I'm open to consider anything
<nckx>My first idea is to make V always use the compiler with which is was built (and tested!), not whatever toolchain it finds in the environment. That would fix the problem at the expense of some patching, since you can't just use wrap-program. Has that been discussed and/or shot down? Would it be acceptable?
<nckx>What I meant by ‘hit and miss’ is that even ‘v -cc gcc repl’ doesn't work, even with .27.
<ryanprior>Hmm darn, I was pretty sure I had it working with .27 but I didn't document exactly what I'd done
<ryanprior>The idea of patching v to use by default the compiler it's built with was not shot down, and sounds reasonable to me.
<bavier[m]1>our Idris package has a similar problem, which requires users to set `IDRIS_CC=gcc` in their environment.
<HelloFriends>Hello friends. I'm a newbie to Linux and thought I'd try GNU Guix in addition to Debian. When I installed Guix on a partition, I lost Debian from the bootloader. Would a kind soul be able to help?
<g_bor[m]1>HelloFriends: Do you have a working system then, just lost debian boot from the boot menu?
<HelloFriends>Yes, GNU Guix works, and I see my other partitions using fdisk -l
<HelloFriends>I see there's a section on bootloader config in the help file, but I'm not sure if I'm supposed to create a fresh file and reconfigure guix from there, or if there's a file I can generate for myself and then edit
<g_bor[m]1>The operating system configuration file from your installation should still be available. You can modify that, but I usually create a new file, based on that and put it under version control.
<g_bor[m]1>You will need to add a menu entry for your other system in the config.
<HelloFriends>That makes sense. I see the menu entry command. Thanks for your help! I'm still looking for the default configuration file, but I suppose I can just write up a new one from scratch since it's more important that I get Debian back at the moment.
<xelxebar>HelloFriends: When your Guix System is running, you can find the currently active configuration under /run/current-system/configuration.scm.
<xelxebar>Let us know if you need help setting up your bootloader.
<HelloFriends>Thanks @xelxebar. That's helpful. I'm about to rebuild and see if that will do the trick.
<xelxebar>Let us know how it goes. For a Linux newbie, you have excellent taste in distros :p
<xelxebar>Hrm... The build of guile-static for armhf-linux is failing for me:
<xelxebar>while setting up the build environment: executing `/gnu/store/lgk876wh2bxxglplbwyymkx3sqzcbnk9-guile-3.0.2/bin/guile': No such file or directory
<xelxebar>That guile binary exists, as does the ld-linux-armhf interpreter it refers to.
<Brendan[m]2>Hmm. I sorta feel set-xorg-configuration should not have the optional login-manager-service-type and should be explicit. i was wondering why i was accidently downloading all this GDM stuff for a different greeter and realised it defaults to gdm-service-type
<Brendan[m]2>xelxebar i only have vague understanding of this, so i dont know the different between linker and loader
<HelloFriends>Well, looks like I'm stuck here a bit. I feel that I should add a menu-entry for debian in the bootloader configuration, but I'm not sure what to pass as the argument to "linux". It looks like my debian partition isn't mounted, so I can't go look. I tried adding the debian partition to the file system with my uuid, ran guix system ... as root, that
<Brendan[m]2>Is there any barrier to setting WaylandEnable=true for GDM?
<msavoritias[m]1>I installed guix yesterday and after I installed the updates. Which I had to start a lot for some reason btw. It says "cannot determine provenance for current system". When I do guix system reconfigure.
<xelxebar>HelloFriends: Is your /boot on a separate partition?
<xelxebar>HelloFriends: Either way, it's probably easier to just manually mount the partition (with the `mount' command) and peek at the grub/grub.cfg under there.
<HelloFriends>Yeah, I think there's an old /boot on the debian partition, and I think that running the graphic install instead of manual made this one the boot drive. Not too familiar with the details of bootloaders, so take that statement with a grain of salt.
<HelloFriends>Working on figuring out mount now, thanks for following up. :)
<xelxebar>HelloFriends: Your mount command will look something like this: mount /dev/sdx1 /mnt/foo. The /dev/sdx1 is the partition where your boot files exist and /mnt/foo is the mount point (i.e. the base of the filesystem hierarchy for that device).
<HelloFriends>I got it! Thanks. A question, do you think maybe I could just use fdisk or something to put the boot flag back on my debian partition, and it would load the old bootloader? I'd then add GNU Guix from the Debian side
<xelxebar>HelloFriends: No, the boot flag won't help in this case. Let me explain.
<xelxebar>The boot flag is mostly for ms-dos/windows. In your case, I guess the bootloader is grub. So we need to tell grub where to find your different partitions---one for debian, and another for guix.
<xelxebar>Grub is usually configured by looking at grub/grub.cfg in the boot partition.
<xelxebar>HelloFriends: The problem you are experiencing is this: Both Debian and Guix are creating that grub.cfg automatically; however, neither of them know of the existence of the other, thus they obliterate the menu entries for the other guy.
<Brendan[m]2>when a shepherd service fails, shepherd still says "service ... has been started", only afterwards does it say failed to start
<xelxebar>HelloFriends: If you want seamless dual-boot between the two, we will need to configure *both* guix *and* debian.
<xelxebar>HelloFriends: Is this making any sense so far?
<HelloFriends>@xelxebar Ah, ok. Boot flag is meaningless here. Your explanation makes sense. I'm curious how I can use the other bootloader if I have multiple partitions on a hard drive, with other their own /boot directory, but I was able to mount the debian filesystem and I can see the grub.cfg file there to find the initrd and kernel path. Do I use the mounte
<HelloFriends>d path in my config.scm, or can I use something like /dev/sdaX/boot/initrd.img-4.19.0-10-amd64?
<HelloFriends>I'm surprised to hear that I'd need to configure debian's bootloader as well, considering that my computer seems to boot into guix? I'd load into Debian, restart and it'd load debian's config, and Guix would be gone?
<xelxebar>HelloFriends: The path needs to be relative to the root of the parition where those files exist... If you don't have separate boot partitions, then yes, this means just use the full path for where those files exist.
<xelxebar>HelloFriends: Well, once you get guix's bootloader section configured correctly, then all should work just fine for now.
<HelloFriends>@xelxebar When you say relative to the root of the partition where those files exist, I do think I need to start with '/boot/vmlinuz-4.19.0-10-amd64' for the kernel for example. Considering I mounted my files to /temp, and /boot is right in there
<xelxebar>Well, once you get guix's bootloader setup, then it should work for now. But the issue is that Debian will eventually try to reconfigure/update grub.cfg once it updates a kernel, grub, etc.
<xelxebar>So at the moment, you probably have two grub.cfg's lying around, one for Guix (living under /gnu/store somewhere) and one for Debian (living under /boot/grub/grub.cfg in the debian partition).
<xelxebar>The most flexible (and easiest?) fix is probably tell each distro to put a "source (some-partition)/path/to/other/distros/grub.cfg" line in it's grub.cfg.
<efraim>the easiest option would probably be to add a menu-entry to chainload the debian grub from guix, but i'm also not sure how that works if you install a new kernel in debian, if that sets debian as the default and you need to add a chainloader from there back to guix
<xelxebar>Hrm. That might work. I successfully use the "source" option to maintain a custom grub.cfg "wrapper" that points to several other OSes.
<xelxebar>Not that familiar with chainloading, but sourcing seems lighter, maybe?
<efraim>i don't really know. I just know that chainloading is A Thing™ and sounds like it could work. It's been many years since I've had more than one OS on any machine I've owned.
<HelloFriends>Hmm, this gives me some stuff to search for later. Still trying to configure my .csm file, getting an type error on the menu-entry portion
<HelloFriends>is it (menu-entries (menu-entry ...)) or is there a separate syntax for arrays?
<efraim>I have an untested patch to allow meson to install lib to a separate output based on nix's patch
<xelxebar>efraim: Speaking of. I went ahead and spun up a beefy GCP instance to try building the bbb image. If you're still building and would like to kill it, please feel free :)
<efraim>xelxebar: I wish you luck! I feel like it shouldn't be this hard to build an install image
<efraim>have you thought of creating an os image instead to flash to it? it might go better
<nckx>HelloFriends: How did you set it up? Guix's menu-entries don't yet support ‘configfile’ and such, right?
<xelxebar>efraim: Hrm. Either way I want to install on the internal flash. Naively, I just figured and pre-made install image would be easiest...
<xelxebar>Any idea why guile-static may be failing with the above error?
<xelxebar>"while setting up the build environment: executing `/gnu/store/lgk876wh2bxxglplbwyymkx3sqzcbnk9-guile-3.0.2/bin/guile': No such file or directory"
<nckx>Assuming the above file exists, is it really static (=is it not trying to load a nonexistent ld/library)?
<xelxebar>nckx: The bin/guile exists as well as the loader it points to (/gnu/store/<hash>-glibc-2.3/lib/ld-linux-armhf.so.3).
<xelxebar>I really just need to lern me sum debugin skilz.
<HelloFriends>@nckx Sorry I missed your message, it looks like I got disconnected as well. I was able to mount the debian partition to find the location of parameters needed for the bootloader-configure options in the main config.scm file I used, to manually add Debian back to the GNU Guix bootloader
<xelxebar>HelloFriends: Guess you just added the linux and initrd fields directly?
<HelloFriends>@xelxebar Yes, indeed. That's the only way I thought I could do it! :)
<nckx>HelloFriends: Aha. Won't those parameters change when you update your Debian kernel/initrd? Or do they maintain some kind of /boot/bzImage → /boot/blah-5.8.2-deb145 symlinks?
<HelloFriends>No, they likely will change based on what xelxebar had mentioned earlier. But for now, I have my main workspace back, which was my urgent need...haha :)
<HelloFriends>The future plan will be to see if I can add GNU Guix to the Debian grub.cfg in some way. Looks like Debian automatically maintains it when it runs update-grub. I'll make a note to look into symlinks for that as well.
<nckx>I recommend using ‘configfile /path/to/guix-grub.cfg’ from the Debian side, letting Debian install the main GRUB, and using ‘(installer #~(const #t))’ to disable Guix's GRUB installation every time you run ‘guix system reconfigure’. Guix will still update its own grub.cfg.
<Brendan[m]2>im dealing with the most annoying bug where text input in the tty shell is buggy, most key presses dont register, i have to hold a button in and wait for it to work, and then try backspacing accidental extra inputs
<Zambonifofex>Hello, everyone! I’m new to Guix, and I have been trying to get a satisfactory set up with it using QEMU for a couple days. I have decided to try using Sway, and I have been trying to get it to be started by a display manager (any is fine).
<Zambonifofex>It seems GDM *can* launch Wayland sessions nowadays, but only if it runs on Wayland itself, which Guix seems to disallow for some reason. Is there any technical reason for it to not be able to run on Wayland, or is it just that no-one has put the necessary work into it?
<Zambonifofex>It seems lprndn was working on a LightDM service, but that seems to have stalled a couple months ago. It seems that it is in a “good enough” working state. Would anyone mind helping me with trying it out for myself? (I’m not too familiar with Scheme.)
<Zambonifofex>I was not able to install and use SDDM. The closest I got was getting it to show up, display “Sway” as an option, but freezing entirely when I click the “login” button. In my latest try, it shows a black screen after booting successfully.
<Zambonifofex>Hello, roptat! I have been able to run it from a tty, but only when I use `%desktop-services`, which means I have to manually switch to a tty, because it seems to automatically put me on GDM by default.
***jonsger1 is now known as jonsger
<Zambonifofex>Which is not a big problem, I suppose, it’s just a bit annoying, I think.
<nckx>raghavgururajan: Any idea? You wrote that Guide.
<simbaclaw>the post installation part doesn't come up for me :/ "On reboot, as soon as you see the libreboot graphic art choose the option load operating system [o]" "Enter LUKS Key, for libreboot's grub, as prompted." well I'm not seeing any prompts, it's not coming up at all.
<nckx>simbaclaw: Well, it's the same guide, but... different, so who knows.
<simbaclaw>it doesn't look like anything grub related was changed in the guide though
<nckx>simbaclaw: Wait, you're not seeing any Libreboot prompts?
<simbaclaw>I'm seeing libreboot, but not any prompts when selecting load operating system [o] with full disk encryption
<simbaclaw>it just stays at the graphic art of libreboot and does nothing
<simbaclaw>I saw the other person in the bug report say that if you install it unencrypted it would work :/ I could give that a try
<nckx>‘there's only visible a blank page with the artwork and it does nothing’ was ambiguous enough that I assumed that it was the Guix artwork.
<nckx>So if the manual ‘cryptomount (ahci0,gpt1) … boot’ commands work, Libreboot is doing too much or something different, you'd have too look at the code (hitting ‘e’ on "Load Operating System (incl. fully encrypted disks)", not return). I don't have Libreboot myself. raghavgururajan does, I'm still hoping they see this.
<simbaclaw>I'll give it another look. Perhaps I could try copying the bootloader part from config.scm
<Zambonifofex>I tried adding the `elogind` service with `(service elogind-service-type)`, and that seems to have worked, but I can see no reference to it in the manual. The closest thing was an `elogind-service` “procedure”, but that seems distinct. Is it normal for it to not be in the manual?
<nckx>Zambonifofex: Unfortunately not abnormal enough. The manual is, er, manually kept in sync with the code. Here, it wasn't.
<EventualVisitor>I've been trying to create a package specification for a golang package that depends on GO111MODULE environment variable, but it's hardcoded to "off" because current build system doesn't seem to support otherwise.
<EventualVisitor>Sorry if my question has an obvious answer. I've just learned today what Guix is.
<jackhill>EventualVisitor: As I understand it, the go-build-system dates from a pre-modules time, and we haven't implemented a module suporting system. The go-build-system works, but is known to be non-ideal
<jackhill>A package that doesn't support being built with it off (interesting, I didn't know those existed) might be good motivation for improving the build system. Maybe you can start a new bug or thread on guix-devel?
<jackhill>EventualVisitor: a hand-wavey description of the current build system is that it takes the dependencies and symlinks them into GOPATH.
<EventualVisitor>Some packages have a hard dependency on the new module system. At least, github.com/ethereum/go-ethereum has this quirk.
<EventualVisitor>Can you point me to some documentation that allows me to understand how to modify go-build-system.scm in a running system (apparently a sacrilege!) or after building a new image from scratch?
<EventualVisitor>I'll open a bug thread just in case, and I'm looking ahead to hack a patch together if the rabbit hole is shallow enough.
<ryanprior>EventualVisitor: I'm not sure what you mean - to modify it on your own system, or to modify it dynamically at package build time on other people's systems?
<nckx>Has anyone tried including a build system in a channel? Is that expected to work?
<EventualVisitor>It's running on VirtualBox with a old Haswell i7 top-notch (from its era) processor, and it should be fine, but internet connection is flaky and I'm pretty sure about that hour estimation
<ryanprior>nckx: I haven't tried it but my understanding of how channels work is that they overlay the entire Guix system, such that you could modify any part of it including the build system.
<nckx>I wonder why it did that and how it must never happen ever again.
<nckx>raghavgururajan: Dunno, haven't heard from them since.
<FlakyConnectionU>Getting the same error after `guix pull` and even running `guix environment guix --pure --ad-hoc guile-json`. I'm going to repeat the process with a fresh virtual machine, just in case.