From c414a924c4b08958d7a9796e5f2882bb9a9708d5 Mon Sep 17 00:00:00 2001 From: Leonardo Santiago Date: Sun, 11 May 2025 22:17:18 -0300 Subject: feat(gnome): rewrite gnome extensions code --- flake.lock | 6 +++--- modules/emacs/README.org | 1 + modules/gnome/default.nix | 3 ++- modules/gnome/extensions.nix | 9 +++++---- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/flake.lock b/flake.lock index bf562ec..a46f1a0 100644 --- a/flake.lock +++ b/flake.lock @@ -712,11 +712,11 @@ ] }, "locked": { - "lastModified": 1746483546, - "narHash": "sha256-tzNX8HrqLWoLPGxGLGHAW8ja8BU/qDSee1nlc802Imw=", + "lastModified": 1746725877, + "narHash": "sha256-0YQx51XJyV43yjdv2+RHoO+C8wgI5V9L1DGVGr1+8hY=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "f78a228d63dc6d0b82015a8d12a672e59a1522d6", + "rev": "1965b827dc7f89e48744ec52e41dce920485ea85", "type": "github" }, "original": { diff --git a/modules/emacs/README.org b/modules/emacs/README.org index eccf26e..77df1fe 100644 --- a/modules/emacs/README.org +++ b/modules/emacs/README.org @@ -129,6 +129,7 @@ Configuration to automagically open age files, and to encrypt them correctly to (use-package nerd-icons-dired :ensure t :hook (dired-mode . nerd-icons-dired-mode) + :diminish nerd-icons-dired :custom (dired-listing-switches "-alh")) #+end_src diff --git a/modules/gnome/default.nix b/modules/gnome/default.nix index 4422eef..af090a9 100644 --- a/modules/gnome/default.nix +++ b/modules/gnome/default.nix @@ -13,7 +13,8 @@ description = "Extension package"; }; email = mkOption { - type = str; + type = nullOr str; + default = null; description = "Extensions' maintainer email"; }; dconf-settings = mkOption { diff --git a/modules/gnome/extensions.nix b/modules/gnome/extensions.nix index 1127359..fe8f608 100644 --- a/modules/gnome/extensions.nix +++ b/modules/gnome/extensions.nix @@ -1,13 +1,13 @@ { config, lib, pkgs, ... } : let - inherit (builtins) attrNames attrValues; + inherit (builtins) attrNames attrValues filter; 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 + tela-icon-theme # gtk theme + hackneyed # mouse icons ] ++ map (pkg-name: pkgs.gnomeExtensions.${pkg-name}) (attrNames enabled-extensions); santi-modules.gnome.extensions = { @@ -26,7 +26,8 @@ in { }; home-manager.users.leonardo.dconf.settings = lib.mkMerge ([{ "org/gnome/shell" = { - enabled-extensions = map (pkg: pkg.email) (attrValues enabled-extensions); + enabled-extensions = filter (e: !(isNull e)) + (map (pkg: pkg.email) (attrValues enabled-extensions)); }; }] ++ (map (pkg: pkg.dconf-settings) (attrValues enabled-extensions))); }; -- cgit v1.2.3