From 06ecfb43108b200889f6cead7c07e76335c0c8e8 Mon Sep 17 00:00:00 2001 From: Daylin Morgan Date: Sun, 28 Jan 2024 13:09:34 -0600 Subject: [PATCH] abstract user config --- hosts/algiz/default.nix | 7 ++----- hosts/algiz/system.nix | 2 +- hosts/mannaz/default.nix | 11 +---------- hosts/othalan/default.nix | 20 +++++++++++++------- modules/roles/common.nix | 1 + modules/users/default.nix | 29 +++++++++++++++++++++++++++++ 6 files changed, 47 insertions(+), 23 deletions(-) create mode 100644 modules/users/default.nix diff --git a/hosts/algiz/default.nix b/hosts/algiz/default.nix index ac346f0..0f9fce9 100644 --- a/hosts/algiz/default.nix +++ b/hosts/algiz/default.nix @@ -30,12 +30,9 @@ security.sudo.wheelNeedsPassword = false; - users.extraUsers = { + users.users = { daylin = { - shell = pkgs.zsh; - isNormalUser = true; - extraGroups = ["wheel" "docker"]; - initialPassword = "nix"; + extraGroups = ["docker"]; }; git = { isNormalUser = true; diff --git a/hosts/algiz/system.nix b/hosts/algiz/system.nix index f7a4acb..b4a5575 100644 --- a/hosts/algiz/system.nix +++ b/hosts/algiz/system.nix @@ -1,5 +1,5 @@ {...}: { - users.motd = builtins.readFile ./rune; + users.motdFile = ./rune; swapDevices = [ { diff --git a/hosts/mannaz/default.nix b/hosts/mannaz/default.nix index e46654b..cc18e5f 100644 --- a/hosts/mannaz/default.nix +++ b/hosts/mannaz/default.nix @@ -13,14 +13,5 @@ nix-ld ]; - users = { - extraUsers = { - daylin = { - shell = pkgs.zsh; - isNormalUser = true; - extraGroups = ["wheel" "docker" "networkmanager"]; - initialPassword = "nix"; - }; - }; - }; + users.users.daylin.extraGroups = ["docker"]; } diff --git a/hosts/othalan/default.nix b/hosts/othalan/default.nix index ac4a810..6912ac8 100644 --- a/hosts/othalan/default.nix +++ b/hosts/othalan/default.nix @@ -43,13 +43,19 @@ enableSSHSupport = true; }; - users.users.daylin = { - isNormalUser = true; - shell = pkgs.zsh; - extraGroups = [ - "wheel" # sudo + users.users.daylin.extraGroups = [ "video" # backlight control via light "audio" - ]; - }; + ]; + + # users.users.daylin = { + # isNormalUser = true; + # shell = pkgs.zsh; + # extraGroups = [ + # "wheel" # sudo + # "video" # backlight control via light + # "audio" + # ]; + # }; + } diff --git a/modules/roles/common.nix b/modules/roles/common.nix index 9212672..1624440 100644 --- a/modules/roles/common.nix +++ b/modules/roles/common.nix @@ -1,5 +1,6 @@ {inputs, ...}: { imports = with inputs.self.nixosModules; [ + users nix cli dev diff --git a/modules/users/default.nix b/modules/users/default.nix new file mode 100644 index 0000000..0498127 --- /dev/null +++ b/modules/users/default.nix @@ -0,0 +1,29 @@ +{ + nixpkgs, + config, + lib, + pkgs, + ... +}: let + inherit (lib) mkOption mkIf types; + cfg = config.users.defaultUser; +in { + options.users.defaultUser = mkOption { + default = true; + type = types.bool; + description = '' + include default user "daylin" + ''; + }; + + config = mkIf cfg { + users.users.daylin = { + isNormalUser = true; + shell = pkgs.zsh; + extraGroups = [ + "wheel" # sudo + ]; + initialPassword = "nix"; + }; + }; +}