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:
@@ -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 {
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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 =
|
||||||
|
(enableList mkEnabledWithUsers [
|
||||||
"art"
|
"art"
|
||||||
"dictionaries"
|
"dictionaries"
|
||||||
"gaming"
|
"gaming"
|
||||||
"switch"
|
|
||||||
"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"
|
||||||
|
|||||||
@@ -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 = {
|
||||||
|
|||||||
Reference in New Issue
Block a user