From 519923c85e9f93331055f88cc282225e7cfce8c3 Mon Sep 17 00:00:00 2001 From: winston Date: Sat, 1 Jul 2023 01:04:34 +0200 Subject: [PATCH] feat(gtk): add gtk4 config --- home/apps/default.nix | 19 +++++++++++++ home/apps/gtk.nix | 62 +++++++++++++++++++++++++++++++++++++++++++ home/apps/rice.nix | 25 +---------------- home/default.nix | 20 +------------- 4 files changed, 83 insertions(+), 43 deletions(-) create mode 100644 home/apps/default.nix create mode 100644 home/apps/gtk.nix diff --git a/home/apps/default.nix b/home/apps/default.nix new file mode 100644 index 0000000..8e713ac --- /dev/null +++ b/home/apps/default.nix @@ -0,0 +1,19 @@ +{ + imports = [ + ./browsers.nix + ./fonts.nix + ./git.nix + ./gpg.nix + ./gtk.nix + ./kubernetes.nix + ./mail.nix + ./media.nix + ./neovim.nix + ./newsboat.nix + ./rice.nix + ./sway.nix + ./vscode.nix + ./wezterm.nix + ./zsh.nix + ]; +} diff --git a/home/apps/gtk.nix b/home/apps/gtk.nix new file mode 100644 index 0000000..97df156 --- /dev/null +++ b/home/apps/gtk.nix @@ -0,0 +1,62 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.dotfiles.gtk; +in + with lib; { + options.dotfiles.gtk = { + enable = mkEnableOption "GTK settings"; + }; + + config = mkIf cfg.enable rec { + gtk = { + enable = true; + cursorTheme = { + name = "Numix-Cursor"; + package = pkgs.numix-cursor-theme; + }; + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.catppuccin-papirus-folders.override { + flavor = "mocha"; + accent = "pink"; + }; + }; + theme = { + name = "Catppuccin-Mocha-Compact-Pink-Dark"; + package = pkgs.catppuccin-gtk.override { + accents = ["pink"]; + variant = "mocha"; + size = "compact"; + }; + }; + gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc"; + gtk2.extraConfig = '' + gtk-xft-antialias=1 + gtk-xft-hinting=1 + gtk-xft-hintstyle="hintslight" + gtk-xft-rgba="rgb" + ''; + gtk3.extraConfig = { + gtk-xft-antialias = 1; + gtk-xft-hinting = 1; + gtk-xft-hintstyle = "hintslight"; + gtk-xft-rgba = "rgb"; + }; + }; + + xdg = let + themeDir = "${gtk.theme.package}/share/themes/${gtk.theme.name}"; + in { + configFile."gtk-4.0/assets" = { + source = "${themeDir}/gtk-4.0/assets"; + recursive = true; + }; + configFile."gtk-4.0/gtk.css".source = "${themeDir}/gtk-4.0/gtk.css"; + configFile."gtk-4.0/gtk-dark.css".source = "${themeDir}/gtk-4.0/gtk-dark.css"; + }; + }; + } diff --git a/home/apps/rice.nix b/home/apps/rice.nix index d74dc54..797be02 100644 --- a/home/apps/rice.nix +++ b/home/apps/rice.nix @@ -18,30 +18,7 @@ size = 12.0; }; in { - gtk = lib.mkIf isLinux { - enable = true; - iconTheme.name = "Papirus-Dark"; - theme.name = "Catppuccin-Mocha-Compact-Pink-Dark"; - gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc"; - gtk2.extraConfig = '' - gtk-xft-antialias=1 - gtk-xft-hinting=1 - gtk-xft-hintstyle="hintslight" - gtk-xft-rgba="rgb" - ''; - gtk3.extraConfig = { - gtk-xft-antialias = 1; - gtk-xft-hinting = 1; - gtk-xft-hintstyle = "hintslight"; - gtk-xft-rgba = "rgb"; - }; - }; - - home.pointerCursor = lib.mkIf isLinux { - name = "Numix-Cursor"; - package = pkgs.numix-cursor-theme; - gtk.enable = true; - }; + dotfiles.gtk.enable = isLinux; programs.i3status-rust = lib.mkIf isLinux { enable = true; diff --git a/home/default.nix b/home/default.nix index 752acf5..b74e503 100644 --- a/home/default.nix +++ b/home/default.nix @@ -6,25 +6,7 @@ }: let inherit (pkgs.stdenv.hostPlatform) isDarwin isLinux; in { - imports = [ - ./apps/browsers.nix - ./apps/fonts.nix - ./apps/git.nix - ./apps/gpg.nix - ./apps/kubernetes.nix - ./apps/mail.nix - ./apps/media.nix - ./apps/neovim.nix - ./apps/newsboat.nix - ./apps/rice.nix - ./apps/sway.nix - ./apps/vscode.nix - ./apps/wezterm.nix - ./apps/zsh.nix - ./langs - ./secrets/sops.nix - ./xdg.nix - ]; + imports = [./apps ./langs ./secrets/sops.nix ./xdg.nix]; home = { packages = with pkgs; ([