summaryrefslogtreecommitdiffstats
path: root/usecases
diff options
context:
space:
mode:
authorMinijackson <minijackson@riseup.net>2022-12-15 19:53:52 +0100
committerMinijackson <minijackson@riseup.net>2022-12-15 19:53:52 +0100
commit8259bc0e1636e01222a5727bb73417c01534ea54 (patch)
tree4dd8528e1a26ff16deb023176f928179bf7d934a /usecases
parente2ac73a604671f073a97a3953ceb59792202fa0b (diff)
downloadnixos-config-reborn-8259bc0e1636e01222a5727bb73417c01534ea54.tar.gz
nixos-config-reborn-8259bc0e1636e01222a5727bb73417c01534ea54.zip
graphical/gtk: move from graphical.nix, set colors for GTK4
Diffstat (limited to 'usecases')
-rw-r--r--usecases/desktop/graphical.nix62
-rw-r--r--usecases/desktop/graphical/gtk.nix101
2 files changed, 105 insertions, 58 deletions
diff --git a/usecases/desktop/graphical.nix b/usecases/desktop/graphical.nix
index 8251a50..cee9186 100644
--- a/usecases/desktop/graphical.nix
+++ b/usecases/desktop/graphical.nix
@@ -7,6 +7,7 @@ inputs: {
7 imports = [ 7 imports = [
8 (import ./graphical/alacritty.nix inputs) 8 (import ./graphical/alacritty.nix inputs)
9 (import ./graphical/firefox.nix inputs) 9 (import ./graphical/firefox.nix inputs)
10 (import ./graphical/gtk.nix inputs)
10 (import ./graphical/mpv.nix inputs) 11 (import ./graphical/mpv.nix inputs)
11 (import ./graphical/rofi.nix inputs) 12 (import ./graphical/rofi.nix inputs)
12 (import ./graphical/sway.nix inputs) 13 (import ./graphical/sway.nix inputs)
@@ -105,63 +106,8 @@ inputs: {
105 } 106 }
106 ]; 107 ];
107 108
108 home-manager.users.minijackson = let 109 home-manager.users.minijackson.services.kdeconnect = {
109 color = 110 enable = true;
110 if config.theme.colors.dominantName == "cyan" 111 indicator = true;
111 then "teal"
112 else config.theme.colors.dominantName;
113 in {
114 gtk = {
115 enable = true;
116 iconTheme = {
117 # TODO: properly modify the colors
118 package = pkgs.unstable.tela-circle-icon-theme.override {
119 colorVariants = ["brown"];
120 };
121 name = "Tela-circle-brown-dark";
122 };
123
124 theme = {
125 package = pkgs.gnome.gnome-themes-extra;
126 name = "Adwaita-dark";
127 };
128
129 # theme = {
130 # package =
131 # (pkgs.unstable.graphite-gtk-theme.overrideAttrs (_old: {
132 # src = pkgs.fetchFromGitHub {
133 # owner = "vinceliuice";
134 # repo = "graphite-gtk-theme";
135 # rev = "a65fbec34f1ba1e9c7f7a86afc7c02d2210a11a4";
136 # hash = "sha256-aJMSLWVDqsAx+3QYAAhGKddEaformlK28M7YSJ/v7sU=";
137 # };
138 # }))
139 # .override {
140 # themeVariants = [color];
141 # sizeVariants = ["compact"];
142 # tweaks = ["normal" "rimless"];
143 # };
144 # name = "Graphite-${color}-Dark-compact";
145 # };
146
147 # gtk4.extraConfig = {
148 # gtk-application-prefer-dark-theme = true;
149 # };
150
151 gtk3.extraConfig.gtk-application-prefer-dark-theme = true;
152 };
153
154 dconf.settings = {
155 "org/gnome/desktop/interface" = {
156 color-scheme = "prefer-dark";
157 };
158 };
159
160 # home.sessionVariables.GTK_THEME = "Graphite-${color}-Dark-compact";
161
162 services.kdeconnect = {
163 enable = true;
164 indicator = true;
165 };
166 }; 112 };
167} 113}
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 @@
1inputs: {
2 config,
3 lib,
4 pkgs,
5 ...
6}: let
7 gtk4NamedColors = with config.theme.colors; {
8 # From the main CSS
9 # -----------------
10
11 # TODO: 2 and 4
12
13 blue_1 = fadedBlue;
14 blue_3 = neutralBlue;
15 blue_5 = brightBlue;
16
17 green_1 = fadedGreen;
18 green_3 = neutralGreen;
19 green_5 = brightGreen;
20
21 yellow_1 = fadedYellow;
22 yellow_3 = neutralYellow;
23 yellow_5 = brightYellow;
24
25 orange_1 = fadedOrange;
26 orange_3 = neutralOrange;
27 orange_5 = brightOrange;
28
29 red_1 = fadedRed;
30 red_3 = neutralRed;
31 red_5 = brightRed;
32
33 purple_1 = fadedMagenta;
34 purple_3 = neutralMagenta;
35 purple_5 = brightMagenta;
36
37 # TODO: brown
38
39 # From the dark theme CSS
40 # -----------------------
41
42 # TODO: bright dominant
43 accent_color = "#8ec07c";
44 destructive_color = neutralOrange;
45 error_color = neutralOrange;
46
47 warning_bg_color = neutralYellow;
48
49 view_bg_color = background0;
50 view_fg_color = foreground;
51
52 window_bg_color = background1;
53 window_fg_color = foreground;
54
55 headerbar_bg_color = softBackground;
56 headerbar_fg_color = foreground;
57
58 dialog_bg_color = background2;
59 dialog_fg_color = foreground;
60
61 popover_bg_color = background2;
62 popover_fg_color = foreground;
63 };
64
65 gtk4Css = lib.concatStringsSep "\n" (lib.mapAttrsToList
66 (name: value: "@define-color ${name} ${value};")
67 gtk4NamedColors);
68
69 gtk4CssFile = pkgs.writeText "gtk4.css" gtk4Css;
70in {
71 home-manager.users.minijackson = {
72 gtk = {
73 enable = true;
74 iconTheme = {
75 # TODO: properly modify the colors
76 package = pkgs.unstable.tela-circle-icon-theme.override {
77 colorVariants = ["brown"];
78 };
79 name = "Tela-circle-brown-dark";
80 };
81
82 theme = {
83 package = pkgs.gnome.gnome-themes-extra;
84 name = "Adwaita-dark";
85 };
86
87 gtk3.extraConfig.gtk-application-prefer-dark-theme = true;
88 };
89
90 dconf.settings = {
91 "org/gnome/desktop/interface" = {
92 color-scheme = "prefer-dark";
93 };
94 };
95
96 xdg.configFile = {
97 # "gtk-3.0/gtk.css".source = gtkCssFile;
98 "gtk-4.0/gtk.css".source = gtk4CssFile;
99 };
100 };
101}