Refactor user management in configuration files for enhanced consistency

Updated multiple configuration files to implement a unified approach for user management across applications and services. Introduced `mkEnabledWithUsers` to streamline user configuration, improving maintainability and flexibility in multi-user setups.
This commit is contained in:
Danilo Reyes
2026-01-16 13:47:17 -06:00
parent 6573392c3b
commit 5e96618d8a
5 changed files with 51 additions and 38 deletions

View File

@@ -4,31 +4,28 @@
pkgs, pkgs,
... ...
}: }:
let
enableForDerek = {
enable = true;
users = "bearded_dragonn";
};
in
{ {
my = { my = {
apps = { apps = {
art.enable = true; art = enableForDerek;
art.users = "bearded_dragonn"; gaming = enableForDerek;
gaming.enable = true; multimedia.videoEditing = enableForDerek;
gaming.users = "bearded_dragonn";
multimedia.videoEditing.enable = true;
multimedia.videoEditing.users = "bearded_dragonn";
}; };
dev = { dev = {
nix.enable = true; nix = enableForDerek;
nix.users = "bearded_dragonn"; python = enableForDerek;
python.enable = true; sh = enableForDerek;
python.users = "bearded_dragonn";
sh.enable = true;
sh.users = "bearded_dragonn";
}; };
shell = { shell = {
exercism.enable = true; exercism = enableForDerek;
exercism.users = "bearded_dragonn"; tools = enableForDerek;
tools.enable = true; multimedia = enableForDerek;
tools.users = "bearded_dragonn";
multimedia.enable = true;
multimedia.users = "bearded_dragonn";
}; };
}; };
sops.secrets = lib.mkIf config.my.secureHost { sops.secrets = lib.mkIf config.my.secureHost {

View File

@@ -1,22 +1,27 @@
{ inputs }: { inputs }:
let let
inherit (inputs.self.lib) mkEnabled mkEnabledWithProxy enableList; inherit (inputs.self.lib)
mkEnabled
mkEnabledWithUsers
mkEnabledWithProxy
enableList
;
in in
{ {
emacs.enable = true; emacs.enable = true;
enableProxy = true; enableProxy = true;
websites.portfolio.enableProxy = true; websites.portfolio.enableProxy = true;
apps = enableList mkEnabled [ apps = enableList mkEnabledWithUsers [
"dictionaries" "dictionaries"
]; ];
services = enableList mkEnabled [ services = enableList mkEnabled [
"network" "network"
]; ];
shell = enableList mkEnabled [ shell = enableList mkEnabledWithUsers [
"tools" "tools"
"multimedia" "multimedia"
]; ];
dev = enableList mkEnabled [ dev = enableList mkEnabledWithUsers [
"nix" "nix"
"python" "python"
"sh" "sh"

View File

@@ -1,6 +1,6 @@
{ config, inputs }: { config, inputs }:
let let
inherit (inputs.self.lib) mkEnabled enableList; inherit (inputs.self.lib) mkEnabled mkEnabledWithUsers enableList;
mkEnabledIp = inputs.self.lib.mkEnabledIp config.my.ips.wg-server; mkEnabledIp = inputs.self.lib.mkEnabledIp config.my.ips.wg-server;
in in
{ {
@@ -10,7 +10,8 @@ in
enableProxy = true; enableProxy = true;
enableContainers = true; enableContainers = true;
apps.dictionaries.enable = true; apps.dictionaries.enable = true;
shell = enableList mkEnabled [ apps.dictionaries.users = "jawz";
shell = enableList mkEnabledWithUsers [
"tools" "tools"
"multimedia" "multimedia"
]; ];
@@ -19,7 +20,7 @@ in
"nvidia" "nvidia"
"syncthing" "syncthing"
]; ];
dev = enableList mkEnabled [ dev = enableList mkEnabledWithUsers [
"nix" "nix"
"python" "python"
"sh" "sh"

View File

@@ -1,28 +1,31 @@
{ inputs }: { inputs }:
let let
inherit (inputs.self.lib) mkEnabled enableList; inherit (inputs.self.lib) mkEnabled mkEnabledWithUsers enableList;
in in
{ {
stylix.enable = true; stylix.enable = true;
emacs.enable = true; emacs.enable = true;
enableContainers = true; enableContainers = true;
servers.drpp.enable = true; servers.drpp.enable = true;
apps = enableList mkEnabled [ apps =
"art" (enableList mkEnabledWithUsers [
"dictionaries" "art"
"gaming" "dictionaries"
"switch" "gaming"
"internet" "internet"
"multimedia" "multimedia"
"office" "office"
"misc" "misc"
]; ])
dev = enableList mkEnabled [ // {
switch.enable = true;
};
dev = enableList mkEnabledWithUsers [
"nix" "nix"
"python" "python"
"sh" "sh"
]; ];
shell = enableList mkEnabled [ shell = enableList mkEnabledWithUsers [
"exercism" "exercism"
"multimedia" "multimedia"
"tools" "tools"

View File

@@ -175,6 +175,13 @@ in
inherit name; inherit name;
value.enable = true; value.enable = true;
}; };
mkEnabledWithUsers = name: {
inherit name;
value = {
enable = true;
users = "jawz";
};
};
mkEnabledWithProxy = name: { mkEnabledWithProxy = name: {
inherit name; inherit name;
value = { value = {