diff --git a/README.org b/README.org index 530e7f5..5fb2f16 100644 --- a/README.org +++ b/README.org @@ -166,10 +166,20 @@ TODO: disks need to be partitioned and appropriately mounted. This varies depend btrfs subvolume create /mnt/gnu/store btrfs subvolume create /mnt/home btrfs subvolume create /mnt/var + + # Create and activate swap + mkswap --label swap /dev/vg0/swap + swapon /dev/vg0/swap + + # Prepare /mnt for Guix installation + mkdir -p /mnt/boot/efi + mount /dev/nvme0n1p1 /mnt/boot/efi #+end_src *** Bootstrap System +**** Start ~cow-store~ Service + As described in guix documentation, start ~cow-store~ to allow later steps to write store changes to ~/mnt/gnu/store~. @@ -177,16 +187,29 @@ changes to ~/mnt/gnu/store~. herd start cow-store /mnt #+end_src -Create a ~bootstrap.scm~ file like this: +**** Optional (but recommended): Use additional or alternative substitute servers -#+begin_src scheme - (@ (rekahsoft guix-config ) %system) -#+end_src +Optionally additional or alternative substitute servers can be setup for guix-daemon. This is +recommended to greatly speed up installation (so that nonguix and rekahsoft-guix (internal +network only) substitutes can be used). -Use ~guix system init ...~ to instantiate the system. +First stop the running ~guix-daemon~. #+begin_src bash - guix system init bootstrap.scm /mnt + herd stop guix-daemon +#+end_src + +Then start a new instance of ~guix-daemon~ as it is normally started by its Shepherd service, +but with additional or alternative substitute servers provided. + +#+begin_src bash + guix-daemon \ + --build-users-group guixbuild \ + --max-silent-time 0 \ + --timeout 0 \ + --log-compression gzip \ + --discover=no \ + --substitute-urls https://substitutes.nonguix.org https://guix-ci.home.rekahsoft.ca https://ci.guix.gnu.org https://bordeaux.guix.gnu.org & #+end_src **** Create and Bootstrap System