diff --git a/dotfiles/config/taffybar/flake.nix b/dotfiles/config/taffybar/flake.nix index b2c92814..68ebfc58 100644 --- a/dotfiles/config/taffybar/flake.nix +++ b/dotfiles/config/taffybar/flake.nix @@ -166,6 +166,12 @@ }); in { + # Expose commonly-needed ecosystem packages to callers (e.g. NixOS/home-manager + # modules) so they can run the pinned binaries directly. + packages = { + status-notifier-item = hpkgs.status-notifier-item; + }; + devShell = hpkgs.shellFor { packages = p: [ p.imalison-taffybar p.taffybar ]; nativeBuildInputs = (with hpkgs; [ diff --git a/nixos/flake.lock b/nixos/flake.lock index 3b8f57c7..0dab3f10 100644 --- a/nixos/flake.lock +++ b/nixos/flake.lock @@ -1910,11 +1910,11 @@ "status-notifier-item": { "flake": false, "locked": { - "lastModified": 1770955859, - "narHash": "sha256-h95eUeTkNsdrVxAx0Nv0ViXHSkhhOfPF4L4DhtbfkNs=", + "lastModified": 1771366898, + "narHash": "sha256-P032QnjoXfrr20LW+EBq/5fWDhDnYe7mJRkjEMf4EGE=", "owner": "taffybar", "repo": "status-notifier-item", - "rev": "a0958505f4e5fc145f34d7ad2615688d6668e02a", + "rev": "e73da596911511034af94637d57cec8ccd1f68e2", "type": "github" }, "original": { diff --git a/nixos/taffybar.nix b/nixos/taffybar.nix index 963a20ef..0a96204a 100644 --- a/nixos/taffybar.nix +++ b/nixos/taffybar.nix @@ -30,7 +30,11 @@ makeEnable config "myModules.taffybar" false { home-manager.sharedModules = [ { - services.status-notifier-watcher.enable = true; + services."status-notifier-watcher".enable = true; + # home-manager's module defaults to nixpkgs' status-notifier-item, which can lag. + # Point it at the pinned flake version instead. + services."status-notifier-watcher".package = pkgs.lib.mkForce + inputs.imalison-taffybar.packages.${pkgs.stdenv.hostPlatform.system}.status-notifier-item; # Disable kded6's statusnotifierwatcher module so it doesn't race with # the Haskell status-notifier-watcher for the org.kde.StatusNotifierWatcher bus name.