Compare commits

...

2 Commits

Author SHA1 Message Date
henrov b254df2436 Working on reshuffling 2026-03-19 12:58:37 +00:00
henrov 8ac33f5e1b deleted generated files 2026-03-19 12:58:36 +00:00
2 changed files with 60 additions and 56 deletions
+10 -8
View File
@@ -1007,25 +1007,26 @@ let
}); });
in in
{ {
# 1. Top-level toggle (no config usage!) # Top-level option toggle (does NOT reference config)
options.myApps.${programName}.enable = options.myApps.${programName}.enable =
lib.mkEnableOption "Enable Eww widgets"; lib.mkEnableOption "Enable ${programName} widgets";
# 2. Configuration block (only use config inside lib.mkIf) # Config block — safely uses variables inside lib.mkIf
config = lib.mkIf (lib.getOption config "myApps.${programName}.enable" or false) (let config = {
username = config.defaultUser or "henrov"; myApps = lib.mkIf (lib.getOption options "myApps.${programName}.enable") (let
username = (config.defaultUser or "henrov");
ewwConfigDir = "/home/${username}/.config/${programName}"; ewwConfigDir = "/home/${username}/.config/${programName}";
enableProgram = true; # already gated by mkIf enableProgram = true;
in { in {
myApps = { # Top-level container
${programName} = { ${programName} = {
enable = enableProgram; enable = enableProgram;
assetsDir = programAssets; assetsDir = programAssets;
files = files; files = files;
user = username; user = username;
}; };
};
# Home Manager user config
home-manager.users.${username} = { home-manager.users.${username} = {
home.stateVersion = "26.05"; home.stateVersion = "26.05";
home.username = username; home.username = username;
@@ -1046,6 +1047,7 @@ in
}; };
}; };
}); });
};
} }
#+END_SRC #+END_SRC
+10 -8
View File
@@ -9,25 +9,26 @@ let
}); });
in in
{ {
# 1. Top-level toggle (no config usage!) # Top-level option toggle (does NOT reference config)
options.myApps.${programName}.enable = options.myApps.${programName}.enable =
lib.mkEnableOption "Enable Eww widgets"; lib.mkEnableOption "Enable ${programName} widgets";
# 2. Configuration block (only use config inside lib.mkIf) # Config block — safely uses variables inside lib.mkIf
config = lib.mkIf (lib.getOption config "myApps.${programName}.enable" or false) (let config = {
username = config.defaultUser or "henrov"; myApps = lib.mkIf (lib.getOption options "myApps.${programName}.enable") (let
username = (config.defaultUser or "henrov");
ewwConfigDir = "/home/${username}/.config/${programName}"; ewwConfigDir = "/home/${username}/.config/${programName}";
enableProgram = true; # already gated by mkIf enableProgram = true;
in { in {
myApps = { # Top-level container
${programName} = { ${programName} = {
enable = enableProgram; enable = enableProgram;
assetsDir = programAssets; assetsDir = programAssets;
files = files; files = files;
user = username; user = username;
}; };
};
# Home Manager user config
home-manager.users.${username} = { home-manager.users.${username} = {
home.stateVersion = "26.05"; home.stateVersion = "26.05";
home.username = username; home.username = username;
@@ -48,4 +49,5 @@ in
}; };
}; };
}); });
};
} }