summaryrefslogtreecommitdiff
path: root/modules/options.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/options.nix')
-rw-r--r--modules/options.nix393
1 files changed, 0 insertions, 393 deletions
diff --git a/modules/options.nix b/modules/options.nix
deleted file mode 100644
index 2571b9c..0000000
--- a/modules/options.nix
+++ /dev/null
@@ -1,393 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-with lib; let
- # monitor options
- monitorOpts = self: {
- options = {
- name = mkOption {
- type = types.str;
- description = "Name of the monitor.";
- };
-
- scale = mkOption {
- type = types.float;
- description = "Scaling factor of the monitor.";
- default = 1.0;
- };
-
- bitdepth = mkOption {
- type = types.int;
- description = "Monitor color bitdepth";
- default = 8;
- };
- };
- };
-
- # theme color options
-
- colorOpts = self: {
- options = {
- name = mkOption {
- type = types.str;
- description = "Name of the theme";
- };
-
- author = mkOption {
- type = types.str;
- description = "Author of the theme";
- };
-
- text = mkOption {
- type = types.str;
- description = "Text color.";
- };
-
- subtext = mkOption {
- type = types.str;
- description = "Subtext color.";
- };
-
- base = mkOption {
- type = types.str;
- description = "Base background color.";
- };
-
- surface = mkOption {
- type = types.str;
- description = "Surface (lighter) background color.";
- };
-
- overlay = mkOption {
- type = types.str;
- description = "Overlay (light) background color.";
- };
-
- primary = mkOption {
- type = types.str;
- description = "Primary accent color";
- };
-
- success = mkOption {
- type = types.str;
- description = "Success color";
- };
-
- warning = mkOption {
- type = types.str;
- description = "Warning color";
- };
-
- error = mkOption {
- type = types.str;
- description = "Error color";
- };
-
- normal = {
- black = mkOption {
- type = types.str;
- description = "Terminal black normal color";
- };
-
- red = mkOption {
- type = types.str;
- description = "Terminal red normal color";
- };
-
- green = mkOption {
- type = types.str;
- description = "Terminal green normal color";
- };
-
- yellow = mkOption {
- type = types.str;
- description = "Terminal yellow normal color";
- };
-
- blue = mkOption {
- type = types.str;
- description = "Terminal blue normal color";
- };
-
- magenta = mkOption {
- type = types.str;
- description = "Terminal magenta normal color";
- };
-
- cyan = mkOption {
- type = types.str;
- description = "Terminal cyan normal color";
- };
-
- white = mkOption {
- type = types.str;
- description = "Terminal white normal color";
- };
-
- pink = mkOption {
- type = types.str;
- description = "Terminal pink (extended) normal color.";
- };
-
- orange = mkOption {
- type = types.str;
- description = "Terminal orange (extended) normal color.";
- };
- };
-
- bright = {
- black = mkOption {
- type = types.str;
- description = "Terminal black bright color";
- };
-
- red = mkOption {
- type = types.str;
- description = "Terminal red bright color";
- };
-
- green = mkOption {
- type = types.str;
- description = "Terminal green bright color";
- };
-
- yellow = mkOption {
- type = types.str;
- description = "Terminal yellow bright color";
- };
-
- blue = mkOption {
- type = types.str;
- description = "Terminal blue bright color";
- };
-
- magenta = mkOption {
- type = types.str;
- description = "Terminal magenta bright color";
- };
-
- cyan = mkOption {
- type = types.str;
- description = "Terminal cyan bright color";
- };
-
- white = mkOption {
- type = types.str;
- description = "Terminal white bright color";
- };
-
- pink = mkOption {
- type = types.str;
- description = "Terminal pink (extended) bright color.";
- };
-
- orange = mkOption {
- type = types.str;
- description = "Terminal orange (extended) bright color.";
- };
- };
- };
- };
-in {
- options = {
- #
- # System information
- #
- hostName = mkOption {
- type = types.str;
- description = "Hostname of the system.";
- };
- timeZone = mkOption {
- type = types.str;
- description = "System time zone";
- default = "America/New_York";
- };
- stateVersion = mkOption {
- type = types.str;
- description = "NixOS State Version";
- };
-
- #
- # System modules
- #
- battery = mkEnableOption {
- description = "Install battery and power system services and programs.";
- };
- bluetooth = mkEnableOption {
- description = "Install bluetooth system services and programs.";
- };
- fingerprint = mkEnableOption {
- description = "Install fingerprint system services and programs.";
- };
- network = mkEnableOption {
- description = "Install networking system services and programs.";
- };
- tpm = mkEnableOption {
- description = "Enable system TPM";
- };
- minimal = mkEnableOption {
- description = "Install only required system services, drivers, and programs.";
- };
-
- #
- # Primary user of the system
- #
- user = mkOption {
- type = types.str;
- description = "Primary user of the system";
- };
- fullName = mkOption {
- type = types.str;
- description = "Human readable name of the user";
- };
- email = mkOption {
- type = types.str;
- description = "Primary email of the user";
- };
- homePath = mkOption {
- type = types.path;
- description = "Home directory path of the user";
- default = builtins.toPath "/home/${config.user}";
- };
- dotfilesPath = mkOption {
- type = types.path;
- description = "Dotfiles path inside the users home dir";
- default = builtins.toPath "${config.homePath}/.config/nix";
- };
-
- #
- # Monitors of the system
- #
- monitors = mkOption {
- default = [];
- description = "Monitors of the system.";
- type = with types; listOf (submodule monitorOpts);
- };
-
- #
- # Theme of the system
- #
- theme = {
- colors = mkOption {
- type = with types; (submodule colorOpts);
- description = "color scheme";
- };
-
- opacity = mkOption {
- type = types.float;
- description = "Window opacity.";
- };
-
- # theme fonts
- font = {
- size = mkOption {
- type = types.int;
- description = "Theme primary font size.";
- };
-
- regular = mkOption {
- type = types.str;
- description = "Regular system font.";
- };
-
- monospace = mkOption {
- type = types.str;
- description = "Monospace system font.";
- };
-
- header = mkOption {
- type = types.str;
- description = "Header system font.";
- };
-
- icon = mkOption {
- type = types.str;
- description = "Icon system font.";
- };
- };
-
- borderWidth = mkOption {
- type = types.int;
- description = "Theme border width";
- };
-
- outerRadius = mkOption {
- type = types.int;
- description = "Theme outer border radius.";
- };
-
- innerRadius = mkOption {
- type = types.int;
- description = "Theme inner border radius.";
- };
-
- outerGap = mkOption {
- type = types.int;
- description = "Theme outer gap/spacing.";
- };
-
- innerGap = mkOption {
- type = types.int;
- description = "Theme inner gap/spacing.";
- };
-
- blur = mkEnableOption {
- description = "If to enable blur in some programs.";
- };
-
- wallpaper = mkOption {
- type = types.str;
- description = "Path to wallpaper image";
- };
-
- lockscreen = mkOption {
- type = types.str;
- description = "Path to lockscreen image";
- };
-
- avatar = mkOption {
- type = types.str;
- description = "Path to avatar image";
- };
- };
-
- #
- # Default programs
- #
- default = {
- browser = mkOption {
- type = types.str;
- description = "Default browser launch command.";
- };
- appLauncher = mkOption {
- type = types.str;
- description = "Default application launcher launch command.";
- };
- lockScreen = mkOption {
- type = types.str;
- description = "Default lock screen launch command.";
- };
- terminal = mkOption {
- type = types.str;
- description = "Default terminal launch command.";
- };
- session = mkOption {
- type = types.str;
- description = "Default systemd graphical session target.";
- default = "graphical-session.target";
- };
- };
-
- #
- # Programs to auto start on launch
- #
- autoRun = mkOption {
- type = with types; listOf str;
- description = "List of programs to auto run in a graphical environment.";
- default = [];
- };
- };
-}