diff --git a/homeManagerModules/theme.nix b/homeManagerModules/theme.nix index 5dec8e02..bb10059a 100644 --- a/homeManagerModules/theme.nix +++ b/homeManagerModules/theme.nix @@ -3,167 +3,166 @@ lib, config, ... -}: { - config = let - cfg = config.ar.home.theme; - in - lib.mkIf cfg.enable { - home = { - packages = with pkgs; [gnome.adwaita-icon-theme]; +}: let + cfg = config.ar.home.theme; +in { + config = lib.mkIf cfg.enable { + home = { + packages = with pkgs; [gnome.adwaita-icon-theme]; - pointerCursor = { - gtk.enable = true; - name = "Bibata-Modern-Classic"; - package = pkgs.bibata-cursors; - size = lib.mkDefault 20; + pointerCursor = { + gtk.enable = true; + name = "Bibata-Modern-Classic"; + package = pkgs.bibata-cursors; + size = lib.mkDefault 20; - x11 = { - enable = true; - defaultCursor = config.home.pointerCursor.name; - }; + x11 = { + enable = true; + defaultCursor = config.home.pointerCursor.name; }; }; + }; - fonts.fontconfig = { - enable = true; - defaultFonts = { - monospace = ["NotoSansM Nerd Font"]; - serif = ["NotoSerif Nerd Font"]; - sansSerif = [config.gtk.font.name]; - }; + fonts.fontconfig = { + enable = true; + defaultFonts = { + monospace = ["NotoSansM Nerd Font"]; + serif = ["NotoSerif Nerd Font"]; + sansSerif = [config.gtk.font.name]; + }; + }; + + gtk = { + enable = true; + + theme = { + package = pkgs.adw-gtk3; + name = + if cfg.darkMode + then "adw-gtk3-dark" + else "adw-gtk3"; }; - gtk = { - enable = true; - - theme = { - package = pkgs.adw-gtk3; - name = - if cfg.darkMode - then "adw-gtk3-dark" - else "adw-gtk3"; - }; - - iconTheme = { - package = pkgs.papirus-icon-theme; - name = - if cfg.darkMode - then "Papirus-Dark" - else "Papirus"; - }; - - font = { - name = "NotoSans Nerd Font"; - package = pkgs.nerdfonts.override {fonts = ["Noto"];}; - size = lib.mkDefault 11; - }; - - gtk3.extraConfig = lib.attrsets.optionalAttrs (cfg.darkMode) {gtk-application-prefer-dark-theme = 1;}; - - gtk4.extraConfig = lib.attrsets.optionalAttrs (cfg.darkMode) {gtk-application-prefer-dark-theme = 1;}; - - gtk3.extraCss = '' - @define-color accent_bg_color ${cfg.colors.primary}; - @define-color accent_color @accent_bg_color; - - ${ - lib.strings.optionalString - cfg.gtk.hideTitleBar - '' - /* No (default) title bar on wayland */ - headerbar.default-decoration { - /* You may need to tweak these values depending on your GTK theme */ - margin-bottom: 50px; - margin-top: -100px; - - background: transparent; - padding: 0; - border: 0; - min-height: 0; - font-size: 0; - box-shadow: none; - } - - /* rm -rf window shadows */ - window.csd, /* gtk4? */ - window.csd decoration { /* gtk3 */ - box-shadow: none; - } - '' - } - ''; - - gtk4.extraCss = config.gtk.gtk3.extraCss; + iconTheme = { + package = pkgs.papirus-icon-theme; + name = + if cfg.darkMode + then "Papirus-Dark" + else "Papirus"; }; - qt = { - enable = true; - platformTheme.name = "qtct"; - style = { - package = pkgs.adwaita-qt; - name = - if cfg.darkMode - then "Adwaita-Dark" - else "Adwaita"; - }; + font = { + name = "NotoSans Nerd Font"; + package = pkgs.nerdfonts.override {fonts = ["Noto"];}; + size = lib.mkDefault 11; }; - dconf.settings = { - "org/cinnamon/desktop/background".picture-uri = "file://${cfg.wallpaper}"; + gtk3.extraConfig = lib.attrsets.optionalAttrs (cfg.darkMode) {gtk-application-prefer-dark-theme = 1;}; - "org/cinnamon/desktop/interface" = { - cursor-size = config.home.pointerCursor.size; - cursor-theme = config.home.pointerCursor.name; - font-name = "${config.gtk.font.name} ${toString config.gtk.font.size}"; + gtk4.extraConfig = lib.attrsets.optionalAttrs (cfg.darkMode) {gtk-application-prefer-dark-theme = 1;}; - gtk-theme = - if cfg.darkMode - then "adw-gtk3-dark" - else "adw-gtk3"; + gtk3.extraCss = '' + @define-color accent_bg_color ${cfg.colors.primary}; + @define-color accent_color @accent_bg_color; - icon-theme = - if cfg.darkMode - then "Papirus-Dark" - else "Papirus"; - }; + ${ + lib.strings.optionalString + cfg.gtk.hideTitleBar + '' + /* No (default) title bar on wayland */ + headerbar.default-decoration { + /* You may need to tweak these values depending on your GTK theme */ + margin-bottom: 50px; + margin-top: -100px; - "org/cinnamon/theme".name = + background: transparent; + padding: 0; + border: 0; + min-height: 0; + font-size: 0; + box-shadow: none; + } + + /* rm -rf window shadows */ + window.csd, /* gtk4? */ + window.csd decoration { /* gtk3 */ + box-shadow: none; + } + '' + } + ''; + + gtk4.extraCss = config.gtk.gtk3.extraCss; + }; + + qt = { + enable = true; + platformTheme.name = "qtct"; + style = { + package = pkgs.adwaita-qt; + name = + if cfg.darkMode + then "Adwaita-Dark" + else "Adwaita"; + }; + }; + + dconf.settings = { + "org/cinnamon/desktop/background".picture-uri = "file://${cfg.wallpaper}"; + + "org/cinnamon/desktop/interface" = { + cursor-size = config.home.pointerCursor.size; + cursor-theme = config.home.pointerCursor.name; + font-name = "${config.gtk.font.name} ${toString config.gtk.font.size}"; + + gtk-theme = if cfg.darkMode then "adw-gtk3-dark" else "adw-gtk3"; - "org/cinnamon/desktop/wm/preferences".titlebar-font = "${config.gtk.font.name} ${toString config.gtk.font.size}"; - - "org/gnome/desktop/background" = { - picture-uri = "file://${cfg.wallpaper}"; - picture-uri-dark = "file://${cfg.wallpaper}"; - }; - - "org/gnome/desktop/interface" = { - color-scheme = - if cfg.darkMode - then "prefer-dark" - else "prefer-light"; - - cursor-theme = config.home.pointerCursor.name; - cursor-size = config.home.pointerCursor.size; - - document-font-name = "NotoSerif Nerd Font ${toString config.gtk.font.size}"; - - gtk-theme = - if cfg.darkMode - then "adw-gtk3-dark" - else "adw-gtk3"; - - icon-theme = - if cfg.darkMode - then "Papirus-Dark" - else "Papirus"; - - monospace-font-name = "NotoSansM Nerd Font ${toString config.gtk.font.size}"; - }; - - "org/gnome/desktop/wm/preferences".titlebar-font = "${config.gtk.font.name} ${toString config.gtk.font.size}"; + icon-theme = + if cfg.darkMode + then "Papirus-Dark" + else "Papirus"; }; + + "org/cinnamon/theme".name = + if cfg.darkMode + then "adw-gtk3-dark" + else "adw-gtk3"; + + "org/cinnamon/desktop/wm/preferences".titlebar-font = "${config.gtk.font.name} ${toString config.gtk.font.size}"; + + "org/gnome/desktop/background" = { + picture-uri = "file://${cfg.wallpaper}"; + picture-uri-dark = "file://${cfg.wallpaper}"; + }; + + "org/gnome/desktop/interface" = { + color-scheme = + if cfg.darkMode + then "prefer-dark" + else "prefer-light"; + + cursor-theme = config.home.pointerCursor.name; + cursor-size = config.home.pointerCursor.size; + + document-font-name = "NotoSerif Nerd Font ${toString config.gtk.font.size}"; + + gtk-theme = + if cfg.darkMode + then "adw-gtk3-dark" + else "adw-gtk3"; + + icon-theme = + if cfg.darkMode + then "Papirus-Dark" + else "Papirus"; + + monospace-font-name = "NotoSansM Nerd Font ${toString config.gtk.font.size}"; + }; + + "org/gnome/desktop/wm/preferences".titlebar-font = "${config.gtk.font.name} ${toString config.gtk.font.size}"; }; + }; }