{ lib, config, ... }: { options.frogeye = { extra = lib.mkEnableOption "Big software"; gaming = lib.mkEnableOption "Games"; desktop = { xorg = lib.mkEnableOption "Enable X11 support"; 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; }; }; 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"; 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; }; }; config = { frogeye = { dev = { ansible = lib.mkDefault true; python = lib.mkDefault true; }; }; }; }