diff options
Diffstat (limited to 'home/wm/theme')
-rw-r--r-- | home/wm/theme/default.nix | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/home/wm/theme/default.nix b/home/wm/theme/default.nix new file mode 100644 index 0000000..e466d6c --- /dev/null +++ b/home/wm/theme/default.nix @@ -0,0 +1,63 @@ +{ config, lib, ... }: +let + isEnabled = config.my.home.wm.windowManager == "sway"; + cfg = config.base16-theme; + inherit (lib) mkOption mkMerge mkIf mkEnableOption types; + cnotation = builtins.replaceStrings [ "#" ] [ "0x" ]; + color = default: + mkOption { + inherit default; + type = types.str; + }; + alpha = clr: a: "${clr}${a}"; +in { + options.base16-theme = { + enable = mkEnableOption "Enable base16 theme systemwide"; + base00 = color "#2E3440"; # polar night + base01 = color "#3B4252"; # polar night + base02 = color "#434C5E"; # polar night + base03 = color "#4C566A"; # polar night + base04 = color "#D8DEE9"; # snow storm + base05 = color "#E5E9F0"; # snow storm + base06 = color "#ECEFF4"; # snow storm + base07 = color "#8FBCBB"; # frost + base08 = color "#88C0D0"; # frost + base09 = color "#81A1C1"; # frost + base0A = color "#5E81AC"; # frost + base0B = color "#BF616A"; # aurora + base0C = color "#D08770"; # aurora + base0D = color "#EBCB8B"; # aurora + base0E = color "#A3BE8C"; # aurora + base0F = color "#B48EAD"; # aurora + }; + + config = mkIf isEnabled (mkMerge [({ + wayland.windowManager.sway.config.colors = rec { + focused = { + border = cfg.base0A; + background = cfg.base0A; + text = cfg.base06; + indicator = cfg.base0A; + childBorder = cfg.base0A; + }; + + focusedInactive = { + border = cfg.base00; + background = cfg.base00; + text = cfg.base07; + indicator = cfg.base00; + childBorder = cfg.base00; + }; + + unfocused = focusedInactive; + + urgent = { + border = cfg.base0B; + background = cfg.base0B; + text = cfg.base05; + indicator = cfg.base0B; + childBorder = cfg.base0B; + }; + }; + })]); +} |