<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? <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: <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>So what you'd want is something like the following: <fps>will deleting the root symlink suffice to remove the gc root, too? <fps>guix environment -r my_environment --ad-hoc some_package <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 ***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>suppose we have a qemu that emulate Raspberry pi3 <gg11>is it possible to install qemu package on this machine? <gg11>gg11: edit: is it possible to install guix package on this machine? <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>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>do you simply add them to GUIX_PACKAGE_PATH or do you use another method? <pen14641>Hi, can I make scripts starting with #!/bin/bash work, without modifying the script? <leoprikler>or just write a wrapper that uses /bin/sh to invoke "bash script" <Franciman>I can't seem to find the description of the channel type <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>I was just wondering how I can specify an url to a local git repo <leoprikler>in your example, it would be file:///home/yo/my-dir <Franciman>How do you deal with programs 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? <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 https://miha.info/guix-fhs-service/ <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! <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 <grumbel>kirisime: guix does some stuff with hardlinks that might not make it over depending on how you copy it <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 <sturm>thanks nckx, I might have to try packaging it some time ): <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. <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… <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 <grumbel>But I just get "guix install: error: emacs-evil-escape: unknown package" <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 <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. <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>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 ci.guix.gnu.org. If you've actually made a modification to the kernel <kirisime>package you use, you'll need to build it yourself. <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. <Franciman>maybe I should produce a wrapper around the executable <fishinthecalcula>To build Minecraft, Malmo relies on gradle 2.14 for which i packaged ( https://paste.debian.net/1113196/ ) 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 'libnative-platform.so' for Linux amd64.". Here is the complete <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 <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>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 <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>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>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 gnu.org. <nckx>bandali here is co-maintainer, I think. <bandali>nckx, i am, but am currently in the middle of organizing emacsconf :) <bandali>i think bug-gnuzilla would be a nice place <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>Thanks for reporting it 🙂 <str1ngs>Franciman: guix profiles are reminiscent of the GNU stow days :P <str1ngs>I see that set the light bulb off :) <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? <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). <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. <raghavgururajan>nckx Is it also possible run different icecat version via `guix environment` ? <str1ngs>raghavgururajan: maybe using the --ad-hoc flags <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>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>I am looking for version just previous to 68. ci.guix.gnu.org 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. <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 ? <nckx>Franciman: A (very rough) explanation is ‘when the input is only used at build time, and not listed in guix gc --references <package>’. <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" <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. <Franciman>guix build: error: #<unspecified>: not something we can build <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? <mange>You have to explicitly add your dependencies as inputs. <mange>See "(guix) Build Systems" in the manual for Rust specifically. It sounds like it's a bit different to other languages. <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>and could not find any example of the cargo-build-system <slyfox>I think 'guix build' needs a package to build it seems <mange>Let me see if I can get you a link to an example of the #:cargo-inputs. <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 <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. <nckx>Franciman: Is this a Guix System? <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 <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>hint: Perhaps this `guix' command was not obtained with `guix pull'? Its version string is <nckx>Franciman: You are running a very, very old Guix. <nckx>Franciman: Wait. First, what does command -v guix say? <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). <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. <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