DashNix/modules/programs/oxi/default.nix
2025-04-28 10:59:49 +02:00

69 lines
1.6 KiB
Nix

{
lib,
config,
options,
inputs,
...
}: {
imports = [
./oxidash.nix
./oxinoti.nix
./oxipaste.nix
./oxirun.nix
./oxishut.nix
];
options.mods.oxi = {
enable = lib.mkOption {
default = true;
example = false;
type = lib.types.bool;
description = "Enables oxi programs";
};
ReSet = {
enable = lib.mkOption {
default = true;
example = false;
type = lib.types.bool;
description = "Enables and configures ReSet";
};
};
hyprdock = {
enable = lib.mkOption {
default = true;
example = false;
type = lib.types.bool;
description = "Enables hyprdock";
};
};
oxicalc = {
enable = lib.mkOption {
default = true;
example = false;
type = lib.types.bool;
description = "Enables hyprdock";
};
};
};
config = lib.mkIf config.mods.oxi.enable (
lib.optionalAttrs (options ? home.packages) {
programs = {
hyprdock.enable = lib.mkIf config.mods.oxi.hyprdock.enable true;
oxicalc.enable = lib.mkIf config.mods.oxi.oxicalc.enable true;
ReSet = lib.mkIf config.mods.oxi.ReSet.enable {
enable = true;
config = {
plugins = [
inputs.reset-plugins.packages."x86_64-linux".monitor
inputs.reset-plugins.packages."x86_64-linux".keyboard
];
plugin_config = {
Keyboard = {
path = "/home/${config.conf.username}/.config/reset/keyboard.conf";
};
};
};
};
};
}
);
}