{ config, lib, pkgs, ... }: with lib; let 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 { config = mkIf (cfg.scheme == "catppuccin") { home-manager.users.moritz = { programs = { kitty.extraConfig = '' # vim:ft=kitty ## name: Catppuccin-Frappe ## author: Pocco81 (https://github.com/Pocco81) ## license: MIT ## upstream: https://github.com/catppuccin/kitty/blob/main/frappe.conf ## blurb: Soothing pastel theme for the high-spirited! # The basic colors foreground #C6D0F5 background #303446 selection_foreground #303446 selection_background ${rosewater} # Cursor colors cursor ${rosewater} cursor_text_color #303446 # URL underline color when hovering with mouse url_color ${rosewater} # Kitty window border colors active_border_color #BABBF1 inactive_border_color #737994 bell_border_color #E5C890 # OS Window titlebar colors wayland_titlebar_color system macos_titlebar_color system # Tab bar colors active_tab_foreground #232634 active_tab_background ${mauve} inactive_tab_foreground #C6D0F5 inactive_tab_background #292C3C tab_bar_background #232634 # Colors for marks (marked text in the terminal) mark1_foreground #303446 mark1_background #BABBF1 mark2_foreground #303446 mark2_background ${mauve} mark3_foreground #303446 mark3_background #85C1DC # The 16 terminal colors # black color0 #51576D color8 #626880 # red color1 ${red} color9 ${red} # green color2 #A6D189 color10 #A6D189 # yellow color3 #E5C890 color11 #E5C890 # blue color4 #8CAAEE color12 #8CAAEE # magenta color5 ${pink} color13 ${pink} # cyan color6 #81C8BE color14 #81C8BE # white color7 #B5BFE2 color15 #A5ADCE ''; zathura.extraConfig = '' set window-title-basename "true" set selection-clipboard "clipboard" set default-fg "#C6D0F5" set default-bg "#303446" set completion-bg "#414559" set completion-fg "#C6D0F5" set completion-highlight-bg "#575268" set completion-highlight-fg "#C6D0F5" set completion-group-bg "#414559" set completion-group-fg "#8CAAEE" set statusbar-fg "#C6D0F5" set statusbar-bg "#414559" set notification-bg "#414559" set notification-fg "#C6D0F5" set notification-error-bg "#414559" set notification-error-fg "${red}" set notification-warning-bg "#414559" set notification-warning-fg "#FAE3B0" set inputbar-fg "#C6D0F5" set inputbar-bg "#414559" set recolor-lightcolor "#303446" set recolor-darkcolor "#C6D0F5" set index-fg "#C6D0F5" set index-bg "#303446" set index-active-fg "#C6D0F5" set index-active-bg "#414559" set render-loading-bg "#303446" set render-loading-fg "#C6D0F5" set highlight-color "#575268" set highlight-fg "${pink}" set highlight-active-color "${pink}" ''; rofi = { theme = "custom"; extraConfig = { show-icons = true; terminal = "alacritty"; drun-display-format = "{icon} {name}"; location = 0; disable-history = false; hide-scrollbar = true; display-drun = "  Apps "; display-run = "  Run "; display-window = " 﩯 Window"; display-Network = " 󰤨 Network"; sidebar-mode = true; }; }; }; xsession.windowManager.bspwm = { settings = { focused_border_color = mauve; normal_border_color = base; active_border_color = base; }; }; services = { dunst.settings = { global = { # Defines color of the frame around the notification window. frame_color = blue; # Define a color for the separator. # possible values are: # * auto: dunst tries to find a color fitting to the background; # * foreground: use the same color as the foreground; # * frame: use the same color as the frame; # * anything else will be interpreted as a X color. separator_color = "frame"; }; urgency_low = { background = base; foreground = text; }; urgency_normal = { background = base; foreground = text; }; urgency_critical = { background = base; foreground = text; frame_color = peach; }; }; polybar = { config = { "bar/bottom" = { background = base; foreground = text; border-color = base; }; "module/bspwm" = { label-focused-foreground = pink; label-occupied-foreground = overlay1; label-urgent-foreground = maroon; label-empty-foreground = overlay1; label-separator-foreground = base; }; "module/cpu" = { format-foreground = base; format-background = green; }; "module/time" = { format-foreground = base; format-background = blue; }; "module/date" = { format-foreground = base; format-background = peach; }; "module/memory" = { format-foreground = base; format-background = blue; }; "module/pulseaudio" = { format-volume-foreground = base; format-volume-background = mauve; label-muted = "%{F${red}}婢 %{F${base}}muted"; format-muted-foreground = base; format-muted-background = red; }; "module/network" = { format-connected-foreground = base; format-connected-background = mauve; }; }; }; }; xdg.configFile."rofi/custom.rasi".text = '' * { bg-col: #303446; bg-col-light: #303446; border-col: #303446; selected-col: #303446; blue: #8caaee; fg-col: #c6d0f5; fg-col2: ${red}; grey: #737994; width: 900; font: "JetBrainsMono Nerd Font 14"; } element-text, element-icon , mode-switcher { background-color: inherit; text-color: inherit; } window { height: 360px; border: 3px; border-color: @border-col; background-color: @bg-col; } mainbox { background-color: @bg-col; } inputbar { children: [prompt,entry]; background-color: @bg-col; border-radius: 5px; padding: 2px; } prompt { background-color: @blue; padding: 6px; text-color: @bg-col; border-radius: 3px; margin: 20px 0px 0px 20px; } textbox-prompt-colon { expand: false; str: ":"; } entry { padding: 6px; margin: 20px 0px 0px 10px; text-color: @fg-col; background-color: @bg-col; } listview { border: 0px 0px 0px; padding: 6px 0px 0px; margin: 10px 0px 0px 20px; columns: 2; lines: 5; background-color: @bg-col; } element { padding: 5px; background-color: @bg-col; text-color: @fg-col ; } element-icon { size: 25px; } element selected { background-color: @selected-col ; text-color: @fg-col2 ; } mode-switcher { spacing: 0; } button { padding: 10px; background-color: @bg-col-light; text-color: @grey; vertical-align: 0.5; horizontal-align: 0.5; } button selected { background-color: @bg-col; text-color: @blue; } ''; }; }; }