#!env /bin/bash # First setup: user=albert read -p "Hostname: " hostname; # run as root: # eIf on the raspberry pi image: # sudo nix-channel --add https://nixos.org/channels/nixpkgs-unstable # sudo nix-channel --update sudo nix-shell -p git --run git clone https://git.sysctl.io/albert/nix /etc/nixos/git sudo git clone https://git.sysctl.io/albert/nix /etc/nixos/git sudo ln -s /etc/nixos/git/flake.nix /etc/nixos/flake.nix sudo chown -R $user:root /etc/nixos/git sudo nixos-rebuild switch --flake '/etc/nixos#$host' sudo mkdir /nix/var/nix/profiles/per-user/$user echo "Host setup complete." # as $user: home-manager switch -b backup --flake /etc/nixos/git source ~/.bashrc # Import and trust the GPG key read -p "Path to GPG Private Key: " gpgKey gpg --import $gpgKey echo -e "5\ny\n" | gpg --command-fd 0 --expert --edit-key 64F6C4EB46C4543A trust # Setup SOPS sudo nix-shell -p ssh-to-pgp --run "ssh-to-pgp -i /etc/ssh/ssh_host_rsa_key -o /etc/nixos/git/keys/hosts/$(hostname).asc" # Update your .sops.yaml with this key cd /etc/nixos/git nix-shell sops-update secrets/secrets.yaml # Set up ssh keys ssh-keygen -t rsa -b 8192 -f ~/.ssh/id_rsa -N "" echo "" >> /etc/nixos/git/keys/ssh/keys.txt echo "# `whoami`@`hostname`" >> /etc/nixos/git/keys/ssh/keys.txt cat /home/albert/.ssh/id_rsa.pub >> /etc/nixos/git/keys/ssh/keys.txt # Add all changes to git and and push git add keys/hosts/`hostname`.asc git commit -am "Setup of: `whoami`@`hostname`" git push echo "Complete. Reboot to complete the config"