mirror of
https://codeberg.org/leana8959/.files.git
synced 2026-02-01 14:39:39 +00:00
overlays/nix-monitored: fix chained override
This commit is contained in:
parent
5f665b4f55
commit
5946ddc87a
1 changed files with 24 additions and 17 deletions
|
|
@ -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;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue