nixos-config/user/sway/theme.nix
2024-08-09 01:22:27 -03:00

126 lines
2.8 KiB
Nix

{
config,
pkgs,
lib,
inputs,
...
}:
let
inherit (config.my) theme font desktop;
inherit (theme)
color
gtk_theme
icon_theme
cursor_theme
;
in
lib.mkIf (desktop == "sway") {
home.pointerCursor = {
name = cursor_theme;
size = 24;
package = pkgs.bibata-cursors;
gtk.enable = true;
};
gtk =
{
enable = true;
font = {
name = font.interface;
size = font.size.small;
};
theme = {
name = gtk_theme;
package = pkgs.orchis_theme_compact;
};
iconTheme = {
name = icon_theme;
package = pkgs.papirus_red;
};
}
// (
let
shared.extraConfig = {
gtk-decoration-layout = "menu:";
};
in
{
gtk4 = shared;
gtk3 = shared;
}
);
xdg.configFile."gtk-3.0/settings.ini".force = true;
xdg.configFile."gtk-4.0/settings.ini".force = true;
qt = {
enable = true;
platformTheme.name = "gtk3";
style.name = "qt5ct";
};
dconf.settings = {
"org/gnome/desktop/interface" = {
gtk-theme = gtk_theme;
icon-theme = icon_theme;
cursor-theme = cursor_theme;
color-scheme = "prefer-${color.type}";
};
"org/gnome/desktop/wm/preferences" = {
button-layout = "menu:";
};
};
# fonts.fontconfig.enable = true;
xdg.configFile = {
"qt5ct/qt5ct.conf".text = ''
[Appearance]
# color_scheme_path=/nix/store/f07mk0vrm47jxw3y5v99hxncy0w4vcyq-qt5ct-1.5/share/qt5ct/colors/darker.conf
custom_palette=false
icon_theme=${icon_theme}
standard_dialogs=default
style=kvantum-dark
# [Fonts]
# fixed=@Variant(\0\0\0@\0\0\0\x1c\0H\0\x61\0\x63\0k\0 \0N\0\x65\0r\0\x64\0 \0\x46\0o\0n\0t@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
# general=@Variant(\0\0\0@\0\0\0\x1e\0L\0i\0\x62\0\x65\0r\0\x61\0t\0i\0o\0n\0 \0S\0\x61\0n\0s@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
'';
"kdedefaults/kdeglobals".text = ''
[General]
ColorScheme=BreezeDark
[Icons]
Theme=${icon_theme}
'';
};
services.xsettingsd = {
enable = true;
settings = {
"Gtk/FontName" = "${font.interface} ${toString font.size.small}";
"Net/ThemeName" = "${gtk_theme}";
"Net/IconThemeName" = "${icon_theme}";
"Gtk/CursorThemeName" = "${cursor_theme}";
"Gtk/CursorThemeSize" = 24;
"Net/SoundThemeName" = "freedesktop";
};
};
home.packages = with pkgs; [
libsForQt5.qt5ct
libsForQt5.qtstyleplugin-kvantum
qt6Packages.qt6ct
qt6Packages.qtstyleplugin-kvantum
pkgs.bibata-cursors
pkgs.orchis_theme_compact
pkgs.papirus_red
## fonts
liberation_ttf
hack-font
font-awesome_5
fira-code
nerdfonts_fira_hack
material-wifi-icons
];
}