2024-11-21 09:24:15 +00:00
|
|
|
{ pkgs, lib, config, True, ... }:
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
|
|
|
|
let
|
|
|
|
cfg = config.module.themes.gtk;
|
|
|
|
extra = {
|
|
|
|
gtk-application-prefer-dark-theme = 1;
|
|
|
|
gtk-xft-antialias = 1;
|
|
|
|
gtk-xft-hinting = 1;
|
|
|
|
gtk-xft-hintstyle = "hintslight";
|
|
|
|
gtk-xft-rgba = "rgb";
|
|
|
|
gtk-button-images = 0;
|
|
|
|
gtk-menu-images = 0;
|
|
|
|
gtk-enable-event-sounds = 1;
|
|
|
|
gtk-enable-input-feedback-sounds = 0;
|
|
|
|
};
|
|
|
|
in {
|
|
|
|
options = {
|
|
|
|
module.themes.gtk = {
|
|
|
|
enable = mkEnableOption "";
|
|
|
|
icon = mkOption {
|
|
|
|
default = null;
|
|
|
|
type = types.str;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
config = mkIf cfg.enable {
|
|
|
|
home.packages = with pkgs; [ noto-fonts noto-fonts-cjk-sans ];
|
|
|
|
gtk = with pkgs;
|
|
|
|
True // {
|
2024-12-05 14:36:13 +00:00
|
|
|
gtk3 = { extraConfig = extra; };
|
|
|
|
gtk4 = { extraConfig = extra; };
|
2024-11-21 09:24:15 +00:00
|
|
|
iconTheme = {
|
|
|
|
name = "Papirus-Dark";
|
|
|
|
package = papirus-icon-theme.override { color = cfg.icon; };
|
|
|
|
};
|
|
|
|
font = lib.mkForce {
|
|
|
|
size = 12;
|
2024-12-06 12:57:22 +00:00
|
|
|
name = "JetBrainsMono Nerd Font";
|
2024-12-05 14:36:13 +00:00
|
|
|
package = (pkgs.callPackage ../nerdfonts/default.nix {
|
|
|
|
fonts = [ "JetBrainsMono" ];
|
|
|
|
});
|
2024-11-21 09:24:15 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|