diff options
Diffstat (limited to 'modules/gnome/extensions.nix')
-rw-r--r-- | modules/gnome/extensions.nix | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/modules/gnome/extensions.nix b/modules/gnome/extensions.nix new file mode 100644 index 0000000..1127359 --- /dev/null +++ b/modules/gnome/extensions.nix @@ -0,0 +1,33 @@ +{ config, lib, pkgs, ... } : let + inherit (builtins) attrNames attrValues; + cfg = config.santi-modules.gnome; + enabled-extensions = lib.filterAttrs (key: conf: conf.enabled) cfg.extensions; +in { + config = lib.mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + gnome-tweaks + tela-icon-theme + hackneyed + ] ++ map (pkg-name: pkgs.gnomeExtensions.${pkg-name}) + (attrNames enabled-extensions); + santi-modules.gnome.extensions = { + appindicator = { + email = "[email protected]"; + enabled = true; + }; + x11-gestures = { + email = "[email protected]"; + enabled = config.santi-modules.has-touchpad; + }; + system-monitor = { + email = "[email protected]"; + enabled = true; + }; + }; + home-manager.users.leonardo.dconf.settings = lib.mkMerge ([{ + "org/gnome/shell" = { + enabled-extensions = map (pkg: pkg.email) (attrValues enabled-extensions); + }; + }] ++ (map (pkg: pkg.dconf-settings) (attrValues enabled-extensions))); + }; +} |