Where <host>
corresponds to target you are deploying
git clone https://github.com/elias-online/aviary && cd aviary
nix build .#nixosConfigurations.egg.config.system.build.isoImage
sudo dd if=result/iso/egg.iso of=/dev/<sdX> bs=4M status=progress oflag=sync
ssh nixos@<address>
nixos-generate-config --no-filesystems --show-hardware-config
ls -l /dev/disk/by-id/
echo <luks-password> | sudo tee /keyfile >/dev/null
sudo ssh-to-age -private-key -i /etc/ssh/ssh_host_ed25519_key | age-keygen -y
exit
add <host>
public age key to .sops.yaml
add secrets/<user>.yaml
(optional)
sops updatekeys -y secrets/<user>.yaml
push changes to your secrets repository
nix flake update
add system/<host>.nix
add users/<user>.nix
(optional)
add <host>
to flake.nix
nixos-anywhere --copy-host-keys -f .#<host> nixos@<ip>
sudo btrfs gqroup show -r /
nix-collect-garbage -d