host := `hostname` key_services := "github gradescope" # Rebuild the system and switch immediately rebuild: sudo nixos-rebuild switch --flake .#{{host}} # Update flake.lock update: nix flake update # Clean up old generations and optimize store gc: sudo nix-collect-garbage -d sudo nix-store --optimise sudo nixos-rebuild boot --flake .#{{host}} # Generate Ed25519 SSH keys for each configured service gen-keys: #!/usr/bin/env bash set -euo pipefail mkdir -p ~/.ssh chmod 700 ~/.ssh for service in {{key_services}}; do file="$HOME/.ssh/id_$service" if [ -f "$file" ]; then echo "skipping: $file already exists" continue fi echo "generating: $file" ssh-keygen -t ed25519 -f "$file" -N "" -C "$service@$(hostname -s)" done