IRC channel logs


back to list of logs

<fps>hmm, if i set up another profile like e.g. guix package --profile=~/.another_profile -i foo
<fps>and then "activate it" by sourcing ~/.another_profile
<fps>and then "activate it" by sourcing ~/.another_profile/etc/profile
<fps>how can i "leave" that profile?
<leoprikler>you can't
<fps>only by exiting the shell or by manually unsetting all env vars?
<leoprikler>If you want to enter/exit that profile at will, you will have to do one of the following:
<leoprikler>1. $SHELL; source .another_profile/etc/profile
<leoprikler>2. use environments
<leoprikler>in either method you quit via C-d
<fps>is there a way to "pin" an environment? so that a guix gc doesn't collect its packages while the environment is not in use?
<leoprikler>I think it was -r or -R
<fps>hmm, ok
<leoprikler>So what you'd want is something like the following:
<fps>will deleting the root symlink suffice to remove the gc root, too?
<nckx>fps: Root symlink?
<fps>guix environment -r my_environment --ad-hoc some_package
<nckx>The link is the root.
<leoprikler>guix treats generations as GC roots as well afaik
<fps>nckx: ah ok. the help text is not completely clear about it
<fps>sounds like two separate things
<leoprikler>so if the symlink vanishes, so should the GC root
<raghavgururajan>nckx leoprikler Oh I must missed their messages lately. All good.
<leoprikler>what happened?
***akko is now known as stallman
<gnutec>Just install EMMS. First time I use emacs-guix to do that. So nice to see that everything work in guix end emacs. :D
***stallman is now known as gologolo
<bdju>does anyone know a site for finding a freedom-respecting WLAN card besides h-node? they don't have any m.2 cards
<bdju>anyone know if the Atheros QCNFA435 would work? I'm not really sure how to check
<gg11>Hello everyone
<gg11>suppose we have a qemu that emulate Raspberry pi3
<gg11>is it possible to install qemu package on this machine?
<gg11>this is the tutorial that used for emulation:
<gg11>any idea?
<gg11>gg11: edit: is it possible to install guix package on this machine?
<gg11>: )
<leoprikler>gg11 there has been some experimentation with the raspi3 IIRC
<leoprikler>setting up guix there will probably work, although there are a few steps different from the desktop setup
<Franciman>I wanted to write a package for a software I use, but I want to target the HEAD version
<Franciman>so that whenever I update I get the latest version
<Franciman>is it possible? I would say no, because it makes builds not reproducible, and in fact I can't determine a sha256 hash for HEAD since it changes
<leoprikler>Franciman: you can write such a package, but you will have to omit the hash.
<leoprikler>Also, it's not really suitable for packages in GUIX_PACKAGE_PATH.
<leoprikler>but there is a use for this technique if you're a developer.
<Franciman>I see
<Franciman>well at the end of the day I can update the hash everytime I want to update, this also forces me to actually see what I am updating to
<leoprikler>It is also a good idea to not pack development snapshots unless it's absolutely necessary.
<Franciman>leoprikler, do you use personal packages?
<Franciman>do you simply add them to GUIX_PACKAGE_PATH or do you use another method?
<leoprikler>I use a custom channel with a local git repo.
<Franciman>let me try
<Franciman>it's so cool!
<pen14641>Hi, can I make scripts starting with #!/bin/bash work, without modifying the script?
<leoprikler>#!/usr/bin/env bash should work
<leoprikler>or just write a wrapper that uses /bin/sh to invoke "bash script"
<pen14641>Thanks :)
<Franciman>is there a document with all API types?
<Franciman>I can't seem to find the description of the channel type
<leoprikler>the Guix manual should document these things
<leoprikler>4.7 Channels may not be a complete "API description" of the channel type, but it shows the fields you can set through examples
<Franciman>oh yes
<Franciman>I was just wondering how I can specify an url to a local git repo
<Franciman>yes, but do I need to point to the topdir
<Franciman>or to file:///home/yo/my-dir/.git ?
<leoprikler>in your example, it would be file:///home/yo/my-dir
<anon987321>hi guix
<Franciman>How do you deal with programs configurations?
<Franciman>For example I have my configuration for vim
<Franciman>do you manually manage configurations?
<Franciman>Or is there any trick to make guix keep record of that?
<rndd>does anybody had experience with installing linux binaries (for examples games from gog) using guix?
<nckx>Franciman: There are experiments:
<kirisime>How do I move the store to a different partition without breaking anything?
<grumbel>kirisime: On GuixSD or on another Linux distribution?
<nckx>rndd: You can use patchelf to patch the interpreter, patchelf or (maybe) LD_LIBRARY_PATH to find shared libraries (ldd is provided by the glibc package), or possibly experimental things like
<nckx>The latter only works on Guix System.
<sturm>is there a guix package that contains the program "at" for scheduling commands in the future? It's a tricky one to search for!
<kirisime>grumbel: On another distro.
<grumbel>kirisime: Just shutdown the guix daemon, move the files over to a new partition and add it to the fstab, mount and restart the daemon should do it. As long as you don't have anything early in the boot process that depends on /gnu being there that should do it
<nckx>sturm: I was expecting it to be part of some larger package, but its own thing: So just not packaged in Guix yet.
<grumbel>kirisime: guix does some stuff with hardlinks that might not make it over depending on how you copy it
<nckx>s/its/& &/
<grumbel>kirisime: I don't think the hardlinks are critical, but just a storage saver, there might be some 'guix gc' option to fix it later
<nckx>☝ yes.
<sturm>thanks nckx, I might have to try packaging it some time ):
<grumbel>kirisime: guix gc --optimize
<nckx>sturm: OK, I'll wait ;-) Do you know how it works? If it just writes jobs for cron it probably won't work out of the box, which would be why it isn't packaged. Maybe a new Scheme/mcron at would be better.
<nckx>Oh, it's a separate daemon.
<nckx>That's good.
<kirisime>grumbel: Thanks, I'll try it then.
<rndd>nckx: could you share some examples of using patchelf?
<nckx>rndd: I'm literally just leaving. I hope someone else or the man page can help (don't know if its any good). Good luck…
<rndd>nckx: ok
<vixus>Is anyone here using FDE with Guix System?
<vixus>Is it ok to keep the /boot partition unencrypted?
<vixus>Actually, I'm confused. Looking at my setup, only my / partition is LUKS encrypted but the /boot/efi partition is unencrypted. Why does GRUB prompt me for a password on boot?
<vixus>Ah I'm guessing it's because GRUB config lives in /boot/grub
<grumbel>How does one use Guix channels? I added them to ~/.config/guix/channels.scm, they show up on 'git pull', but the packages in them don't show up on search or install
<vixus>Do you mean `guix pull`?
<grumbel>guix pull gives me "Updating channel 'jlicht' from Git repository at ''..."
<grumbel>But I just get "guix install: error: emacs-evil-escape: unknown package"
<grumbel>when trying to install anything
<vixus>after the guix pull, check that you're actually using the new guix generation
<vixus>The SHA(?) in `guix --version` should match the latest generation in `guix pull -l`
<vixus>If not, you need to `hash guix` or something
<fps>what does the hash command do?
<kirisime>fps: Typical shells don't actually search through everything in $PATH to find executables every time you run one, they have caches for it. Running hash is how your shell finds out guix is actually in a different store path now because it's a new version.
<fps>kirisime: aha. thanks
<kirisime>Guix might bring up some edge case that actually requires a rehash, because it's the only program I can think of that I've actually ever needed to rehash. If not for it I wouldn't know the functionality existed.
<vixus>I think it's because of all the symlinking
<vixus>I have a lot of trouble with it on fish shell
<vixus>tfw you run `guix pull` from two terminals simultaneously
***freedom is now known as gnufr33d0m
<str1ngs>grumbel: did you add the default channels as well with %default-channels
<nckx>vixus: Because GRUB needs to load the kernel+initrd into memory. They both live in /gnu/store.
<nckx>So even moving grub.cfg isn't enough.
<vixus>nckx: ah didn't think about that. Is there any way to make it more user-friendly?
<nckx>vixus: You mean only prompting for the passphrase once? By embedding the LUKS key in the initramfs. Some other distributions apparently do this, but Guix doesn't have any code to handle that [yet].
<nckx>You can also manually copy the kernel + initrd (and GRUB modules, I forgot about those) to an unencrypted partition. That could reduce security, although probably not as much as you'd think. (As in: you're already vulnerable to the attacks it would invite.)
<vixus>How would one know which things to copy?
<nckx>Just the kernel/initrd (see grub.cfg for paths) for each entry you want to boot. How to name them and adjust the configuration are of course up to you. For GRUB, you'd need to manually invoke grub-install so that it copies & finds the modules in the right place.
<nckx>I'm just saying that it can be done, not whether or not it's worth your time.
<nckx>I just enabled auto-login to X to compensate for the 2 LUKS prompts 🙂
<vixus>To be honest I wouldn't really mind except the GRUB decrypt is really slow
<nckx>It is.
<vixus>nckx: Does your auto-login work using a display manager or do you auto-login to TTY then start X?
<nckx>My original plan was to replace my UEFI firmware with something (Linux if possible) that decrypts much faster than GRUB. But that's a big project and I can't miss my laptop for that long ATM.
<nckx>vixus: I use SLiM, but GDM has recently grown such an option too if memory serves.
<nckx>(Slim = a minimal display manager.)
<kirisime>That was the longest /etc/ population ever.
<vixus>I've been building the kernel for almost an hour.
<nckx>vixus: Sounds about right.
<kirisime>vixus: You'll look back to saying that when you realize you've spent a week building kernels.
<kirisime>Kernel compilation is kind of painful on guix in comparison to other distros though, mostly because on other systems you just call make and the build system avoids recompiling things that were built previously.
<leoprikler>that only counts when you're modifying an already compiled kernel though
<nckx>And imply you're not using a package manager at all.
<leoprikler>actually, that's the way Gentoo does it, so..
<kirisime>Yeah, but if your only mistake was a single switch in the config guix will still rebuild everything.
<nckx>I knew there was a reason I quit Gentoo.
<nckx>kirisime: Sure, it's a purity/time tradeoff, and Guix skews heavily towards purity.
<kirisime>Could you just put the compiled objects into the store and link them together to make kernels?
<leoprikler>i.e. modularize the kernel build?
<leoprikler>you'd probably still have to do everything again when the config changes
<nckx>Does the Linux build system support that? It doesn't seem like their style.
<leoprikler>even if it did, since it's one config for everything, you'd have to build all the modules then
<vixus>When I install a system using the install image, does it use the kernel bundled with the install image or build a new one (assuming I need to build a kernel)?
<leoprikler>probably, but especially if you guix pull during install
<kmicu>Hi bdju: there’s no modern wifi/bt chips working without blobs and that’s the reason you couldn’t find anything about it.
<kirisime>vixus: The install image boots with a kernel in the store, you can look at the store path in GRUB. When you write your config.scm and run guix system init, if the definition of the kernel package you use is the same as the one the image boots with, then it'll just copy the kernel. If you've run guix pull before initializing, you might get a substituted kernel from If you've actually made a modification to the kernel
<kirisime>package you use, you'll need to build it yourself.
<Franciman>can I use guix to manage env variables?
<nckx>Franciman: Guix has a machanism for packages to declare search paths (like for plug-ins &c.), nothing like a generic ‘variable manager’.
<Franciman>hmm thing is, I use a program, named kakoune. The guix package changes the source code with a trick to make it find the shell
<Franciman>now kakoune can look into the env variable KAKOUNE_POSIX_SHELL to find the shell. So instead of modifying the source code
<Franciman>I could say run kakoune with KAKOUNE_POSIX_SHELL = (which "sh")
<fishinthecalcula>Hello Guixers! Some days ago I wrote about my attempt at packaging Malmo, an environment to run Reinforcement Learning algorithms in Minecraft.
<fishinthecalcula>I made some progress in the meantime: I managed to build libboost 1.67 ( ) against python3 and i think i'll soon send a patch for the libboost included in Guix. Malmo ( ) seems now to build just fine, except for the Minecraft cmake target.
<Franciman>maybe I should produce a wrapper around the executable
<fishinthecalcula>To build Minecraft, Malmo relies on gradle 2.14 for which i packaged ( ) the zip distributable and added it as a native input to Malmo. The build process seems to accept my zip but fails with the same message I was getting when I tried to run all of this from a python virtual env which is "Failed to load native library '' for Linux amd64.". Here is the complete
<fishinthecalcula>guix output .
<fishinthecalcula>Have any of you had any luck in running gradle under the Guix System?
<Franciman>nckx, another question i have is, can I create packages which only consist of config files? And thus the package building results in putting those files in $HOME/.config
<Franciman>package installation, sorry*
<nckx>Franciman: Packages can only install into their own /gnu/store/…name-version[-output]/ directory. You'll have to manage the copying/linking to ~ (or elsewhere) yourself, for example by creating a profile and symlinks into it.
<Franciman>where can I find documentation about profile?
<nckx>‘info guix’ is your best bet. There's also which would appeor to share some of your ideas.
<nckx>It's a bit more drastic than linking a few files into ~/.config, though. A bit too drastic for me 🙂
<Franciman>I couldn't find much abour the symlinking part
<Franciman>when I run guix install packagename
<nckx>Well, no, you'd create the symlink yourself.
<Franciman>I get the first part, where a dir is created in the store
<Franciman>but then how are the symlinks createad in my profile?
<nckx>By Guix. Every time you run ‘guix install’ (or ‘remove’ etc.), a new profile is created, by default in ~/.guix-profile but it can be anything you want. You can have as many profiles as you like.
<nckx>So you could, for example, ‘ln -s ~/.guix-profile/foo/bar/my.config .config/bar/config’.
<nckx>And create a package that installs a file into /gnu/store/…/foo/bar/my.config.
<Franciman>ah, so, anytime i install a package (or a list of packages)
<Franciman>its directory in the store is copied in ~/.guix-profile
<nckx>Symlinked, but yes. Unless you specify a different profile with ‘-p ~/.for-example’.
<nckx>If you look at $PATH, you'll see that's how programmes are found.
<nckx>Instead of looking into /gnu/store directly.
<Franciman>ok thanks
<Franciman>sorry but i couldn't find an explaination of this phase in the docs
<grumbel>I think I finally figured out my channels-not-working issue, I had the guix package installed and ~/.guix-profile/bin/guix ended in the $PATH before ~/.config/guix/current/bin/guix, so the channel changes never showed up
<nckx>grumbel: You should ‘guix remove guix’, Guix should never be ‘guix install’ed so ~/.guix-profile/bin/guix should never exist.
<puoxond>Hi Guix!
<nckx>o/ puoxond.
<puoxond>I've updated icecat to version 68.2.0-guix0-preview3. Where should I report issues, if I find some?
<nckx>puoxond: bug-guix at
<nckx>bandali here is co-maintainer, I think.
<bandali>nckx, i am, but am currently in the middle of organizing emacsconf :)
<bandali>(we’re live btw!)
<bandali>i think bug-gnuzilla would be a nice place
<nckx>bandali: OK, thanks!
<puoxond>nckx: I figured since it's a preview I should report directly to the icecat people. I'll send it to bug-gnuzilla then.
<puoxond>(It's a minor issue where it says Firefox instead of Icecat in a private window)
<nckx>puoxond: In general I recommend bug-guix before upstreams, but these overlap anyway.
<nckx>Oh, right.
<nckx>Thanks for reporting it 🙂
<str1ngs>Franciman: guix profiles are reminiscent of the GNU stow days :P
<Franciman>ah lol
<str1ngs>I see that set the light bulb off :)
<raghavgururajan>Hello Guix!
<raghavgururajan>In my current user profile, IceCat version is "icecat-68.2.0-guix0-preview3.x86_64-linux". How can I install IceCat version "icecat-60.9.0-guix1.x86_64-linux" in the same user profile?
<raghavgururajan>Should I do `guix install icecat-60.9.0-guix1.x86_64-linux` ?
<nckx>raghavgururajan: You can't install both, since they will conflict and this will either cause an error or pick one at random (I forget). You'll have to use multiple profiles, or install only one at a time (which will be very fast once both are in the store).
<raghavgururajan>nckx By multiple profiles, do you mean different user account?
<nckx>You can even try running it directly (guix build icecat@foo; /gnu/store/…/bin/icecat). That should (IMO) work but some packages don't in practice.
<nckx>raghavgururajan: No, Guix profiles.
<nckx>Guess what we grew this week:
<nckx>a handy tutorial!
*nckx away.
<raghavgururajan>nckx I never tried creating mutiple profiles. Will try now.
<raghavgururajan>nckx Ah thanks!
<raghavgururajan>nckx Is it also possible run different icecat version via `guix environment` ?
<str1ngs>raghavgururajan: maybe using the --ad-hoc flags
<str1ngs>err flag
<raghavgururajan>str1ngs Thanks!
<nckx>raghavgururajan: Yes! You can think of environments as temporary profiles, or profiles as saved environments. ~/.guix-profile is just an ‘environment’ loaded every time you log in.
<nckx>raghavgururajan: guix environment --ad-hoc icecat@… -- icecat
<nckx>If you add --pure, I think you'll have to add at least font-gnu-freefont-ttf.
<raghavgururajan>str1ngs nckx Thanks! So is `guix environment --ad-hoc icecat@60.9.0-guix1.x86_64-linux --icecat` correct ??
<nckx>raghavgururajan: ‘guix package -A icecat’ only lists icecat@68.2.0-guix0-preview3 here, not that long thing.
<nckx>But the syntax of the command is correct.
<raghavgururajan>nckx thanks!
<raghavgururajan>rg@secondary ~$ guix environment --ad-hoc icecat@60.9.0-guix1.x86_64-linux
<raghavgururajan>guix environment: error: icecat: package not found for version 60.9.0-guix1.x86_64-linux
<raghavgururajan>So that means the previous versions are removed?
<raghavgururajan>I am looking for version just previous to 68. lists 60.9.0 before 68.2.0.
<raghavgururajan>> nckx‎: raghavgururajan: ‘guix package -A icecat’ only lists icecat@68.2.0-guix0-preview3 here, not that long thing.
<raghavgururajan>Oh I missed this message. So only one version is available.
<Franciman>when do I want to use native-inputs over inputs?
<ngz>Hello. I noticed that mame consistently fails to build on Cuirass, but the log doesn't contain any error message (on x86_64) and the package itself builds fine locally. Could this be related to a time-out value ?
<ngz>See e.g.,
<nckx>Franciman: A (very rough) explanation is ‘when the input is only used at build time, and not listed in guix gc --references <package>’.
<Franciman>oh i see
<nckx>raghavgururajan: Yes, Guix doesn't ship multiple versions of packages unless it needs to.
<nckx>You can write your own definition that inherits from 60.8, or simply copy a 60.9 definition you found elsewhere.
***janneke_ is now known as janneke
<vixus>Hmm my install USB boot gets stuck at "creating /etc/machine-id"
<raghavgururajan>nckx Thanks!
<ngz>I noticed that mame consistently fails on Cuirass, and the log stops abruptly without any error message (on x86_64). Yet the package itself builds fine locally. Could this be related to a time-out value? (see
<raghavgururajan>Folks! Intresting discussion on #emacsconf :-)
<puoxond>ngz: There's a similar issue with libreoffice: ~30 hours ago it failed on x86_64, i686, and aarch64. Same as with mame the log stops abruptly (no error message). The build succeeded locally on my x86_64 machine.
<vixus>some kind of dbus shenanigans
<vixus>Hmm, someone here earlier was talking about /etc taking ages to populate, maybe it's the same thing.
<vixus>Happens in a VM as well as on hardware
<puoxond>ngz: mame doesn't seem to fail consistently. If you search for 'mame system:x86_64-linux spec:guix-master', you'll see that it failed only once in the way you described (~30 hours ago) on x86_64.
<vixus>Oh I think it's this:
<Franciman>I made this package: But when I try to run guix build -f parinfer-rust.scm
<Franciman>I get this error:
<Franciman>guix build: error: #<unspecified>: not something we can build
<Franciman>what am I doing wrong?
<slyfox>maybe share full error output
<mange>Add a new line to the end of the file that just has "parinfer-rust" (without the quotes).
<slyfox>stack trace might be more instructive to look at
<mange>Guix will evaluate the file, taking the result of the last form as the thing that should be built. (define-public ...) doesn't return a useful value, but if you finish the file with your package variable then Guix can build it.
<Franciman>slyfox, I don't know how to show it. that was the only error being displayed to me
<Franciman>also, should I add the rust crate dependencies to inputs?
<Franciman>or does the build system automatically detect them?
<Franciman>I didn't quite get this bit
<mange>You have to explicitly add your dependencies as inputs.
<Franciman>also the ones written in Cargo.toml?
<mange>See "(guix) Build Systems" in the manual for Rust specifically. It sounds like it's a bit different to other languages.
<Franciman>I read it
<Franciman>but it seems cryptic to me
<mange>It sounds like you want to add the dependencies in your Cargo.toml file to the #:cargo-inputs argument, and the dev-dependencies to #:cargo-development-inputs.
<mange>How familiar are you with Guix package recipes?
<Franciman>I started today
<Franciman>and could not find any example of the cargo-build-system
<slyfox>I think 'guix build' needs a package to build it seems
<slyfox>(not just a file)
<mange>Let me see if I can get you a link to an example of the #:cargo-inputs.
<Franciman>ah thanks!
<mange>Unfortunately I don't really know anything about the cargo-build-system, but if you run into any other issues I can try to learn quickly. :P
<Franciman>I'm trying to build my package to see what error I see
<Franciman>it's downloading thousands of mb of rustc versions
<Franciman>it has already downloaded 8 rustc versions :P
<Franciman>thanks mange
<nckx>Franciman: Rust sources?
<nckx>That's going to take a long time to build. Do you have substitutes enabled?
<nckx>Rust is bootstrapped through a very long chain of older versions. Someone mentioned it taking 90 hours on their (older) laptop.
<Franciman>yes I read it
<Franciman>which substitutes?
<Franciman>ok now it is compiling all the rusts :P
<nckx>Franciman: Is this a Guix System?
<gnutec>Programing in C with C library. The official e-books of Free Software Foundation.
<nckx>Franciman: Hm, strange, substitutes should then be authorised automatically.
<Franciman>nckx, maybe I wrote a bad package. Now I am trying to install rust separately
<Franciman>I ran guix install rust
<mange>That should be the same as your package depending on rust as an input.
***pc is now known as Guest93751
<nckx>Franciman: Which guix commit does ‘guix describe’ give?
<Franciman>it gives me an error... strange
<Franciman>failed to determine origin
<Franciman>hint: Perhaps this `guix' command was not obtained with `guix pull'? Its version string is
<Franciman>what the hell
<nckx>Franciman: You are running a very, very old Guix.
<nckx>Have you ‘guix pull’ed?
<Franciman>a couple of times
<Franciman>I'm doing it again now
<nckx>Franciman: Wait. First, what does command -v guix say?
<Franciman>nckx, maybe i ran guix pull only from root
<Franciman>as root*
<nckx>Franciman: It should be ‘/home/<you>/.config/guix/current/bin/guix’.
<nckx>Franciman: Oh. Run it as you and then run ‘hash guix’ (or start new shells).
<Franciman>nckx, ok
<Franciman>now it seems to be more reasonable
<Franciman>now it asks me to set GUIX_LOCPATH
<Franciman>after I installed glibc-utf8-locales
<nckx>That's cosmetic and should go away once everything's up to date.
<nckx>Your system and user profile.
<gnutec>I go to #Blender and other IRC. This is the most active.
<nckx>At least now ‘command -v guix’ should return the /home path above, and ‘guix build rust’ should simply download a pre-built Rust.
<Franciman>it does
<Franciman>thank you very much
<nckx>gnutec: 🙂
<nckx>Franciman: 🙂 for you too.
<vixus>Any ideas how to use the wpa-supplicant-service-type? Where does it get its configuration from?
<mange>Have you looked at "(guix) Networking Services" in the manual? It looks like it takes a wpa-supplicant-configuration object, much like other services.
<gnutec>vixus: I think you mean nmtui-edit in terminal.
<vixus>gnutec: That's for NetworkManager, I imagine