minimal: Add a prettier interface to NixOS rebuild

This commit is contained in:
traxys 2023-07-27 22:49:08 +02:00
parent bf1c459a79
commit 52ea0694a6
2 changed files with 56 additions and 0 deletions

View file

@ -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;

40
minimal/nom-rebuild.patch Normal file
View file

@ -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 <nixpkgs/nixos> {}; config.system.build.nixos-rebuild' "${extraBuildFlags[@]}"); then
+ if p=$(runCmd nom-build --no-out-link --expr 'with import <nixpkgs/nixos> {}; 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