{ lib, pkgs, ... }: let # bool -> nixpkgs[] wrappedNixExecutables = inEnvironment: assert builtins.isBool inEnvironment; pkgs.symlinkJoin { name = "${pkgs.nix.name}-wrap"; paths = [ pkgs.nix ]; nativeBuildInputs = [ pkgs.makeWrapper ]; postBuild = '' 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" wrapProgram $out/bin/nix-env \ --add-flags "--log-format" \ --add-flags "bar" ''; passthru = { inherit (pkgs.nix) man meta version; }; }; wrappedNixosExecutables = pkgs.symlinkJoin { name = "${pkgs.nixos-rebuild.name}-wrap"; paths = [ pkgs.nixos-rebuild ]; nativeBuildInputs = [ pkgs.makeWrapper ]; postBuild = '' wrapProgram $out/bin/nixos-rebuild \ --add-flags "--log-format" \ --add-flags "bar" ''; }; in { config = { nix.package = wrappedNixExecutables false; environment.systemPackages = lib.map (lib.hiPrio) [ (wrappedNixExecutables true) wrappedNixosExecutables ]; }; }