Compare commits
2 Commits
6ef7345919
...
b254df2436
| Author | SHA1 | Date | |
|---|---|---|---|
| b254df2436 | |||
| 8ac33f5e1b |
+10
-8
@@ -1007,25 +1007,26 @@ let
|
||||
});
|
||||
in
|
||||
{
|
||||
# 1. Top-level toggle (no config usage!)
|
||||
# Top-level option toggle (does NOT reference config)
|
||||
options.myApps.${programName}.enable =
|
||||
lib.mkEnableOption "Enable Eww widgets";
|
||||
lib.mkEnableOption "Enable ${programName} widgets";
|
||||
|
||||
# 2. Configuration block (only use config inside lib.mkIf)
|
||||
config = lib.mkIf (lib.getOption config "myApps.${programName}.enable" or false) (let
|
||||
username = config.defaultUser or "henrov";
|
||||
# Config block — safely uses variables inside lib.mkIf
|
||||
config = {
|
||||
myApps = lib.mkIf (lib.getOption options "myApps.${programName}.enable") (let
|
||||
username = (config.defaultUser or "henrov");
|
||||
ewwConfigDir = "/home/${username}/.config/${programName}";
|
||||
enableProgram = true; # already gated by mkIf
|
||||
enableProgram = true;
|
||||
in {
|
||||
myApps = {
|
||||
# Top-level container
|
||||
${programName} = {
|
||||
enable = enableProgram;
|
||||
assetsDir = programAssets;
|
||||
files = files;
|
||||
user = username;
|
||||
};
|
||||
};
|
||||
|
||||
# Home Manager user config
|
||||
home-manager.users.${username} = {
|
||||
home.stateVersion = "26.05";
|
||||
home.username = username;
|
||||
@@ -1046,6 +1047,7 @@ in
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
|
||||
@@ -9,25 +9,26 @@ let
|
||||
});
|
||||
in
|
||||
{
|
||||
# 1. Top-level toggle (no config usage!)
|
||||
# Top-level option toggle (does NOT reference config)
|
||||
options.myApps.${programName}.enable =
|
||||
lib.mkEnableOption "Enable Eww widgets";
|
||||
lib.mkEnableOption "Enable ${programName} widgets";
|
||||
|
||||
# 2. Configuration block (only use config inside lib.mkIf)
|
||||
config = lib.mkIf (lib.getOption config "myApps.${programName}.enable" or false) (let
|
||||
username = config.defaultUser or "henrov";
|
||||
# Config block — safely uses variables inside lib.mkIf
|
||||
config = {
|
||||
myApps = lib.mkIf (lib.getOption options "myApps.${programName}.enable") (let
|
||||
username = (config.defaultUser or "henrov");
|
||||
ewwConfigDir = "/home/${username}/.config/${programName}";
|
||||
enableProgram = true; # already gated by mkIf
|
||||
enableProgram = true;
|
||||
in {
|
||||
myApps = {
|
||||
# Top-level container
|
||||
${programName} = {
|
||||
enable = enableProgram;
|
||||
assetsDir = programAssets;
|
||||
files = files;
|
||||
user = username;
|
||||
};
|
||||
};
|
||||
|
||||
# Home Manager user config
|
||||
home-manager.users.${username} = {
|
||||
home.stateVersion = "26.05";
|
||||
home.username = username;
|
||||
@@ -48,4 +49,5 @@ in
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user