From 8259bc0e1636e01222a5727bb73417c01534ea54 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Thu, 15 Dec 2022 19:53:52 +0100 Subject: graphical/gtk: move from graphical.nix, set colors for GTK4 --- usecases/desktop/graphical/gtk.nix | 101 +++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 usecases/desktop/graphical/gtk.nix (limited to 'usecases/desktop/graphical') diff --git a/usecases/desktop/graphical/gtk.nix b/usecases/desktop/graphical/gtk.nix new file mode 100644 index 0000000..4a9f501 --- /dev/null +++ b/usecases/desktop/graphical/gtk.nix @@ -0,0 +1,101 @@ +inputs: { + config, + lib, + pkgs, + ... +}: let + gtk4NamedColors = with config.theme.colors; { + # From the main CSS + # ----------------- + + # TODO: 2 and 4 + + blue_1 = fadedBlue; + blue_3 = neutralBlue; + blue_5 = brightBlue; + + green_1 = fadedGreen; + green_3 = neutralGreen; + green_5 = brightGreen; + + yellow_1 = fadedYellow; + yellow_3 = neutralYellow; + yellow_5 = brightYellow; + + orange_1 = fadedOrange; + orange_3 = neutralOrange; + orange_5 = brightOrange; + + red_1 = fadedRed; + red_3 = neutralRed; + red_5 = brightRed; + + purple_1 = fadedMagenta; + purple_3 = neutralMagenta; + purple_5 = brightMagenta; + + # TODO: brown + + # From the dark theme CSS + # ----------------------- + + # TODO: bright dominant + accent_color = "#8ec07c"; + destructive_color = neutralOrange; + error_color = neutralOrange; + + warning_bg_color = neutralYellow; + + view_bg_color = background0; + view_fg_color = foreground; + + window_bg_color = background1; + window_fg_color = foreground; + + headerbar_bg_color = softBackground; + headerbar_fg_color = foreground; + + dialog_bg_color = background2; + dialog_fg_color = foreground; + + popover_bg_color = background2; + popover_fg_color = foreground; + }; + + gtk4Css = lib.concatStringsSep "\n" (lib.mapAttrsToList + (name: value: "@define-color ${name} ${value};") + gtk4NamedColors); + + gtk4CssFile = pkgs.writeText "gtk4.css" gtk4Css; +in { + home-manager.users.minijackson = { + gtk = { + enable = true; + iconTheme = { + # TODO: properly modify the colors + package = pkgs.unstable.tela-circle-icon-theme.override { + colorVariants = ["brown"]; + }; + name = "Tela-circle-brown-dark"; + }; + + theme = { + package = pkgs.gnome.gnome-themes-extra; + name = "Adwaita-dark"; + }; + + gtk3.extraConfig.gtk-application-prefer-dark-theme = true; + }; + + dconf.settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + }; + + xdg.configFile = { + # "gtk-3.0/gtk.css".source = gtkCssFile; + "gtk-4.0/gtk.css".source = gtk4CssFile; + }; + }; +} -- cgit v1.2.3