nixos/{core; nix}: factor out nix overriding

This commit is contained in:
Wroclaw 2025-02-09 09:17:51 +01:00
parent be62805cc6
commit 5c01a58f54
2 changed files with 35 additions and 23 deletions

33
nix-os/nix.nix Normal file
View file

@ -0,0 +1,33 @@
{
lib,
pkgs,
...
}:
let
inherit (pkgs) mkWrappedExecutable;
# bool -> nixpkgs[]
wrappedNixExecutables = inEnvironment: assert builtins.isBool inEnvironment; [
(mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-build"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar${lib.optionalString inEnvironment "-with-logs"}"];})
(mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-shell"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar"];})
];
wrappedNixosExecutables = [
(mkWrappedExecutable {pkg = pkgs.nixos-rebuild; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar"];})
];
wrappedNix = (pkgs.buildEnv {
name = "wrappedNix-${pkgs.nix.version}";
paths = [ pkgs.nix ] ++ wrappedNixExecutables false;
}).overrideAttrs {
version = pkgs.nix.version;
passthru.meta = pkgs.nix.meta;
};
in {
config = {
nix.package = wrappedNix;
environment.systemPackages = lib.map (lib.hiPrio) [
(wrappedNixExecutables true)
wrappedNixosExecutables
];
};
}