nixcfg/homeManagerModules/theme.nix

60 lines
1.2 KiB
Nix
Raw Normal View History

{
pkgs,
lib,
config,
...
2024-07-09 23:41:52 -04:00
}: let
cfg = config.ar.home.theme;
2024-08-07 00:00:27 -04:00
gtk = {
2024-08-15 01:51:20 -04:00
extraCss =
lib.strings.optionalString
cfg.gtk.hideTitleBar
''
/* No (default) title bar on wayland */
headerbar.default-decoration {
/* You may need to tweak these values depending on your GTK theme */
margin-bottom: 50px;
margin-top: -100px;
background: transparent;
padding: 0;
border: 0;
min-height: 0;
font-size: 0;
box-shadow: none;
}
/* rm -rf window shadows */
window.csd, /* gtk4? */
window.csd decoration { /* gtk3 */
box-shadow: none;
}
'';
2024-08-07 00:00:27 -04:00
};
2024-07-09 23:41:52 -04:00
in {
config = lib.mkIf cfg.enable {
home = {
2024-08-07 00:00:27 -04:00
packages = [
pkgs.adwaita-qt
pkgs.gnome.adwaita-icon-theme
pkgs.liberation_ttf
2024-07-14 15:45:23 -04:00
];
2024-07-09 23:41:52 -04:00
};
2024-07-09 23:41:52 -04:00
gtk = {
iconTheme = {
name =
if cfg.darkMode
then "Papirus-Dark"
else "Papirus";
2024-08-07 00:00:27 -04:00
package = pkgs.papirus-icon-theme.override {color = "adwaita";};
2024-07-10 23:43:51 -04:00
};
2024-08-15 01:51:20 -04:00
gtk3 = {inherit (gtk) extraCss;};
gtk4 = {inherit (gtk) extraCss;};
2024-07-09 23:41:52 -04:00
};
};
}