From b5e40f0d643721125d2adc45c150fdb88d202d8e Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Sun, 9 Feb 2025 09:18:57 +0100 Subject: [PATCH] nixos/nix: remove use of mkWrappedExecutable and buildEnv --- nix-os/nix.nix | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/nix-os/nix.nix b/nix-os/nix.nix index fe6b00a..9a7b7c4 100644 --- a/nix-os/nix.nix +++ b/nix-os/nix.nix @@ -5,19 +5,37 @@ }: let - inherit (pkgs) mkWrappedExecutable; - + makeWrapper = "${pkgs.makeWrapper}/nix-support/setup-hook"; # 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 { + wrappedNixExecutables = inEnvironment: assert builtins.isBool inEnvironment; pkgs.symlinkJoin { + name = "${pkgs.nix.name}-wrap"; + paths = [ pkgs.nix ]; + postBuild = '' + . ${makeWrapper} + wrapProgram $out/bin/nix-build \ + --add-flags "--log-format" \ + --add-flags "bar${lib.optionalString inEnvironment "-with-logs"}" + wrapProgram $out/bin/nix-shell \ + --add-flags "--log-format" \ + --add-flags "bar" + ''; + }; + + wrappedNixosExecutables = pkgs.symlinkJoin { + name = "${pkgs.nixos-rebuild.name}-wrap"; + paths = [ pkgs.nixos-rebuild ]; + postBuild = '' + . ${makeWrapper} + wrapProgram $out/bin/nixos-rebuild \ + --add-flags "--log-format" \ + --add-flags "bar" + ''; + }; + + + wrappedNix = (pkgs.symlinkJoin { name = "wrappedNix-${pkgs.nix.version}"; - paths = [ pkgs.nix ] ++ wrappedNixExecutables false; + paths = [ pkgs.nix ] ++ [( wrappedNixExecutables false )]; }).overrideAttrs { version = pkgs.nix.version; passthru.meta = pkgs.nix.meta;