diff --git a/homeManagerModules/desktopEnv/hypr/default.nix b/homeManagerModules/desktopEnv/hypr/default.nix index 41acd290..a59a52c1 100644 --- a/homeManagerModules/desktopEnv/hypr/default.nix +++ b/homeManagerModules/desktopEnv/hypr/default.nix @@ -1,6 +1,6 @@ { pkgs, lib, config, ... }: { - imports = [ ./hypridle ./hyprlock ./hyprpaper ./hyprshade ]; + imports = [ ./hypridle ./hyprlock ./hyprpaper ./hyprshade ./theme.nix ]; options = { desktopEnv.hyprland.enable = @@ -15,6 +15,8 @@ desktopEnv.hyprland.hyprpaper.enable = lib.mkDefault true; desktopEnv.hyprland.hyprshade.enable = lib.mkDefault true; + desktopEnv.hyprland.gtk-qt.enable = lib.mkDefault true; + # Basic apps needed to run a hyprland desktop. guiApps.waybar.enable = lib.mkDefault true; guiApps.mako.enable = lib.mkDefault true; @@ -62,56 +64,5 @@ configPackages = [ pkgs.xdg-desktop-portal-hyprland ]; extraPortals = [ pkgs.xdg-desktop-portal-hyprland ]; }; - - home.pointerCursor = { - gtk.enable = true; - x11.enable = true; - package = pkgs.catppuccin-cursors.frappeDark; - name = "Catppuccin-Frappe-Dark-Cursors"; - size = 24; - }; - - qt = { - enable = true; - platformTheme = "gtk"; - style.name = "Catppuccin-Frappe-Compact-Mauve-Dark"; - }; - - gtk = { - enable = true; - - theme = { - package = pkgs.catppuccin-gtk.override { - accents = [ "mauve" ]; - size = "compact"; - variant = "frappe"; - tweaks = [ "normal" ]; - }; - name = "Catppuccin-Frappe-Compact-Mauve-Dark"; - }; - - iconTheme = { - package = pkgs.catppuccin-papirus-folders.override { - flavor = "frappe"; - accent = "mauve"; - }; - name = "Papirus-Dark"; - }; - - font = { - name = "NotoSans Nerd Font Regular"; - package = pkgs.nerdfonts.override { fonts = [ "Noto" ]; }; - size = 11; - }; - }; - - dconf.settings = { - "org/gnome/desktop/interface" = { - gtk-theme = "Catppuccin-Frappe-Compact-Mauve-Dark"; - color-scheme = "prefer-dark"; - cursor-theme = "Catppuccin-Frappe-Dark-Cursors"; - cursor-size = 24; - }; - }; }; } diff --git a/homeManagerModules/desktopEnv/hypr/theme.nix b/homeManagerModules/desktopEnv/hypr/theme.nix new file mode 100644 index 00000000..810ee667 --- /dev/null +++ b/homeManagerModules/desktopEnv/hypr/theme.nix @@ -0,0 +1,66 @@ +{ pkgs, lib, config, ... }: { + + options = { + desktopEnv.hyprland.theme.enable = + lib.mkEnableOption "Hyprland GTK and Qt themes."; + }; + + config = lib.mkIf config.desktopEnv.hyprland.theme.enable { + + home.pointerCursor = { + gtk.enable = true; + x11.enable = true; + package = pkgs.catppuccin-cursors.frappeDark; + name = "Catppuccin-Frappe-Dark-Cursors"; + size = 24; + }; + + qt = { + enable = true; + platformTheme = "gtk"; + style.name = "Catppuccin-Frappe-Compact-Mauve-Dark"; + }; + + gtk = { + enable = true; + + theme = { + package = pkgs.catppuccin-gtk.override { + accents = [ "mauve" ]; + size = "compact"; + variant = "frappe"; + tweaks = [ "normal" ]; + }; + name = "Catppuccin-Frappe-Compact-Mauve-Dark"; + }; + + iconTheme = { + package = pkgs.catppuccin-papirus-folders.override { + flavor = "frappe"; + accent = "mauve"; + }; + name = "Papirus-Dark"; + }; + + font = { + name = "NotoSans Nerd Font Regular"; + package = pkgs.nerdfonts.override { fonts = [ "Noto" ]; }; + size = 11; + }; + + gtk3.extraConfig = { gtk-application-prefer-dark-theme = 1; }; + + gtk4.extraConfig = { gtk-application-prefer-dark-theme = 1; }; + + }; + + dconf.settings = { + "org/gnome/desktop/interface" = { + gtk-theme = "Catppuccin-Frappe-Compact-Mauve-Dark"; + color-scheme = "prefer-dark"; + cursor-theme = "Catppuccin-Frappe-Dark-Cursors"; + cursor-size = 24; + }; + }; + }; +}