# Guix Installation

## Installing Guix

### Instructions

- Create USB with Guix installation image
- Boot and create partitions using graphical installer
- Bail out right before installation begins, go to terminal
    - Mount cow-store using herd start cow-store /mnt
    - Download latest version of configuration using `curl -o main.tar.gz --insecure --follow https://git.ryanserver.home.arpa/ryan77627/guix-config/archive/main.tar.gz` and unpack using tar
    - Authorize nonguix channel using `curl -o signkey.pub https://substitutes.nonguix.org/signing-key.pub and guix archive --authorize < signkey.pub`
    - Modify/add system config for system and initialize using `guix time-machine -C channels.scm -- system -L modules/ --substitute-urls='https://bordeaux.guix.gnu.org https://ci.guix.gnu.org https://substitutes.nonguix.org' init system.scm /mnt`
    - When installed, proceed
- Reboot into system, assign root and ryan user a password
- Setup system completely
    - Clone guix-config to proper location
    - Reconfigure system
        - `sudo -E guix time-machine -C channels.scm -- system -L modules reconfigure system.scm` <---- may not be needed
        - `guix pull`
        - `hash guix`
        - `sudo guix system -L modules reconfigure system.scm`
    - Configure GUIX Home
        - Install Nix Home Manager
        - May need to sudo herd restart nix-daemon or reconfigure system to get nix working???
        - `nix-channel --update`
        - `nix-shell '<home-manager>' -A install`
        - `home-manager switch`
- Everything should now be set up and ready to use :)
