🚀 add ssh module

This commit is contained in:
Moritz Böhme 2022-11-03 21:03:36 +01:00
parent 5c0752b891
commit 4b08e874b7
No known key found for this signature in database
GPG key ID: 970C6E89EB0547A9
5 changed files with 65 additions and 3 deletions

39
modules/programs/ssh.nix Normal file
View file

@ -0,0 +1,39 @@
{ config
, lib
, pkgs
, ...
}:
with lib;
let
cfg = config.my.programs.ssh;
baseName = path: removeSuffix ".age" (baseNameOf path);
in
{
options.my.programs.ssh = {
enable = mkEnableOption "ssh";
includeSecrets = mkOption {
default = [ ];
type = with types; listOf path;
};
};
config =
mkIf cfg.enable
{
age.secrets = listToAttrs (map
(path: {
name = baseName path;
value = {
file = path;
owner = "1000";
};
})
cfg.includeSecrets);
home-manager.users.moritz.programs.ssh = {
enable = true;
includes = map (path: "/run/agenix/" + baseName path) cfg.includeSecrets;
};
};
}