mirror of
https://github.com/TheWanderingCrow/CrOS.git
synced 2026-01-11 01:34:08 -05:00
114 lines
3.7 KiB
Nix
114 lines
3.7 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}: {
|
|
# Start definitions for mkEnableOptions
|
|
options = {
|
|
module = {
|
|
enable = lib.mkEnableOption "enables packages";
|
|
core.enable = lib.mkEnableOption "enables required packages";
|
|
gui.enable = lib.mkEnableOption "enables gui+DE packages";
|
|
programming.enable = lib.mkEnableOption "enables programming packages";
|
|
hacking.enable = lib.mkEnableOption "enables hacking packages";
|
|
mudding.enable = lib.mkEnableOption "enables mudding packages";
|
|
gaming.enable = lib.mkEnableOption "enables gaming packages";
|
|
os-gaming.enable = lib.mkEnableOption "enables some neat but obscure open-source games";
|
|
appdevel.enable = lib.mkEnableOption "enables app development in flutter";
|
|
vr.enable = lib.mkEnableOption "enables VR utilities";
|
|
art.enable = lib.mkEnableOption "enabled graphical art stuff";
|
|
hobbies.enable = lib.mkEnableOption "some misc packages related to hobbies";
|
|
};
|
|
|
|
software = {
|
|
keyd.enable = lib.mkEnableOption "enabled keyd overrides (useful for non-QMK enabled devices)";
|
|
usershell.enable = lib.mkEnableOption "opinionated usershell";
|
|
docker.enable = lib.mkEnableOption "enable rootless docker";
|
|
};
|
|
|
|
user = {
|
|
enable = lib.mkEnableOption "enables users";
|
|
crow = {
|
|
enable = lib.mkEnableOption "enable crow";
|
|
home.enable = lib.mkEnableOption "enable home configuration";
|
|
};
|
|
dragneel = {
|
|
enable = lib.mkEnableOption "enable dragneel";
|
|
home.enable = lib.mkEnableOption "enable home configuration";
|
|
};
|
|
overseer = {
|
|
enable = lib.mkEnableOption "enable container overseer user";
|
|
};
|
|
live = {
|
|
enable = lib.mkEnableOption "enable live disk user";
|
|
};
|
|
};
|
|
|
|
desktop = {
|
|
sway.enable = lib.mkEnableOption "enables sway";
|
|
swayfx.enable = lib.mkEnableOption "enable sway with eye candy";
|
|
niri.enable = lib.mkEnableOption "enable niri window manager";
|
|
kde.enable = lib.mkEnableOption "KDE with Plasma6";
|
|
};
|
|
|
|
ricing = {
|
|
basic.enable = lib.mkEnableOption "enable basic ricing";
|
|
wasteland.enable = lib.mkEnableOption "post-collapse themed rice";
|
|
};
|
|
};
|
|
|
|
# Set default option states in config
|
|
config = {
|
|
module = {
|
|
enable = lib.mkDefault true;
|
|
core.enable = lib.mkDefault true;
|
|
gui.enable = lib.mkDefault false;
|
|
programming.enable = lib.mkDefault false;
|
|
hacking.enable = lib.mkDefault false;
|
|
mudding.enable = lib.mkDefault false;
|
|
gaming.enable = lib.mkDefault false;
|
|
os-gaming.enable = lib.mkDefault false;
|
|
appdevel.enable = lib.mkDefault false;
|
|
vr.enable = lib.mkDefault false;
|
|
art.enable = lib.mkDefault false;
|
|
hobbies.enable = lib.mkDefault false;
|
|
};
|
|
|
|
software = {
|
|
keyd.enable = lib.mkDefault false;
|
|
usershell.enable = lib.mkDefault true;
|
|
docker.enable = lib.mkDefault false;
|
|
};
|
|
|
|
user = {
|
|
enable = lib.mkDefault true;
|
|
crow = {
|
|
enable = lib.mkDefault false;
|
|
home.enable = lib.mkDefault config.user.crow.enable;
|
|
};
|
|
dragneel = {
|
|
enable = lib.mkDefault false;
|
|
home.enable = lib.mkDefault config.user.dragneel.enable;
|
|
};
|
|
overseer = {
|
|
enable = lib.mkDefault false;
|
|
};
|
|
live = {
|
|
enable = lib.mkDefault false;
|
|
};
|
|
};
|
|
|
|
# Desktop options are declared in their relevant modules in module/desktops
|
|
desktop = {
|
|
sway.enable = lib.mkDefault false;
|
|
swayfx.enable = lib.mkDefault false;
|
|
niri.enable = lib.mkDefault false;
|
|
kde.enable = lib.mkDefault false;
|
|
};
|
|
|
|
ricing = {
|
|
basic.enable = lib.mkDefault true;
|
|
wasteland.enable = lib.mkDefault false;
|
|
};
|
|
};
|
|
}
|