dotfiles/modules/home/graphical/qtk.nix

68 lines
1.6 KiB
Nix
Raw Normal View History

{ pkgs, config, lib, ... }:
let
cfg = config.my.graphical;
in {
options.my.graphical = {
qt.enable = lib.mkEnableOption null // {
default = true;
};
gtk = {
enable = lib.mkEnableOption null // {
default = true;
};
emacsKeys.enable = lib.mkEnableOption null;
};
};
config = lib.mkIf cfg.enable (lib.mkMerge [
(lib.mkIf cfg.qt.enable {
qt = {
enable = true;
platformTheme.name = "gtk3";
};
})
(lib.mkIf cfg.gtk.enable {
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
gtk-key-theme = lib.mkIf (cfg.gtk.emacsKeys.enable) "Emacs";
};
};
gtk = {
enable = true;
font = {
package = pkgs.inter;
name = "Inter";
size = 11;
};
iconTheme = {
package = pkgs.catppuccin-papirus-folders.override {
flavor = "mocha";
accent = "lavender";
};
name = "Papirus-Dark";
};
theme = {
package = pkgs.catppuccin-gtk.override {
accents = [ "lavender" ];
size = "compact";
tweaks = [ "rimless" ];
variant = "mocha";
};
name = "catppuccin-mocha-lavender-compact+rimless";
};
} // lib.optionalAttrs cfg.gtk.emacsKeys.enable {
gtk2.extraConfig = ''
gtk-key-theme-name = "Emacs"
'';
gtk3.extraConfig = {
gtk-key-theme-name = "Emacs";
};
};
})
]);
}