From dacb4ca655a138595605ddd78c4dc6819245191a Mon Sep 17 00:00:00 2001 From: Astro Date: Mon, 6 Sep 2021 21:02:06 +0200 Subject: [PATCH] lib/users: add option c3d2.allUsersCanSshRoot --- lib/users/default.nix | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/users/default.nix b/lib/users/default.nix index 0143d251..53a1ae12 100644 --- a/lib/users/default.nix +++ b/lib/users/default.nix @@ -24,5 +24,21 @@ in { }; in listToAttrs (map f userNames); - config = lib.mkMerge (map import' userNames); + options.c3d2.allUsersCanSshRoot = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Let all people in `lib/users/` login as root for deployment via SSH. + ''; + }; + + config = lib.mkMerge ([ { + users.users.root = lib.mkIf config.c3d2.allUsersCanSshRoot { + openssh = lib.mkMerge (map (name: + let + userConf = (import' name).content.users.users.${name}; + in lib.optionalAttrs (userConf ? openssh) userConf.openssh + ) userNames); + }; + } ] ++ map import' userNames); }