alqueva/hosts/cityseventeen/theme.nix
Artur Manuel ea7dd98c09
refactor: better modularise arturm/configs/qutebrowser
There are other changes too, such as some tiny refactors to make some things a
small bit more readable. For example: I added a variable in
`cityseventeen/apps.nix` to make environment variables a small bit easier to
read. It is pretty much the same case in `cityseventeen/themes.nix` except I
used map to get each attribute set with package instead of mapAttrs.

There are also some minor tweaks here and there but it isn't worth talking
about.
2025-04-14 19:01:34 +01:00

47 lines
973 B
Nix

{
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;
}