feat: ssh key generation

This commit is contained in:
Alex Maldonado
2026-05-07 18:02:29 -04:00
parent af832e9d83
commit f1e3b7f198
2 changed files with 33 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
{ ... }:
{
programs.ssh = {
enable = true;
matchBlocks = {
"github.com" = {
hostname = "github.com";
user = "git";
identityFile = "~/.ssh/id_github";
};
};
};
}
+18
View File
@@ -1,4 +1,5 @@
host := `hostname` host := `hostname`
key_services := "github gradescope"
rebuild: rebuild:
sudo nixos-rebuild switch --flake .#{{host}} sudo nixos-rebuild switch --flake .#{{host}}
@@ -10,3 +11,20 @@ gc:
sudo nix-env --delete-generations +3 sudo nix-env --delete-generations +3
sudo nix-store --gc sudo nix-store --gc
# Generate high-strength, post-quantum ready SSH keys without passphrases
gen-keys:
#!/usr/bin/env bash
set -euo pipefail
mkdir -p ~/.ssh
for service in {{key_services}}; do
FILE="$HOME/.ssh/id_$service"
if [ -f "$FILE" ]; then
echo "skipping: $FILE already exists."
else
echo "generating: $FILE"
ssh-keygen -t ed25519 -a 100 -o -f "$FILE" -N ""
fi
done