Add individual enable options for foot, kitty, and fuzzel

- Added configuration.applications.foot.enable option
- Added configuration.applications.kitty.enable option
- Added configuration.applications.fuzzel.enable option
- Modified configDirs to respect individual application enable flags
- Allows selective disabling of conflicting terminal/launcher configs
This commit is contained in:
Celes Renata
2025-08-11 23:33:16 -07:00
parent 98e2ffe352
commit 297ca9ed99
+32 -8
View File
@@ -35,6 +35,33 @@ in
default = true;
description = "Copy Hyprland configuration";
};
# Individual application enable options
applications = {
foot = {
enable = mkOption {
type = types.bool;
default = true;
description = "Enable foot terminal configuration";
};
};
kitty = {
enable = mkOption {
type = types.bool;
default = true;
description = "Enable kitty terminal configuration";
};
};
fuzzel = {
enable = mkOption {
type = types.bool;
default = true;
description = "Enable fuzzel launcher configuration";
};
};
};
};
config = mkIf cfg.enable {
@@ -45,14 +72,11 @@ in
(mkIf cfg.copyMiscConfig (
let
# Get all directories in .config except fish, hypr, and quickshell (quickshell handled specially)
configDirs = [
"kitty"
"foot"
"fuzzel"
"wlogout"
"matugen"
# Add more as discovered in the source
];
# Now with individual enable options
configDirs = lib.optionals cfg.applications.kitty.enable [ "kitty" ] ++
lib.optionals cfg.applications.foot.enable [ "foot" ] ++
lib.optionals cfg.applications.fuzzel.enable [ "fuzzel" ] ++
[ "wlogout" "matugen" ]; # Always enabled applications
configFiles = listToAttrs (map (dir: {
name = dir;