diff --git a/modules/desktop/themes/catppuccin/rofi.rasi b/config/rofi.rasi similarity index 100% rename from modules/desktop/themes/catppuccin/rofi.rasi rename to config/rofi.rasi diff --git a/modules/desktop/themes/catppuccin/waybar.css b/config/waybar.css similarity index 98% rename from modules/desktop/themes/catppuccin/waybar.css rename to config/waybar.css index bb72f31..5c2363c 100644 --- a/modules/desktop/themes/catppuccin/waybar.css +++ b/config/waybar.css @@ -71,7 +71,7 @@ window#waybar { } #workspaces button.active { - background: @accent; + background: @pink; color: @surface0; } #workspaces button:hover { @@ -80,7 +80,7 @@ window#waybar { box-shadow: none; } #workspaces button.active:hover { - background: @accent; + background: @pink; color: @surface0; } diff --git a/modules/desktop/hyprland.nix b/modules/desktop/hyprland.nix index 028ef82..009bf72 100644 --- a/modules/desktop/hyprland.nix +++ b/modules/desktop/hyprland.nix @@ -293,6 +293,20 @@ in { initial_workspace_tracking = 0; }; }; + + extraConfig = '' + general { + col.active_border=$pink + col.inactive_border=$surface0 + } + decoration { + col.shadow=$surface0 + col.shadow_inactive=$surface0 + } + misc { + background_color=$crust + } + ''; }; }; } diff --git a/modules/desktop/rofi.nix b/modules/desktop/rofi.nix index d27c114..5724685 100644 --- a/modules/desktop/rofi.nix +++ b/modules/desktop/rofi.nix @@ -16,6 +16,7 @@ in { extraConfig = { show-icons = true; }; + theme = ../../config/rofi.rasi; }; }; } diff --git a/modules/desktop/themes/catppuccin/default.nix b/modules/desktop/themes/catppuccin/default.nix index 54987d2..ed61419 100644 --- a/modules/desktop/themes/catppuccin/default.nix +++ b/modules/desktop/themes/catppuccin/default.nix @@ -5,17 +5,15 @@ let cfg = config.modules.desktop.themes; accent = "pink"; variant = "mocha"; - colorScheme = inputs.nix-colors.colorSchemes.${"catppuccin-${variant}"}; - pascalCase = s: (toUpper (substring 0 1 s)) + (toLower (substring 1 (stringLength s) s)); in { config = mkIf (cfg.active == "catppuccin") { - colorScheme = colorScheme; + colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha; modules.desktop.themes = { - dark = variant != "latte"; + dark = true; gtkTheme = { - name = "catppuccin-${variant}-${accent}-compact+rimless"; + name = "catppuccin-mocha-pink-compact+rimless"; # TODO: put accent in here package = pkgs.catppuccin-gtk.override { variant = variant; accents = [ accent ]; @@ -47,7 +45,7 @@ in { editor = { vscode = { colorTheme = { - name = "Catppuccin ${pascalCase variant}"; + name = "Catppuccin Mocha"; extension = (pkgs.vscode-extensions.catppuccin.catppuccin-vsc.override { accent = accent; boldKeywords = false; @@ -65,36 +63,7 @@ in { }; }; - hyprland = { - source = "${inputs.hyprland-catppuccin}/themes/${variant}.conf"; - extraConfig = '' - general { - col.active_border=''$${accent} - col.inactive_border=$surface0 - } - decoration { - col.shadow=$surface0 - col.shadow_inactive=$surface0 - } - misc { - background_color=$crust - } - ''; - }; - - waybar = builtins.concatStringsSep "\n" [ - "@import \"${inputs.waybar-catppuccin}/themes/${variant}.css\";" - "@define-color accent @${accent};" - (lib.readFile ./waybar.css) - ]; - - wob = with colorScheme.palette; { - borderColor = "${base04}FF"; - backgroundColor = "${base01}66"; - barColor = "${base05}FF"; - }; - - rofi = ./rofi.rasi; + hyprland = "${inputs.hyprland-catppuccin}/themes/${variant}.conf"; }; }; } diff --git a/modules/desktop/themes/default.nix b/modules/desktop/themes/default.nix index d38dbc4..7671167 100644 --- a/modules/desktop/themes/default.nix +++ b/modules/desktop/themes/default.nix @@ -44,20 +44,7 @@ in { }; }; - hyprland = { - source = mkOpt (nullOr str) null; - extraConfig = mkOpt (nullOr str) null; - }; - - waybar = mkOpt str ""; - - wob = { - borderColor = mkOpt (nullOr str) null; - backgroundColor = mkOpt (nullOr str) null; - barColor = mkOpt (nullOr str) null; - }; - - rofi = mkOpt (nullOr path) null; + hyprland = mkOpt (nullOr str) null; }; config = mkIf (cfg.active != null) { @@ -109,19 +96,6 @@ in { }; }; - hm.wayland.windowManager.hyprland = { - settings.source = mkIf (cfg.hyprland.source != null) [ cfg.hyprland.source ]; - extraConfig = mkIf (cfg.hyprland.extraConfig != null) cfg.hyprland.extraConfig; - }; - - hm.programs.waybar.style = cfg.waybar; - - hm.services.wob.settings."" = { - border_color = cfg.wob.borderColor; - background_color = cfg.wob.backgroundColor; - bar_color = cfg.wob.barColor; - }; - - hm.programs.rofi.theme = cfg.rofi; + hm.wayland.windowManager.hyprland.settings.source = mkIf (cfg.hyprland != null) [ cfg.hyprland ]; }; } diff --git a/modules/desktop/waybar.nix b/modules/desktop/waybar.nix index f21fa05..8430450 100644 --- a/modules/desktop/waybar.nix +++ b/modules/desktop/waybar.nix @@ -18,6 +18,10 @@ in { hm.programs.waybar = { enable = true; package = cfg.package; + style = builtins.concatStringsSep "\n" [ + "@import \"${inputs.waybar-catppuccin}/themes/mocha.css\";" + (lib.readFile ../../config/waybar.css) + ]; settings = { mainBar = { layer = "top"; @@ -36,19 +40,11 @@ in { "clock" ]; modules-right = [ - "group/playback" "group/status" "tray" "group/power" ]; - "group/playback" = { - orientation = "inherit"; - modules = [ - "mpris" - ]; - }; - "group/status" = { orientation = "inherit"; modules = [ @@ -214,18 +210,6 @@ in { { type = "audio-in"; } ]; }; - mpris = { - format = "♫ {dynamic}"; - format-paused = "{status_icon} {dynamic}"; - dynamic-order = [ "title" ]; - tooltip-format = "{player}: {dynamic}"; - interval = 1; - status-icons = { - playing = "▶"; - paused = "⏸"; - }; - player = "firefox"; - }; clock = { format = "{:%H:%M}"; format-alt = "{:%a %b %d %R}"; diff --git a/modules/desktop/wob.nix b/modules/desktop/wob.nix index de88a37..5c0cb30 100644 --- a/modules/desktop/wob.nix +++ b/modules/desktop/wob.nix @@ -22,7 +22,7 @@ in { in [ script ]; hm.services.wob = { enable = true; - settings = { + settings = with config.colorScheme.palette; { "" = { timeout = 1000; @@ -36,6 +36,10 @@ in { margin = 12; + border_color = "${base04}FF"; + background_color = "${base01}66"; + bar_color = "${base05}FF"; + overflow_mode = "nowrap"; output_mode = "focused"; };