2024-08-20 22:58:24 +02:00
|
|
|
{
|
|
|
|
|
config,
|
|
|
|
|
lib,
|
|
|
|
|
pkgs,
|
|
|
|
|
...
|
|
|
|
|
}:
|
2023-03-27 09:28:51 +02:00
|
|
|
|
2024-03-01 17:11:19 +01:00
|
|
|
let
|
|
|
|
|
cfg = config.modules.desktop.themes.gtk;
|
|
|
|
|
|
|
|
|
|
gruvboxPlus = pkgs.stdenv.mkDerivation rec {
|
|
|
|
|
name = "gruvbox-plus";
|
|
|
|
|
version = "5.1";
|
|
|
|
|
src = pkgs.fetchurl {
|
2024-08-20 22:58:24 +02:00
|
|
|
url = "https://github.com/SylEleuth/gruvbox-plus-icon-pack/releases/download/v${version}/gruvbox-plus-icon-pack-${version}.zip";
|
2024-03-01 17:11:19 +01:00
|
|
|
sha256 = "1n3hqwk1mqaj8vbmy0pqbiq6v5jqrhmhin506xbpnccl28f907j0";
|
|
|
|
|
};
|
|
|
|
|
dontUnpack = true;
|
|
|
|
|
installPhase = ''
|
|
|
|
|
mkdir -p $out
|
|
|
|
|
${pkgs.unzip}/bin/unzip $src -d $out/
|
|
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
};
|
2024-08-20 22:58:24 +02:00
|
|
|
in
|
|
|
|
|
{
|
|
|
|
|
options.modules.desktop.themes.gtk = {
|
|
|
|
|
enable = lib.my.mkBoolOpt false;
|
|
|
|
|
};
|
2023-03-27 09:28:51 +02:00
|
|
|
|
2024-08-20 22:58:24 +02:00
|
|
|
config = lib.mkIf cfg.enable {
|
2023-03-27 09:28:51 +02:00
|
|
|
|
|
|
|
|
systemd.packages = [ pkgs.dconf ];
|
|
|
|
|
|
|
|
|
|
services.dbus.packages = with pkgs; [ dconf ];
|
|
|
|
|
|
|
|
|
|
home-manager.users.${config.user.name} = {
|
|
|
|
|
|
|
|
|
|
gtk = {
|
|
|
|
|
enable = true;
|
2024-03-01 17:11:19 +01:00
|
|
|
cursorTheme = {
|
|
|
|
|
package = pkgs.unstable.paper-icon-theme;
|
|
|
|
|
name = "Paper";
|
|
|
|
|
};
|
|
|
|
|
theme = {
|
|
|
|
|
package = pkgs.unstable.adw-gtk3;
|
|
|
|
|
name = "adw-gtk3";
|
|
|
|
|
};
|
|
|
|
|
iconTheme = {
|
|
|
|
|
package = gruvboxPlus;
|
|
|
|
|
name = "GruvboxPlus";
|
|
|
|
|
};
|
2023-03-27 09:28:51 +02:00
|
|
|
};
|
|
|
|
|
|
2024-03-01 17:11:19 +01:00
|
|
|
xdg.configFile = {
|
2024-08-20 22:58:24 +02:00
|
|
|
"gtk-3.0/gtk.css" = {
|
|
|
|
|
source = ./gtk.css;
|
|
|
|
|
};
|
|
|
|
|
"gtk-4.0/gtk.css" = {
|
|
|
|
|
source = ./gtk.css;
|
|
|
|
|
};
|
2024-03-01 17:11:19 +01:00
|
|
|
};
|
2023-03-27 09:28:51 +02:00
|
|
|
|
2024-03-01 17:11:19 +01:00
|
|
|
home = {
|
2023-03-27 09:28:51 +02:00
|
|
|
pointerCursor = {
|
2023-05-17 05:53:52 +02:00
|
|
|
package = pkgs.unstable.paper-icon-theme;
|
2023-03-27 09:28:51 +02:00
|
|
|
name = "Paper";
|
|
|
|
|
size = 24;
|
|
|
|
|
gtk.enable = true;
|
|
|
|
|
x11.enable = true;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|