Kieran's opinionated (and probably slightly dumb) nix config

Installation#

Warning: This configuration will not work without changing the secrets since they are encrypted with agenix.

macOS with nix-darwin#

  1. Install Nix:
curl -fsSL https://install.determinate.systems/nix | sh -s -- install
  1. Clone and apply:
git clone git@github.com:taciturnaxolotl/dots.git
cd dots
darwin-rebuild switch --flake .#atalanta

Home Manager#

Install Nix, copy SSH keys, then:

curl -fsSL https://install.determinate.systems/nix | sh -s -- install --determinate
git clone git@github.com:taciturnaxolotl/dots.git
cd dots
nix-shell -p home-manager
home-manager switch --flake .#nest

Set up atuin for shell history sync:

atuin login
atuin import

NixOS#

Only works with prattle and terebithia which have disko configs.

nix run github:nix-community/nixos-anywhere -- \
  --flake .#prattle \
  --generate-hardware-config nixos-facter ./machines/prattle/facter.json \
  --build-on-remote \
  root@<ip-address>

Using the install script#

curl -L https://raw.githubusercontent.com/taciturnaxolotl/dots/main/install.sh -o install.sh
chmod +x install.sh
./install.sh

Post-install#

After first boot, log in with user kierank and the default password, then:

passwd kierank
sudo mv /etc/nixos ~/dots
sudo ln -s ~/dots /etc/nixos
sudo chown -R $(id -un):users ~/dots
atuin login && atuin sync