36 lines
856 B
Makefile
36 lines
856 B
Makefile
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 --delete-older-than 14d
|
|
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
|
|
|