{ pkgs, ... }: let themes = { gtk = { name = "rose-pine"; package = pkgs.rose-pine-gtk-theme; }; icons = { name = "Adwaita"; package = pkgs.adwaita-icon-theme; }; cursor = { name = "BreezeX-RosePine-Linux"; package = pkgs.rose-pine-cursor; }; }; themePackages = map (subset: subset.package) (builtins.attrValues themes); in { alqueva.system.dconf = { enable = true; luminosity = "dark"; theme = themes.gtk.name; icon.theme = themes.icons.name; cursor = { size = 24; theme = themes.cursor.name; }; }; qt = { enable = true; platformTheme = "qt5ct"; style = "kvantum"; }; systemd.user.tmpfiles.rules = [ "L+ %h/.config/gtk-4.0 - - - - ${themes.gtk.package}/share/themes/${themes.gtk.name}/gtk-4.0" ]; # This is really just to please the functor. # Any value can be used in null's place. environment.systemPackages = themePackages; }