diff options
author | Freya Murphy <freya@freyacat.org> | 2025-06-17 21:35:28 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-06-17 21:35:28 -0400 |
commit | 16893f1360b4c3b5720698ef3ad73e8e7008890b (patch) | |
tree | 9b5b641f338c8c033c6baa9493537e12284cdf78 /nix/default.nix | |
parent | unofficial-homestuck-collection: init at 2.6.5 (diff) | |
download | dotfiles-nix-16893f1360b4c3b5720698ef3ad73e8e7008890b.tar.gz dotfiles-nix-16893f1360b4c3b5720698ef3ad73e8e7008890b.tar.bz2 dotfiles-nix-16893f1360b4c3b5720698ef3ad73e8e7008890b.zip |
change color scheme basis
Diffstat (limited to 'nix/default.nix')
-rw-r--r-- | nix/default.nix | 179 |
1 files changed, 107 insertions, 72 deletions
diff --git a/nix/default.nix b/nix/default.nix index d6e36ec..a5e8f43 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -23,10 +23,9 @@ let }; }; - # base16 theme color options - # https://github.com/chriskempson/base16/blob/main/styling.md + # theme color options - base16Opts = self: { + colorOpts = self: { options = { name = mkOption { @@ -39,90 +38,140 @@ let description = "Author of the theme"; }; - base00 = mkOption { + fg = mkOption { type = types.str; - description = "Default Background."; + description = "Text color"; }; - base01 = mkOption { + bg = mkOption { type = types.str; - description = "Lighter Background (Used for status bars, line number and folding marks)."; + description = "Background color"; }; - base02 = mkOption { - type = types.str; - description = "Selection Background."; + surface = { + fg = mkOption { + type = types.str; + description = "Surface text color"; + }; + bg = mkOption { + type = types.str; + description = "Surface background color"; + }; }; - base03 = mkOption { - type = types.str; - description = "Comments, Invisibles, Line Highlighting."; + hover = { + fg = mkOption { + type = types.str; + description = "Hover text color"; + }; + bg = mkOption { + type = types.str; + description = "Hover background color"; + }; }; - base04 = mkOption { + primary = mkOption { type = types.str; - description = "Dark Foreground (Used for status bars)."; + description = "Primary accent color"; }; - base05 = mkOption { + success = mkOption { type = types.str; - description = "Default Foreground, Caret, Delimiters, Operators."; + description = "Success color"; }; - base06 = mkOption { + warning = mkOption { type = types.str; - description = "Light Foreground (Not often used)."; + description = "Warning color"; }; - base07 = mkOption { + error = mkOption { type = types.str; - description = "Light Background (Not often used)."; + description = "Error color"; }; - base08 = mkOption { - type = types.str; - description = "Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted."; - }; + normal = { + black = mkOption { + type = types.str; + description = "Terminal normal color"; + }; - base09 = mkOption { - type = types.str; - description = "Integers, Boolean, Constants, XML Attributes, Markup Link Url."; - }; + blue = mkOption { + type = types.str; + description = "Terminal normal color"; + }; - base0A = mkOption { - type = types.str; - description = "Classes, Markup Bold, Search Text Background."; - }; + cyan = mkOption { + type = types.str; + description = "Terminal normal color"; + }; - base0B = mkOption { - type = types.str; - description = "Strings, Inherited Class, Markup Code, Diff Inserted."; - }; + green = mkOption { + type = types.str; + description = "Terminal normal color"; + }; - base0C = mkOption { - type = types.str; - description = "Support, Regular Expressions, Escape Characters, Markup Quotes."; - }; + magenta = mkOption { + type = types.str; + description = "Terminal normal color"; + }; - base0D = mkOption { - type = types.str; - description = "Functions, Methods, Attribute IDs, Headings."; - }; + red = mkOption { + type = types.str; + description = "Terminal normal color"; + }; - base0E = mkOption { - type = types.str; - description = "Keywords, Storage, Selector, Markup Italic, Diff Changed."; - }; + white = mkOption { + type = types.str; + description = "Terminal normal color"; + }; - base0F = mkOption { - type = types.str; - description = "Deprecated, Opening/Closing Embedded Language Tags."; + yellow = mkOption { + type = types.str; + description = "Terminal normal color"; + }; }; - accent = mkOption { - type = types.str; - description = "Accent color."; - default = config.theme.colors.base0D; + 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"; + }; }; }; @@ -190,15 +239,13 @@ in # theme = { colors = mkOption { - type = with types; (submodule base16Opts); - description = "Base16 color scheme"; - default = (import ./themes).catppuccin.mocha; + type = with types; (submodule colorOpts); + description = "color scheme"; }; opacity = mkOption { type = types.float; description = "Window opacity."; - default = 1.0; }; # theme fonts @@ -206,31 +253,26 @@ in size = mkOption { type = types.int; description = "Theme primary font size."; - default = 14; }; regular = mkOption { type = types.str; description = "Regular system font."; - default = "JetBrains Mono"; }; monospace = mkOption { type = types.str; description = "Monospace system font."; - default = "monospace"; }; header = mkOption { type = types.str; description = "Header system font."; - default = "JetBrains Mono ExtraBold"; }; icon = mkOption { type = types.str; description = "Icon system font."; - default = "Font Awesome 6 Pro"; }; }; @@ -238,43 +280,36 @@ in borderWidth = mkOption { type = types.int; description = "Theme border width"; - default = 3; }; outerRadius = mkOption { type = types.int; description = "Theme outer border radius."; - default = 5; }; innerRadius = mkOption { type = types.int; description = "Theme inner border radius."; - default = 2; }; outerGap = mkOption { type = types.int; description = "Theme outer gap/spacing."; - default = 10; }; innerGap = mkOption { type = types.int; description = "Theme inner gap/spacing."; - default = 3; }; wallpaper = mkOption { type = types.str; description = "Path to wallpaper image"; - default = ""; }; avatar = mkOption { type = types.str; description = "Path to avatar image"; - default = ""; }; }; |