diff options
author | Freya Murphy <freya@freyacat.org> | 2025-06-23 22:51:53 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-06-23 22:51:53 -0400 |
commit | 4107dbd75fc5acc289bb297892269a34fbf5d79d (patch) | |
tree | 5b1a3a4c5acb83654f3cc27421b5220a400b24d9 /config/default.nix | |
parent | fix fonts config (diff) | |
download | dotfiles-nix-4107dbd75fc5acc289bb297892269a34fbf5d79d.tar.gz dotfiles-nix-4107dbd75fc5acc289bb297892269a34fbf5d79d.tar.bz2 dotfiles-nix-4107dbd75fc5acc289bb297892269a34fbf5d79d.zip |
move global cfg options into modules (remove /config)
Diffstat (limited to 'config/default.nix')
-rw-r--r-- | config/default.nix | 362 |
1 files changed, 0 insertions, 362 deletions
diff --git a/config/default.nix b/config/default.nix deleted file mode 100644 index 53b59cb..0000000 --- a/config/default.nix +++ /dev/null @@ -1,362 +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"; - }; - - fg = mkOption { - type = types.str; - description = "Text color"; - }; - - bg = mkOption { - type = types.str; - description = "Background color"; - }; - - surface = { - fg = mkOption { - type = types.str; - description = "Surface text color"; - }; - bg = mkOption { - type = types.str; - description = "Surface background color"; - }; - }; - - hover = { - fg = mkOption { - type = types.str; - description = "Hover text color"; - }; - bg = mkOption { - type = types.str; - description = "Hover 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 normal color"; - }; - - blue = mkOption { - type = types.str; - description = "Terminal normal color"; - }; - - cyan = mkOption { - type = types.str; - description = "Terminal normal color"; - }; - - green = mkOption { - type = types.str; - description = "Terminal normal color"; - }; - - magenta = mkOption { - type = types.str; - description = "Terminal normal color"; - }; - - red = mkOption { - type = types.str; - description = "Terminal normal color"; - }; - - white = mkOption { - type = types.str; - description = "Terminal normal color"; - }; - - yellow = mkOption { - type = types.str; - description = "Terminal normal color"; - }; - }; - - bright = { - black = mkOption { - type = types.str; - description = "Terminal bright color"; - }; - - blue = mkOption { - type = types.str; - description = "Terminal bright color"; - }; - - cyan = mkOption { - type = types.str; - description = "Terminal bright color"; - }; - - green = mkOption { - type = types.str; - description = "Terminal bright color"; - }; - - magenta = mkOption { - type = types.str; - description = "Terminal bright color"; - }; - - red = mkOption { - type = types.str; - description = "Terminal bright color"; - }; - - white = mkOption { - type = types.str; - description = "Terminal bright color"; - }; - - yellow = mkOption { - type = types.str; - description = "Terminal bright color"; - }; - }; - }; - }; - - stateVersion = "25.05"; -in { - options = { - # - # System information - # - hostName = mkOption { - type = types.str; - description = "Hostname of the system."; - }; - - # - # 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."; - }; - }; - - # - # 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 = []; - }; - }; - - config = { - # use system packages in home manager - home-manager.useGlobalPkgs = true; - - # install user packages to /etc/profiles and not home directory - home-manager.useUserPackages = true; - - # allow unfree packages - nixpkgs.config.allowUnfree = true; - - # set state version - home-manager.users.${config.user}.home.stateVersion = stateVersion; - home-manager.users.root.home.stateVersion = stateVersion; - system.stateVersion = stateVersion; - }; -} |