main
1{den, ...}: {
2 den.aspects.desktop.style.gtk = {
3 includes = [
4 den.aspects.desktop.style.fonts
5 ];
6
7 nixos = {
8 programs.dconf.enable = true;
9 };
10
11 homeManager = {
12 host,
13 pkgs,
14 config,
15 ...
16 }: let
17 style = host.settings.desktop.style;
18 in {
19 gtk = {
20 enable = true;
21 colorScheme = "dark";
22 font = {
23 inherit (builtins.elemAt style.fonts.sansSerif 0) name;
24 size = style.fonts.sizes.applications;
25 };
26 theme = {
27 package = pkgs.adw-gtk3;
28 name = "adw-gtk3";
29 };
30 gtk4.theme = config.gtk.theme;
31 };
32 };
33 };
34
35 den.aspects.desktop.style.gtk.themes = {
36 catppuccin = {
37 homeManager = {pkgs, ...}: let
38 adw-color-catppuccin-mocha-mauve = pkgs.fetchurl {
39 url = "https://github.com/claymorwan/catppuccin/raw/54f7393990e672d3648c1bc8c4cc6d26e6bde852/adw/themes/mocha/catppuccin-mocha-mauve.css";
40 hash = "sha256-sj36YMvkpRym6FgzQzHuG0K8Nq/t/RHTZpxDdBiQybY=";
41 };
42 in {
43 xdg.configFile = {
44 "gtk-3.0/gtk.css".source = adw-color-catppuccin-mocha-mauve;
45 "gtk-4.0/gtk.css".source = adw-color-catppuccin-mocha-mauve;
46 };
47 };
48 };
49 };
50}