diff options
author | tv <tv@shackspace.de> | 2015-09-27 16:15:53 +0200 |
---|---|---|
committer | tv <tv@shackspace.de> | 2015-09-27 16:15:53 +0200 |
commit | 18cfca4fe8d94f11c004fe72289b10c32a89ed68 (patch) | |
tree | 15c7dd48337f5f1c85e39168e9431ad2f5f68a71 /krebs/4lib/types.nix | |
parent | 5a0d8f45c173815d3d460453956212c2ad8df3a7 (diff) |
krebs: set host key for hosts with ssh.privkey
Diffstat (limited to 'krebs/4lib/types.nix')
-rw-r--r-- | krebs/4lib/types.nix | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/krebs/4lib/types.nix b/krebs/4lib/types.nix index a7df92084..0aa594fb1 100644 --- a/krebs/4lib/types.nix +++ b/krebs/4lib/types.nix @@ -57,13 +57,27 @@ types // rec { else trace "The option `krebs.hosts.${config.name}.ssh.pubkey' is unused." null; }; ssh.privkey = mkOption { - type = either path str; - apply = x: { - path = toString x; - string = x; - }.${typeOf x}; + type = nullOr (submodule { + options = { + bits = mkOption { + type = nullOr (enum ["4096"]); + default = null; + }; + path = mkOption { + type = either path str; + apply = x: { + path = toString x; + string = x; + }.${typeOf x}; + }; + type = mkOption { + type = enum ["rsa" "ed25519"]; + default = "ed25519"; + }; + }; + }); + default = null; }; - }; }); |