summaryrefslogtreecommitdiff
path: root/modules/gnome/extensions.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gnome/extensions.nix')
-rw-r--r--modules/gnome/extensions.nix33
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)));
+ };
+}