From a07fdcd1ed6db6f77181926126dc20cde6ab13b9 Mon Sep 17 00:00:00 2001 From: vkcku Date: Mon, 1 Jun 2026 12:34:38 +0530 Subject: infra: add user configuration to base module monorepo-revid: e84dab4473e390ec7f8d6974b656bf01a00eb557 --- infra/modules/base/user.nix | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 infra/modules/base/user.nix (limited to 'infra') diff --git a/infra/modules/base/user.nix b/infra/modules/base/user.nix new file mode 100644 index 0000000..be1aeea --- /dev/null +++ b/infra/modules/base/user.nix @@ -0,0 +1,36 @@ +{ + flake.modules.nixos.base = + { + config, + lib, + pkgs, + ... + }: + { + options.infra.user = lib.mkOption { + type = lib.types.str; + default = "vkcku"; + description = "The name of the main user."; + }; + + config = + let + username = config.infra.user; + passwordKey = "hosts/${config.networking.hostName}/users/${username}"; + in + { + sops.secrets."${passwordKey}".neededForUsers = true; + + users.mutableUsers = false; + + users.users."${username}" = { + isNormalUser = true; + createHome = true; + home = "/home/${username}"; + extraGroups = [ "wheel" ]; + shell = pkgs.nushell; + hashedPasswordFile = config.sops.secrets."${passwordKey}".path; + }; + }; + }; +} -- cgit v1.3.1