2023-11-26 21:04:58 +01:00
|
|
|
{ lib, config, ... }:
|
2023-11-21 21:01:56 +01:00
|
|
|
{
|
|
|
|
options.frogeye = {
|
|
|
|
extra = lib.mkEnableOption "Big software";
|
2023-12-02 21:50:59 +01:00
|
|
|
gaming = lib.mkEnableOption "Games";
|
2023-12-17 12:37:41 +01:00
|
|
|
polarity = lib.mkOption {
|
2024-01-07 12:54:43 +01:00
|
|
|
default = "light";
|
2023-12-17 12:37:41 +01:00
|
|
|
description = "Whether to use light theme or dark theme.";
|
2024-01-07 12:54:43 +01:00
|
|
|
type = lib.types.enum [ "light" "dark" ];
|
2023-12-17 12:37:41 +01:00
|
|
|
};
|
2023-11-22 14:05:48 +01:00
|
|
|
desktop = {
|
|
|
|
xorg = lib.mkEnableOption "Enable X11 support";
|
2024-01-07 23:29:16 +01:00
|
|
|
# TODO Use appropriate OS/HM option(s) instead
|
2023-12-04 22:47:02 +01:00
|
|
|
numlock = lib.mkEnableOption "Auto-enable numlock";
|
|
|
|
x11_screens = lib.mkOption {
|
2023-12-16 22:39:11 +01:00
|
|
|
default = [ "UNSET1" ];
|
2023-12-04 22:47:02 +01:00
|
|
|
description = "A list of xrandr screen names from left to right.";
|
|
|
|
type = lib.types.listOf lib.types.str;
|
|
|
|
};
|
2023-11-30 21:51:11 +01:00
|
|
|
maxVideoHeight = lib.mkOption {
|
|
|
|
type = lib.types.int;
|
|
|
|
description = "Maximum video height in pixel the machine can reasonably watch";
|
|
|
|
default = 1080;
|
|
|
|
};
|
2023-12-05 23:11:54 +01:00
|
|
|
phasesBrightness = {
|
|
|
|
enable = lib.mkEnableOption "Set a specific brightness for the screen when running phases commands";
|
2023-12-16 22:39:11 +01:00
|
|
|
jour = lib.mkOption { type = lib.types.str; default = "100%"; description = "brightnessctl value for phase: jour"; };
|
|
|
|
crepuscule = lib.mkOption { type = lib.types.str; default = "50%"; description = "brightnessctl value for phase: crepuscule"; };
|
|
|
|
nuit = lib.mkOption { type = lib.types.str; default = "1%"; description = "brightnessctl value for phase: nuit"; };
|
2023-12-05 23:11:54 +01:00
|
|
|
};
|
2023-11-22 14:05:48 +01:00
|
|
|
};
|
2023-11-22 16:32:20 +01:00
|
|
|
dev = {
|
|
|
|
ansible = lib.mkEnableOption "Ansible dev stuff";
|
|
|
|
c = lib.mkEnableOption "C/C++ dev stuff";
|
|
|
|
docker = lib.mkEnableOption "Docker dev stuff";
|
|
|
|
fpga = lib.mkEnableOption "FPGA dev stuff";
|
2024-01-11 23:54:03 +01:00
|
|
|
go = lib.mkEnableOption "Go dev stuff";
|
|
|
|
node = lib.mkEnableOption "NodeJS dev stuff";
|
2023-12-08 18:39:02 +01:00
|
|
|
perl = lib.mkEnableOption "Perl dev stuff";
|
|
|
|
php = lib.mkEnableOption "PHP dev stuff";
|
2024-01-19 22:50:01 +01:00
|
|
|
prose = lib.mkEnableOption "Writing stuff";
|
2023-11-22 16:32:20 +01:00
|
|
|
python = lib.mkEnableOption "Python dev stuff";
|
|
|
|
};
|
2024-03-09 18:22:30 +01:00
|
|
|
hooks.lock = lib.mkOption {
|
|
|
|
type = lib.types.lines;
|
|
|
|
default = "";
|
|
|
|
description = "Bash commands to execute on locking the session.";
|
|
|
|
};
|
2023-11-22 16:32:20 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
config = {
|
|
|
|
frogeye = {
|
|
|
|
dev = {
|
2024-01-19 22:50:01 +01:00
|
|
|
prose = lib.mkDefault true;
|
2023-11-22 16:32:20 +01:00
|
|
|
python = lib.mkDefault true;
|
|
|
|
};
|
|
|
|
};
|
2023-11-21 21:01:56 +01:00
|
|
|
};
|
|
|
|
}
|