more nix-y

This commit is contained in:
John Lancaster
2026-03-27 18:55:48 -05:00
parent b1424a2e2f
commit c3a6a0bbdc
+16 -7
View File
@@ -46,7 +46,16 @@ in
}; };
}; };
config = { config =
let
echo = lib.getExe' pkgs.coreutils "echo";
dirname = lib.getExe' pkgs.coreutils "dirname";
mkdir = lib.getExe' pkgs.coreutils "mkdir";
show-age-key = (pkgs.writeShellScriptBin "show-age-key" ''
${lib.getExe' pkgs.age "age-keygen"} -y ${cfg.ageKeyFile}
'');
in
{
home.packages = with pkgs; [ home.packages = with pkgs; [
eza eza
age age
@@ -56,21 +65,21 @@ in
set -eu set -eu
if [ ! -f "${config.ssh.IdentityFile}" ]; then if [ ! -f "${config.ssh.IdentityFile}" ]; then
echo "SSH identity file not found: ${config.ssh.IdentityFile}" >&2 ${echo} "SSH identity file not found: ${config.ssh.IdentityFile}" >&2
exit 1 exit 1
fi fi
if [ -e "${cfg.ageKeyFile}" ]; then if [ -e "${cfg.ageKeyFile}" ]; then
echo "Refusing to overwrite existing age key file: ${cfg.ageKeyFile}" >&2 ${echo} "Refusing to overwrite existing age key file: ${cfg.ageKeyFile}" >&2
exit 1 exit 1
fi fi
mkdir -p "$(dirname "${cfg.ageKeyFile}")" ${mkdir} -p "$(${dirname} "${cfg.ageKeyFile}")"
${lib.getExe pkgs.ssh-to-age} -i ${config.ssh.IdentityFile} -private-key > ${cfg.ageKeyFile} ${lib.getExe pkgs.ssh-to-age} -i ${config.ssh.IdentityFile} -private-key > ${cfg.ageKeyFile}
echo -n "Created ${cfg.ageKeyFile}: " ${echo} -n "Created ${cfg.ageKeyFile}: "
echo $(show-age-key) ${echo} $(${lib.getExe show-age-key})
'') '')
(writeShellScriptBin "show-age-key" "${lib.getExe' pkgs.age "age-keygen"} -y ${cfg.ageKeyFile}") show-age-key
(writeShellScriptBin "ls-secrets" "${lib.getExe pkgs.eza} -alT --follow-symlinks ~/.config/sops-nix/secrets") (writeShellScriptBin "ls-secrets" "${lib.getExe pkgs.eza} -alT --follow-symlinks ~/.config/sops-nix/secrets")
] ++ editScript; ] ++ editScript;