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}