53 lines
1.3 KiB
Nix
53 lines
1.3 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
cfg = config.myModules;
|
|
in {
|
|
options.myModules = {
|
|
games.enable = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = "Enable games module.";
|
|
};
|
|
|
|
dailyApps.enable = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = true;
|
|
description = "Enable daily applications.";
|
|
};
|
|
|
|
niri.enable = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = true;
|
|
description = "Enable niri wayland compositor config.";
|
|
};
|
|
|
|
nvf.enable = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = true;
|
|
description = "Enable nvf (neovim) configuration.";
|
|
};
|
|
|
|
shell.enable = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = true;
|
|
description = "Enable shell configuration.";
|
|
};
|
|
|
|
createProject.enable = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = true;
|
|
description = "Enable create-project tooling.";
|
|
};
|
|
};
|
|
|
|
imports =
|
|
(lib.optional cfg.dailyApps.enable ./daily_apps.nix)
|
|
++ (lib.optional cfg.niri.enable ./niri.nix)
|
|
++ (lib.optional cfg.nvf.enable ./nvf.nix)
|
|
++ (lib.optional cfg.shell.enable ./shell)
|
|
++ (lib.optional cfg.games.enable ./games/minecraft.nix)
|
|
++ (lib.optional cfg.createProject.enable ./create-project/create-project.nix);
|
|
}
|