Setup roles as modules and switch to sway

This commit is contained in:
2024-09-08 13:49:28 -07:00
parent f22ff0e286
commit 692cebc839
14 changed files with 307 additions and 471 deletions

View File

@@ -1,8 +1,52 @@
{ extraGroups ? [], ... }:
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.roles.users;
in
{
users.users.johno = {
isNormalUser = true;
description = "John Ogle";
extraGroups = [ "wheel" "networkmanager" "audio" ] ++ extraGroups;
options.roles.users = {
enable = mkEnableOption "Enable default users";
extraGroups = mkOption {
default = [];
};
kids = mkOption {
type = types.bool;
default = false;
};
};
config = let
kidsPackages = with pkgs; [
firefox
];
in {
users.users.johno = {
isNormalUser = true;
description = "John Ogle";
extraGroups = [ "wheel" "networkmanager" "audio" ] ++ cfg.extraGroups;
};
users.users.eli = mkIf cfg.kids {
isNormalUser = true;
description = "Eli";
home = "/home/eli";
packages = kidsPackages;
};
users.users.andrew = mkIf cfg.kids {
isNormalUser = true;
description = "Andrew";
home = "/home/andrew";
packages = kidsPackages;
};
users.users.jules = mkIf cfg.kids {
isNormalUser = true;
description = "Jules";
home = "/home/jules";
packages = kidsPackages;
};
};
}