Guix

1. Example configs

2. Install on foreign distro

cd /tmp
wget https://guix.gnu.org/guix-install.sh
chmod +x guix-install.sh
sed -i 's@https://ftpmirror.gnu.org/gnu/guix@https://mirror.nju.edu.cn/gnu/guix@g' guix-install.sh
sudo ./guix-install.sh
# Source/substitute mirrors.
mkdir -p ~/.config/guix
# I use guix-timemachine so no need to guix pull, only need to add trust.
cat <<EOF >~/.config/guix/trusted-channels.scm
(list (channel
       (inherit  %default-guix-channel)
       (url "https://mirror.nju.edu.cn/git/guix.git"))
      (channel
       (name 'nonguix)
       (url "https://gitlab.com/nonguix/nonguix")
       ;; Enable signature verification:
       (introduction
        (make-channel-introduction
         "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
         (openpgp-fingerprint
          "2A39 3FFF 68F4 EF7A 3D29  12AF 6F51 20A0 22FB B2D5"))))
      (channel
       (name 'rosenthal)
       (url "https://codeberg.org/hako/rosenthal.git")
       (branch "trunk")
       (introduction
        (make-channel-introduction
         "7677db76330121a901604dfbad19077893865f35"
         (openpgp-fingerprint
          "13E7 6CD6 E649 C28C 3385  4DF5 5E5A A665 6149 17F7"))))
      (channel
       (name 'sops-guix)
       (branch "main")
       (url "https://github.com/fishinthecalculator/sops-guix.git")
       (introduction
        (make-channel-introduction
         "0bbaf1fdd25266c7df790f65640aaa01e6d2dbc9"
         (openpgp-fingerprint
          "8D10 60B9 6BB8 292E 829B  7249 AED4 1CC1 93B7 01E2"))))
      (channel
       (name 'shikanox)
       (url "https://codeberg.org/ch4og/shikanox.git")
       (branch "main")
       (introduction
        (make-channel-introduction
         "fe3b5f72aa676c69f4d43507bdd18fb051906917"
         (openpgp-fingerprint
          "7C9E 7EBA 828C 58DF DACE  5BED 4DCC 7AB7 FC75 319B"))))
      (channel
       (name 'small-guix)
       (url "https://codeberg.org/fishinthecalculator/small-guix.git")
       (branch "main")
       (commit "f387d28980a67bc0e892e976555e7622307b7b2a")
       (introduction
        (make-channel-introduction
         "f260da13666cd41ae3202270784e61e062a3999c"
         (openpgp-fingerprint
          "8D10 60B9 6BB8 292E 829B  7249 AED4 1CC1 93B7 01E2"))))
      ;; small-guix's dependency, listed so that it is pinned too.
      (channel
       (name 'gocix)
       (url "https://github.com/fishinthecalculator/gocix")
       (branch "main")
       (commit "5cbc7d0cb911dd27eb364d350ac5a1ef43308316")
       (introduction
        (make-channel-introduction
         "cdb78996334c4f63304ecce224e95bb96bfd4c7d"
         (openpgp-fingerprint
          "8D10 60B9 6BB8 292E 829B  7249 AED4 1CC1 93B7 01E2")))))
EOF
wget https://substitutes.nonguix.org/signing-key.pub -O /tmp/nonguix.pub
sudo guix archive --authorize </tmp/nonguix.pub
sudo sed -i \
    "s@--substitute-urls='https://bordeaux.guix.gnu.org https://ci.guix.gnu.org'@--substitute-urls='https://mirror.sjtu.edu.cn/guix-bordeaux https://mirror.sjtu.edu.cn/guix https://bordeaux.guix.gnu.org https://ci.guix.gnu.org https://substitutes.nonguix.org'@" \
    /etc/systemd/system/guix-daemon.service
sudo systemctl daemon-reload 
sudo systemctl restart guix-daemon.service 

Updated: 2026-10-15 Thu 02:02