dotfiles/options.nix

62 lines
2.2 KiB
Nix
Raw Normal View History

{ 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-11-22 14:05:48 +01:00
desktop = {
xorg = lib.mkEnableOption "Enable X11 support";
2023-12-04 22:47:02 +01:00
numlock = lib.mkEnableOption "Auto-enable numlock";
x11_screens = lib.mkOption {
default = ["UNSET1"];
description = "A list of xrandr screen names from left to right.";
type = lib.types.listOf lib.types.str;
};
2023-11-22 14:05:48 +01:00
nixGLIntel = lib.mkEnableOption "Enable nixGLIntel/nixVulkanIntel for windows manager";
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";
backlight = lib.mkOption { type = lib.types.str; description = "Name of the backlight device"; };
jour = lib.mkOption { type = lib.types.int; description = "brightness value for phase: jour"; };
crepuscule = lib.mkOption { type = lib.types.int; description = "brightness value for phase: crepuscule"; };
nuit = lib.mkOption { type = lib.types.int; description = "brightness value for phase: nuit"; };
};
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";
2023-12-08 18:39:02 +01:00
perl = lib.mkEnableOption "Perl dev stuff";
php = lib.mkEnableOption "PHP dev stuff";
2023-11-22 16:32:20 +01:00
python = lib.mkEnableOption "Python dev stuff";
};
shellAliases = lib.mkOption {
default = { };
example = lib.literalExpression ''
{
ll = "ls -l";
".." = "cd ..";
}
'';
description = ''
An attribute set that maps aliases (the top level attribute names in
this option) to command strings or directly to build outputs.
'';
type = lib.types.attrsOf lib.types.str;
};
2023-11-22 16:32:20 +01:00
};
config = {
frogeye = {
dev = {
ansible = lib.mkDefault true;
python = lib.mkDefault true;
};
};
2023-11-21 21:01:56 +01:00
};
}