summaryrefslogtreecommitdiff
path: root/config/default.nix
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2025-06-23 22:51:53 -0400
committerFreya Murphy <freya@freyacat.org>2025-06-23 22:51:53 -0400
commit4107dbd75fc5acc289bb297892269a34fbf5d79d (patch)
tree5b1a3a4c5acb83654f3cc27421b5220a400b24d9 /config/default.nix
parentfix fonts config (diff)
downloaddotfiles-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.nix362
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;
- };
-}