Change to optional

This commit is contained in:
DashieTM 2024-08-25 20:12:05 +02:00
parent d3328bc705
commit 5d5abbc1a8

View file

@ -3,27 +3,20 @@
options,
config,
pkgs,
inputs,
...
}:
{
options.mods.home_packages = {
noDefaultPackages = lib.mkOption {
default = false;
example = true;
type = lib.types.bool;
description = "No default packages (will use additional_packages only)";
};
enable = lib.mkOption {
useDefaultPackages = lib.mkOption {
default = true;
example = false;
type = lib.types.bool;
description = "Home manager packages";
description = "Use default packages (will use additional_packages only if disabled)";
};
additional_packages = lib.mkOption {
default = [ ];
example = [ pkgs.flatpak ];
type = lib.types.str;
type = with lib.types; listOf package;
description = ''
Additional Home manager packages.
Will be installed regardless of default home manager packages are installed.
@ -60,13 +53,12 @@
description = "The email client";
};
};
config = (
lib.mkIf config.mods.home_packages.noDefaultPackages (
lib.optionalAttrs (options ? home.packages) {
config =
(lib.optionalAttrs (options ? home.packages) {
home.packages = config.mods.home_packages.additional_packages;
}
)
// (lib.optionalAttrs (options ? home.packages) {
})
// lib.mkIf config.mods.home_packages.useDefaultPackages (
lib.optionalAttrs (options ? home.packages) {
home.packages =
with pkgs;
[
@ -74,8 +66,8 @@
(lib.mkIf config.mods.home_packages.ncspot ncspot)
(lib.mkIf config.mods.home_packages.vesktop vesktop)
(lib.mkIf config.mods.home_packages.nextcloudClient nextcloud-client)
(lib.mkIf (options ? config.mods.home_pakcage.matrixClient) config.mods.home_packages.matrixClient)
(lib.mkIf (options ? config.mods.home_packages.mailClient) config.mods.home_packages.mailClient)
(lib.mkIf (!isNull config.mods.home_packages.matrixClient) config.mods.home_packages.matrixClient)
(lib.mkIf (!isNull config.mods.home_packages.mailClient) config.mods.home_packages.mailClient)
adw-gtk3
bat
brave
@ -115,6 +107,6 @@
};
};
})
}
);
}