54 lines
1.2 KiB
Nix
54 lines
1.2 KiB
Nix
|
{ pkgs, config, lib, ... }:
|
||
|
|
||
|
let
|
||
|
cfg = config.stylix.targets.gtk;
|
||
|
|
||
|
baseCss = config.lib.stylix.colors {
|
||
|
template = ./gtk.mustache;
|
||
|
extension = "css";
|
||
|
};
|
||
|
|
||
|
finalCss = pkgs.runCommandLocal "gtk.css" {} ''
|
||
|
cat ${baseCss} >>$out
|
||
|
echo ${lib.escapeShellArg cfg.extraCss} >>$out
|
||
|
'';
|
||
|
|
||
|
in {
|
||
|
options.stylix.targets.gtk = {
|
||
|
enable = config.lib.stylix.mkEnableTarget
|
||
|
"all GTK3, GTK4 and Libadwaita apps" true;
|
||
|
|
||
|
extraCss = lib.mkOption {
|
||
|
description = ''
|
||
|
Extra code added to `gtk-3.0/gtk.css` and `gtk-4.0/gtk.css`.
|
||
|
'';
|
||
|
type = lib.types.lines;
|
||
|
default = "";
|
||
|
example = ''
|
||
|
// Remove rounded corners
|
||
|
window.background { border-radius: 0; }
|
||
|
'';
|
||
|
};
|
||
|
};
|
||
|
|
||
|
config = lib.mkIf cfg.enable {
|
||
|
# programs.dconf.enable = true; required in system config
|
||
|
gtk = {
|
||
|
enable = true;
|
||
|
font = {
|
||
|
inherit (config.stylix.fonts.sansSerif) package name;
|
||
|
size = config.stylix.fonts.sizes.applications;
|
||
|
};
|
||
|
theme = {
|
||
|
package = pkgs.adw-gtk3;
|
||
|
name = "adw-gtk3";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
xdg.configFile = {
|
||
|
"gtk-3.0/gtk.css".source = finalCss;
|
||
|
"gtk-4.0/gtk.css".source = finalCss;
|
||
|
};
|
||
|
};
|
||
|
}
|