overlays/nix-monitored: fix chained override

This commit is contained in:
Primrose 2026-01-04 20:05:28 +01:00
parent 5f665b4f55
commit 5946ddc87a
Signed by: primrose
GPG key ID: 4E887A4CA9714ADA

View file

@ -13,31 +13,38 @@ let
withNotify = false; withNotify = false;
}; };
keepNixOverride = # * overrides the nix input as nix-monitored
# * any override changing the nix input will change that to nix-monitored
use-nix-monitored =
drv: drv:
drv let
drv' = drv.override { nix = nix-monitored; };
in
drv'
// rec {
override =
args:
let
args' =
if args ? nix then
args
// { // {
override = args: drv.override (builtins.removeAttrs args [ "nix" ]); nix = nix-monitored.override { inherit (args) nix; };
}
else
args;
in
(drv'.override args') // { inherit override; };
}; };
inherit (prev) lib; inherit (prev) lib;
in in
lib.optionalAttrs (prev ? nixos-rebuild) { lib.optionalAttrs (prev ? nixos-rebuild) {
nixos-rebuild = keepNixOverride ( nixos-rebuild = use-nix-monitored prev.nixos-rebuild;
prev.nixos-rebuild.override {
nix = nix-monitored;
}
);
} }
// lib.optionalAttrs (prev ? nixos-rebuild-ng) { // lib.optionalAttrs (prev ? nixos-rebuild-ng) {
nixos-rebuild-ng = keepNixOverride ( nixos-rebuild-ng = use-nix-monitored prev.nixos-rebuild-ng;
prev.nixos-rebuild-ng.override {
nix = nix-monitored;
}
);
} }
// { // {
nix-direnv = prev.nix-direnv.override { nix-direnv = use-nix-monitored prev.nix-direnv;
nix = nix-monitored;
};
} }