diff --git a/minimal/nixos.nix b/minimal/nixos.nix index c6632b1..93ea364 100644 --- a/minimal/nixos.nix +++ b/minimal/nixos.nix @@ -41,6 +41,22 @@ }; }; + nixpkgs.overlays = [ + (final: super: { + nixos-rebuild = super.nixos-rebuild.overrideAttrs (old: { + path = "${old.path}:${lib.makeBinPath [final.nix-output-monitor]}"; + src = lib.debug.traceVal "${final.runCommand "nixos-rebuild.sh" {} '' + mkdir -p $out + + cp ${old.src} nixos-rebuild.sh + + patch -p5 <${./nom-rebuild.patch} + mv nixos-rebuild.sh $out + ''}/nixos-rebuild.sh"; + }); + }) + ]; + nix = { package = pkgs.nixUnstable; diff --git a/minimal/nom-rebuild.patch b/minimal/nom-rebuild.patch new file mode 100644 index 0000000..648859e --- /dev/null +++ b/minimal/nom-rebuild.patch @@ -0,0 +1,40 @@ +diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh +index 89871056c48..1efdaac5889 100755 +--- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh ++++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh +@@ -206,7 +206,7 @@ nixBuild() { + logVerbose "Building in legacy (non-flake) mode." + if [ -z "$buildHost" ]; then + logVerbose "No --build-host given, running nix-build locally" +- runCmd nix-build "$@" ++ runCmd nom-build "$@" + else + logVerbose "buildHost set to \"$buildHost\", running nix-build remotely" + local instArgs=() +@@ -254,10 +254,10 @@ nixFlakeBuild() { + logVerbose "Building in flake mode." + if [[ -z "$buildHost" && -z "$targetHost" && "$action" != switch && "$action" != boot && "$action" != test && "$action" != dry-activate ]] + then +- runCmd nix "${flakeFlags[@]}" build "$@" ++ runCmd nom build "${flakeFlags[@]}" "$@" + readlink -f ./result + elif [ -z "$buildHost" ]; then +- runCmd nix "${flakeFlags[@]}" build "$@" --out-link "${tmpDir}/result" ++ runCmd nom build "${flakeFlags[@]}" "$@" --out-link "${tmpDir}/result" + readlink -f "${tmpDir}/result" + else + local attr="$1" +@@ -389,11 +389,11 @@ trap cleanup EXIT + # Re-execute nixos-rebuild from the Nixpkgs tree. + if [[ -z $_NIXOS_REBUILD_REEXEC && -n $canRun && -z $fast ]]; then + if [[ -z $flake ]]; then +- if p=$(runCmd nix-build --no-out-link --expr 'with import {}; config.system.build.nixos-rebuild' "${extraBuildFlags[@]}"); then ++ if p=$(runCmd nom-build --no-out-link --expr 'with import {}; config.system.build.nixos-rebuild' "${extraBuildFlags[@]}"); then + SHOULD_REEXEC=1 + fi + else +- runCmd nix "${flakeFlags[@]}" build --out-link "${tmpDir}/nixos-rebuild" "$flake#$flakeAttr.config.system.build.nixos-rebuild" "${extraBuildFlags[@]}" "${lockFlags[@]}" ++ runCmd nom build "${flakeFlags[@]}" --out-link "${tmpDir}/nixos-rebuild" "$flake#$flakeAttr.config.system.build.nixos-rebuild" "${extraBuildFlags[@]}" "${lockFlags[@]}" + if p=$(readlink -e "${tmpDir}/nixos-rebuild"); then + SHOULD_REEXEC=1 + fi