wegei8
May 30, 2026, 12:32am
1
Is anyone out there using Fedora Silverblue or any other immutable/atomic desktop with guix as a package manager?
I’m currently trying out Silverblue and I mostly like it. The one huge drawback is that I can’t seem to install Guix on this thing.
I found this: Running guix package manager on top of Fedora Silverblue, updated instructions
But it seems like a fragile way of running Guix that could break during any upgrade.
I was trying myself with distrobox, but couldn’t get a successful guix pull.
$ rpm-ostree override remove toolbox --install distrobox
$ sudo mkdir -p /var/guix/gnu/store /var/guix/guix /var/guix/etc/guix
$ distrobox create --name guix --image debian:13 --init --root \
--volume /var/guix/gnu/store:/gnu/store \
--volume /var/guix/guix:/var/guix \
--volume /var/guix/etc/guix:/etc/guix
$ distrobox enter guix --root
# etc...
trev
May 30, 2026, 4:51am
2
I was using this and had it working. Didn’t click the tutorial you linked, but here are my instructions and modified guix-daemon system service:
# Guix on Fedora Silverblue
## Installation
1. Enter toolbox
2. Download and run `install.sh` guix installer
3. Install custom systemd service on host (.config/systemd/user/guix-daemon.service)
4. In toolbox, run the below permissions changes
5. `systemctl --user enable guix-daemon.service --now`
6. Now you can `guix pull` from within the toolbox
## Permissions workarounds for running daemon as $USER
```sh
chown -R $USER:$USER /gnu /var/guix
chown -R root:root /var/guix/profiles/per-user/root # might need to skip?
mkdir -p /var/log/guix
chown $USER:$USER /var/log/guix
This file has been truncated. show original
Modified systemd service
Sweet toolbox approach. It would be nice not having to install another package… hm…
I got the approach with distrobox working… it’s janky… but it seems like it’s working…
The script
$ cat install-guix-distrobox.sh
#!/usr/bin/env bash
set -e
host_prefix=/var/guix
set -x
distrobox rm --root guix
rm -f guix-install.sh
sudo rm -rf $host_prefix
sudo mkdir -p "$host_prefix/gnu/store" "$host_prefix/var/guix" "$host_prefix/etc/guix" "$host_prefix/var/log/guix"
distrobox create --name guix --image debian:13 --init --root \
--additional-packages "uidmap netbase" \
--volume "$host_prefix/gnu/store:/gnu/store" \
--volume "$host_prefix/var/guix:/var/guix" \
--volume "$host_prefix/etc/guix:/etc/guix" \
--volume "$host_prefix/var/log/guix:/var/log/guix"
curl -LO https://guix.gnu.org/guix-install.sh
chmod u+x guix-install.sh
distrobox enter --root guix -- sudo GUIX_ALLOW_OVERWRITE=1 ./guix-install.sh
set +x
echo "distrobox enter --root guix"
echo "then"
echo "sudo GUIX_ALLOW_OVERWRITE=1 ./guix-install.sh"
Using it
host$ ./install-guix-distrobox.sh
# the first run fails, is expected...
host$ distrobox enter --root guix
# yes, you have to re-run the installer
guix$ sudo GUIX_ALLOW_OVERWRITE=1 ./guix-install.sh
It installs guix under /var/guix on the host. I believe this should survive container re-creation.
With the toolbox approach, does the guix data get blown away if you have to re-create the container?
trev
June 10, 2026, 5:30am
4
What other package? Toolbox (toolbx) is built-in on Silverblue. Distrobox is a “beefed up” version of Toolbox.
With toolbox or distrobox (they behave the same pretty much), removing the container will blow away the /gnu/store if you delete the container, so yes.