{ lib, config, ... }: let inherit (lib) mkDefault mkEnableOption mkIf mkOption types; capitalize = (import ../text.nix { inherit lib; }).capitalize; in { options = { valhalla = { windows = { dualboot = { enable = mkEnableOption "dual boot"; linuxPercentage = mkOption { type = types.number; description = "The percentage of the disk size reserved for Linux."; }; }; showFileExt = mkOption { type = types.bool; description = "A value indicating whether file extensions should be displayed in Windows Explorer."; default = true; }; legacyIconSpacing = mkEnableOption "legacy icon spacing" // { default = true; }; dynamicLighting = mkEnableOption "dynamic lighting"; adware = mkEnableOption "adware"; # Fuck you for displaying ads on an OS I fricking paid for! }; }; }; config = { valhalla.windows = { setupUser.name = mkDefault (capitalize config.valhalla.setupUser.name); dualboot.linuxPercentage = mkIf (!config.valhalla.windows.dualboot.enable) (mkDefault 0); }; }; }