🚀 add more themes

nixos
Moritz Böhme 2022-09-07 19:19:06 +02:00
parent 04fe22a791
commit 79faf3470e
Signed by: moritz
GPG Key ID: 970C6E89EB0547A9
7 changed files with 657 additions and 386 deletions

View File

@ -0,0 +1,39 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.my.theming;
in
{
config = mkIf (cfg.scheme == "catppuccin-frappe")
(import ./catppuccin.nix
{
inherit config lib pkgs;
rosewater = "f2d5cf";
flamingo = "eebebe";
pink = "f4b8e4";
mauve = "ca9ee6";
red = "e78284";
maroon = "ea999c";
peach = "ef9f76";
yellow = "e5c890";
green = "a6d189";
teal = "81c8be";
sky = "99d1db";
sapphire = "85c1dc";
blue = "8caaee";
lavender = "babbf1";
text = "c6d0f5";
subtext1 = "b5bfe2";
subtext0 = "a5adce";
overlay2 = "949cbb";
overlay1 = "838ba7";
overlay0 = "737994";
surface2 = "626880";
surface1 = "51576d";
surface0 = "414559";
base = "303446";
mantle = "292c3c";
crust = "232634";
});
}

View File

@ -0,0 +1,39 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.my.theming;
in
{
config = mkIf (cfg.scheme == "catppuccin-latte")
(import ./catppuccin.nix
{
inherit config lib pkgs;
rosewater = "dc8a78";
flamingo = "dd7878";
pink = "ea76cb";
mauve = "8839ef";
red = "d20f39";
maroon = "e64553";
peach = "fe640b";
yellow = "df8e1d";
green = "40a02b";
teal = "179299";
sky = "04a5e5";
sapphire = "209fb5";
blue = "1e66f5";
lavender = "7287fd";
text = "4c4f69";
subtext1 = "5c5f77";
subtext0 = "6c6f85";
overlay2 = "7c7f93";
overlay1 = "8c8fa1";
overlay0 = "9ca0b0";
surface2 = "acb0be";
surface1 = "bcc0cc";
surface0 = "ccd0da";
base = "eff1f5";
mantle = "e6e9ef";
crust = "dce0e8";
});
}

View File

@ -0,0 +1,39 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.my.theming;
in
{
config = mkIf (cfg.scheme == "catppuccin-macchiato")
(import ./catppuccin.nix
{
inherit config lib pkgs;
rosewater = "f4dbd6";
flamingo = "f0c6c6";
pink = "f5bde6";
mauve = "c6a0f6";
red = "ed8796";
maroon = "ee99a0";
peach = "f5a97f";
yellow = "eed49f";
green = "a6da95";
teal = "8bd5ca";
sky = "91d7e3";
sapphire = "7dc4e4";
blue = "8aadf4";
lavender = "b7bdf8";
text = "cad3f5";
subtext1 = "b8c0e0";
subtext0 = "a5adcb";
overlay2 = "939ab7";
overlay1 = "8087a2";
overlay0 = "6e738d";
surface2 = "5b6078";
surface1 = "494d64";
surface0 = "363a4f";
base = "24273a";
mantle = "1e2030";
crust = "181926";
});
}

View File

@ -0,0 +1,39 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.my.theming;
in
{
config = mkIf (cfg.scheme == "catppuccin-mocha")
(import ./catppuccin.nix
{
inherit config lib pkgs;
rosewater = "f5e0dc";
flamingo = "f2cdcd";
pink = "f5c2e7";
mauve = "cba6f7";
red = "f38ba8";
maroon = "eba0ac";
peach = "fab387";
yellow = "f9e2af";
green = "a6e3a1";
teal = "94e2d5";
sky = "89dceb";
sapphire = "74c7ec";
blue = "89b4fa";
lavender = "b4befe";
text = "cdd6f4";
subtext1 = "bac2de";
subtext0 = "a6adc8";
overlay2 = "9399b2";
overlay1 = "7f849c";
overlay0 = "6c7086";
surface2 = "585b70";
surface1 = "45475a";
surface0 = "494d64";
base = "1e1e2e";
mantle = "181825";
crust = "11111b";
});
}

View File

@ -1,38 +1,39 @@
{ config, lib, pkgs, ... }: { config
, lib
, pkgs
, rosewater
, flamingo
, pink
, mauve
, red
, maroon
, peach
, yellow
, green
, teal
, sky
, sapphire
, blue
, lavender
, text
, subtext1
, subtext0
, overlay2
, overlay1
, overlay0
, surface2
, surface1
, surface0
, base
, mantle
, crust
}:
with lib; with lib;
let let
cfg = config.my.theming; cfg = config.my.theming;
rosewater = "#f2d5cf";
flamingo = "#eebebe";
pink = "#f4b8e4";
mauve = "#ca9ee6";
red = "#e78284";
maroon = "#ea999c";
peach = "#ef9f76";
yellow = "#e5c890";
green = "#a6d189";
teal = "#81c8be";
sky = "#99d1db";
sapphire = "#85c1dc";
blue = "#8caaee";
lavender = "#babbf1";
text = "#c6d0f5";
subtext1 = "#b5bfe2";
subtext0 = "#a5adce";
overlay2 = "#949cbb";
overlay1 = "#838ba7";
overlay0 = "#737994";
surface2 = "#626880";
surface1 = "#51576d";
surface0 = "#414559";
base = "#303446";
mantle = "#292c3c";
crust = "#232634";
in in
{ {
config = mkIf (cfg.scheme == "catppuccin") {
home-manager.users.moritz = { home-manager.users.moritz = {
programs = { programs = {
kitty.extraConfig = kitty.extraConfig =
@ -48,117 +49,117 @@ in
# The basic colors # The basic colors
foreground #C6D0F5 foreground #${text}
background #303446 background #${base}
selection_foreground #303446 selection_foreground #${base}
selection_background ${rosewater} selection_background #${rosewater}
# Cursor colors # Cursor colors
cursor ${rosewater} cursor #${rosewater}
cursor_text_color #303446 cursor_text_color #${base}
# URL underline color when hovering with mouse # URL underline color when hovering with mouse
url_color ${rosewater} url_color #${rosewater}
# Kitty window border colors # Kitty window border colors
active_border_color #BABBF1 active_border_color #${lavender}
inactive_border_color #737994 inactive_border_color #${overlay0}
bell_border_color #E5C890 bell_border_color #${yellow}
# OS Window titlebar colors # OS Window titlebar colors
wayland_titlebar_color system wayland_titlebar_color system
macos_titlebar_color system macos_titlebar_color system
# Tab bar colors # Tab bar colors
active_tab_foreground #232634 active_tab_foreground #${crust}
active_tab_background ${mauve} active_tab_background #${mauve}
inactive_tab_foreground #C6D0F5 inactive_tab_foreground #${text}
inactive_tab_background #292C3C inactive_tab_background #${mantle}
tab_bar_background #232634 tab_bar_background #${crust}
# Colors for marks (marked text in the terminal) # Colors for marks (marked text in the terminal)
mark1_foreground #303446 mark1_foreground #${base}
mark1_background #BABBF1 mark1_background #${lavender}
mark2_foreground #303446 mark2_foreground #${base}
mark2_background ${mauve} mark2_background #${mauve}
mark3_foreground #303446 mark3_foreground #${base}
mark3_background #85C1DC mark3_background #${sapphire}
# The 16 terminal colors # The 16 terminal colors
# black # black
color0 #51576D color0 #${surface1}
color8 #626880 color8 #${surface2}
# red # red
color1 ${red} color1 #${red}
color9 ${red} color9 #${red}
# green # green
color2 #A6D189 color2 #${green}
color10 #A6D189 color10 #${green}
# yellow # yellow
color3 #E5C890 color3 #${yellow}
color11 #E5C890 color11 #${yellow}
# blue # blue
color4 #8CAAEE color4 #${blue}
color12 #8CAAEE color12 #${blue}
# magenta # magenta
color5 ${pink} color5 #${pink}
color13 ${pink} color13 #${pink}
# cyan # cyan
color6 #81C8BE color6 #${teal}
color14 #81C8BE color14 #${teal}
# white # white
color7 #B5BFE2 color7 #${subtext1}
color15 #A5ADCE color15 #${subtext0}
''; '';
zathura.extraConfig = '' zathura.extraConfig = ''
set window-title-basename "true" set window-title-basename "true"
set selection-clipboard "clipboard" set selection-clipboard "clipboard"
set default-fg "#C6D0F5" set default-fg "#${text}"
set default-bg "#303446" set default-bg "#${base}"
set completion-bg "#414559" set completion-bg "#${surface0}"
set completion-fg "#C6D0F5" set completion-fg "#${text}"
set completion-highlight-bg "#575268" set completion-highlight-bg "#575268"
set completion-highlight-fg "#C6D0F5" set completion-highlight-fg "#${text}"
set completion-group-bg "#414559" set completion-group-bg "#${surface0}"
set completion-group-fg "#8CAAEE" set completion-group-fg "#${blue}"
set statusbar-fg "#C6D0F5" set statusbar-fg "#${text}"
set statusbar-bg "#414559" set statusbar-bg "#${surface0}"
set notification-bg "#414559" set notification-bg "#${surface0}"
set notification-fg "#C6D0F5" set notification-fg "#${text}"
set notification-error-bg "#414559" set notification-error-bg "#${surface0}"
set notification-error-fg "${red}" set notification-error-fg "#${red}"
set notification-warning-bg "#414559" set notification-warning-bg "#${surface0}"
set notification-warning-fg "#FAE3B0" set notification-warning-fg "#FAE3B0"
set inputbar-fg "#C6D0F5" set inputbar-fg "#${text}"
set inputbar-bg "#414559" set inputbar-bg "#${surface0}"
set recolor-lightcolor "#303446" set recolor-lightcolor "#${base}"
set recolor-darkcolor "#C6D0F5" set recolor-darkcolor "#${text}"
set index-fg "#C6D0F5" set index-fg "#${text}"
set index-bg "#303446" set index-bg "#${base}"
set index-active-fg "#C6D0F5" set index-active-fg "#${text}"
set index-active-bg "#414559" set index-active-bg "#${surface0}"
set render-loading-bg "#303446" set render-loading-bg "#${base}"
set render-loading-fg "#C6D0F5" set render-loading-fg "#${text}"
set highlight-color "#575268" set highlight-color "#575268"
set highlight-fg "${pink}" set highlight-fg "#${pink}"
set highlight-active-color "${pink}" set highlight-active-color "#${pink}"
''; '';
rofi = { rofi = {
theme = "custom"; theme = "custom";
@ -177,18 +178,16 @@ in
}; };
}; };
}; };
xsession.windowManager.bspwm = { xsession.windowManager.bspwm.settings = {
settings = { focused_border_color = "#${mauve}";
focused_border_color = mauve; normal_border_color = "#${base}";
normal_border_color = base; active_border_color = "#${base}";
active_border_color = base;
};
}; };
services = { services = {
dunst.settings = { dunst.settings = {
global = { global = {
# Defines color of the frame around the notification window. # Defines color of the frame around the notification window.
frame_color = blue; frame_color = "#${blue}";
# Define a color for the separator. # Define a color for the separator.
# possible values are: # possible values are:
@ -200,17 +199,17 @@ in
}; };
urgency_low = { urgency_low = {
background = base; background = "#${base}";
foreground = text; foreground = "#${text}";
}; };
urgency_normal = { urgency_normal = {
background = base; background = "#${base}";
foreground = text; foreground = "#${text}";
}; };
urgency_critical = { urgency_critical = {
background = base; background = "#${base}";
foreground = text; foreground = "#${text}";
frame_color = peach; frame_color = "#${peach}";
}; };
}; };
polybar = { polybar = {
@ -246,7 +245,7 @@ in
"module/pulseaudio" = { "module/pulseaudio" = {
format-volume-foreground = base; format-volume-foreground = base;
format-volume-background = mauve; format-volume-background = mauve;
label-muted = "%{F${red}} %{F${base}}muted"; label-muted = " muted";
format-muted-foreground = base; format-muted-foreground = base;
format-muted-background = red; format-muted-background = red;
}; };
@ -257,16 +256,64 @@ in
}; };
}; };
}; };
xdg.configFile."rofi/custom.rasi".text = '' xdg.configFile = {
"fish/conf.d/theme.fish".text = ''
# Catppuccin color palette
# --> special
set -l foreground ${text}
set -l selection ${surface0}
# --> palette
set -l teal ${teal}
set -l flamingo ${flamingo}
set -l mauve ${mauve}
set -l pink ${pink}
set -l red ${red}
set -l peach ${peach}
set -l green ${green}
set -l yellow ${yellow}
set -l blue ${blue}
set -l gray ${overlay0}
# Syntax Highlighting
set -g fish_color_normal $foreground
set -g fish_color_command $blue
set -g fish_color_param $flamingo
set -g fish_color_keyword $red
set -g fish_color_quote $green
set -g fish_color_redirection $pink
set -g fish_color_end $peach
set -g fish_color_error $red
set -g fish_color_gray $gray
set -g fish_color_selection --background=$selection
set -g fish_color_search_match --background=$selection
set -g fish_color_operator $pink
set -g fish_color_escape $flamingo
set -g fish_color_autosuggestion $gray
set -g fish_color_cancel $red
# Prompt
set -g fish_color_cwd $yellow
set -g fish_color_user $teal
set -g fish_color_host $blue
# Completion Pager
set -g fish_pager_color_progress $gray
set -g fish_pager_color_prefix $pink
set -g fish_pager_color_completion $foreground
set -g fish_pager_color_description $gray
'';
"rofi/custom.rasi".text = ''
* { * {
bg-col: #303446; bg-col: #${base};
bg-col-light: #303446; bg-col-light: #${base};
border-col: #303446; border-col: #${base};
selected-col: #303446; selected-col: #${base};
blue: #8caaee; blue: #${blue};
fg-col: #c6d0f5; fg-col: #${text};
fg-col2: ${red}; fg-col2: #${red};
grey: #737994; grey: #${overlay0};
width: 900; width: 900;
font: "JetBrainsMono Nerd Font 14"; font: "JetBrainsMono Nerd Font 14";

View File

@ -10,7 +10,13 @@ let
cfg = config.my.theming; cfg = config.my.theming;
in in
{ {
imports = [ ./dracula.nix ./catppuccin.nix ]; imports = [
./dracula.nix
./catppuccin-frappe.nix
./catppuccin-latte.nix
./catppuccin-macchiato.nix
./catppuccin-mocha.nix
];
options.my.theming = { options.my.theming = {
enable = mkOption { enable = mkOption {
@ -19,8 +25,14 @@ in
example = true; example = true;
}; };
scheme = mkOption { scheme = mkOption {
default = "catppuccin"; default = "catppuccin-macchiato";
type = types.enum [ "dracula" "catppuccin" ]; type = types.enum [
"dracula"
"catppuccin-latte"
"catppuccin-frappe"
"catppuccin-macchiato"
"catppuccin-mocha"
];
}; };
}; };

View File

@ -149,6 +149,7 @@ in
}; };
services = { services = {
dunst.settings = { dunst.settings = {
global = {
# Defines color of the frame around the notification window. # Defines color of the frame around the notification window.
frame_color = "#282a36"; frame_color = "#282a36";
@ -159,6 +160,7 @@ in
# * frame: use the same color as the frame; # * frame: use the same color as the frame;
# * anything else will be interpreted as a X color. # * anything else will be interpreted as a X color.
separator_color = "frame"; separator_color = "frame";
};
urgency_low = { urgency_low = {
background = "#282a36"; background = "#282a36";
@ -219,7 +221,60 @@ in
}; };
}; };
}; };
xdg.configFile."rofi/dracula.rasi".text = '' xdg.configFile = {
"fish/conf.d/theme.fish".text = ''
# Dracula Color Palette
set -l foreground f8f8f2
set -l selection 44475a
set -l comment 6272a4
set -l red ff5555
set -l orange ffb86c
set -l yellow f1fa8c
set -l green 50fa7b
set -l purple bd93f9
set -l cyan 8be9fd
set -l pink ff79c6
# Syntax Highlighting Colors
set -gx fish_color_normal $foreground
set -gx fish_color_command $cyan
set -gx fish_color_keyword $pink
set -gx fish_color_quote $yellow
set -gx fish_color_redirection $foreground
set -gx fish_color_end $orange
set -gx fish_color_error $red
set -gx fish_color_param $purple
set -gx fish_color_comment $comment
set -gx fish_color_selection --background=$selection
set -gx fish_color_search_match --background=$selection
set -gx fish_color_operator $green
set -gx fish_color_escape $pink
set -gx fish_color_autosuggestion $comment
set -gx fish_color_cancel $red --reverse
set -gx fish_color_option $orange
# Default Prompt Colors
set -gx fish_color_cwd $green
set -gx fish_color_host $purple
set -gx fish_color_host_remote $purple
set -gx fish_color_user $cyan
# Completion Pager Colors
set -gx fish_pager_color_progress $comment
set -gx fish_pager_color_background
set -gx fish_pager_color_prefix $cyan
set -gx fish_pager_color_completion $foreground
set -gx fish_pager_color_description $comment
set -gx fish_pager_color_selected_background --background=$selection
set -gx fish_pager_color_selected_prefix $cyan
set -gx fish_pager_color_selected_completion $foreground
set -gx fish_pager_color_selected_description $comment
set -gx fish_pager_color_secondary_background
set -gx fish_pager_color_secondary_prefix $cyan
set -gx fish_pager_color_secondary_completion $foreground
set -gx fish_pager_color_secondary_description $comment
'';
"rofi/dracula.rasi".text = ''
* { * {
/* Dracula theme colour palette */ /* Dracula theme colour palette */
drac-bgd: #282a36; drac-bgd: #282a36;
@ -363,4 +418,5 @@ in
''; '';
}; };
}; };
};
} }