[nixos-configs-bli] Move bootstrap/build-liveusb scripts to flake apps #23
@@ -1,19 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Build Live USB ISO from flake configuration
|
|
||||||
# Creates an uncompressed ISO suitable for Ventoy and other USB boot tools
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
echo "Building Live USB ISO..."
|
|
||||||
nix build .#nixosConfigurations.live-usb.config.system.build.isoImage --show-trace
|
|
||||||
|
|
||||||
if [ -f "./result/iso/"*.iso ]; then
|
|
||||||
iso_file=$(ls ./result/iso/*.iso)
|
|
||||||
echo "✅ Build complete!"
|
|
||||||
echo "📁 ISO location: $iso_file"
|
|
||||||
echo "💾 Ready for Ventoy or dd to USB"
|
|
||||||
else
|
|
||||||
echo "❌ Build failed - no ISO file found"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
18
flake.nix
18
flake.nix
@@ -275,6 +275,16 @@
|
|||||||
export PATH="${pkgs.lib.makeBinPath commonDeps}:$PATH"
|
export PATH="${pkgs.lib.makeBinPath commonDeps}:$PATH"
|
||||||
${builtins.readFile ./scripts/upgrade.sh}
|
${builtins.readFile ./scripts/upgrade.sh}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
bootstrap = pkgs.writeShellScriptBin "bootstrap" ''
|
||||||
|
export PATH="${pkgs.lib.makeBinPath commonDeps}:$PATH"
|
||||||
|
${builtins.readFile ./scripts/bootstrap.sh}
|
||||||
|
'';
|
||||||
|
|
||||||
|
build-liveusb = pkgs.writeShellScriptBin "build-liveusb" ''
|
||||||
|
export PATH="${pkgs.lib.makeBinPath commonDeps}:$PATH"
|
||||||
|
${builtins.readFile ./scripts/build-liveusb.sh}
|
||||||
|
'';
|
||||||
in {
|
in {
|
||||||
update-doomemacs = {
|
update-doomemacs = {
|
||||||
type = "app";
|
type = "app";
|
||||||
@@ -292,6 +302,14 @@
|
|||||||
type = "app";
|
type = "app";
|
||||||
program = "${upgrade}/bin/upgrade";
|
program = "${upgrade}/bin/upgrade";
|
||||||
};
|
};
|
||||||
|
bootstrap = {
|
||||||
|
type = "app";
|
||||||
|
program = "${bootstrap}/bin/bootstrap";
|
||||||
|
};
|
||||||
|
build-liveusb = {
|
||||||
|
type = "app";
|
||||||
|
program = "${build-liveusb}/bin/build-liveusb";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
4
bootstrap.sh → scripts/bootstrap.sh
Executable file → Normal file
4
bootstrap.sh → scripts/bootstrap.sh
Executable file → Normal file
@@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# bootstrap.sh
|
# bootstrap.sh
|
||||||
# Usage: sudo ./bootstrap.sh <hostname>
|
# Usage: nix run .#bootstrap -- <hostname>
|
||||||
|
# Or: sudo ./scripts/bootstrap.sh <hostname>
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
NEW_HOSTNAME="${1:?missing hostname}"
|
NEW_HOSTNAME="${1:?missing hostname}"
|
||||||
@@ -8,4 +9,3 @@ FLAKE_URI="git+https://git.johnogle.info/johno/nixos-configs.git#${NEW_HOSTNAME}
|
|||||||
|
|
||||||
export NIX_CONFIG="experimental-features = nix-command flakes"
|
export NIX_CONFIG="experimental-features = nix-command flakes"
|
||||||
nixos-rebuild switch --flake "$FLAKE_URI"
|
nixos-rebuild switch --flake "$FLAKE_URI"
|
||||||
|
|
||||||
22
scripts/build-liveusb.sh
Normal file
22
scripts/build-liveusb.sh
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Build Live USB ISO from flake configuration
|
||||||
|
# Creates an uncompressed ISO suitable for Ventoy and other USB boot tools
|
||||||
|
# Usage: nix run .#build-liveusb
|
||||||
|
# Or: ./scripts/build-liveusb.sh
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
REPO_ROOT="${REPO_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}"
|
||||||
|
|
||||||
|
echo "Building Live USB ISO..."
|
||||||
|
nix build "${REPO_ROOT}#nixosConfigurations.live-usb.config.system.build.isoImage" --show-trace
|
||||||
|
|
||||||
|
if ls "${REPO_ROOT}/result/iso/"*.iso 1> /dev/null 2>&1; then
|
||||||
|
iso_file=$(ls "${REPO_ROOT}/result/iso/"*.iso)
|
||||||
|
echo "Build complete!"
|
||||||
|
echo "ISO location: $iso_file"
|
||||||
|
echo "Ready for Ventoy or dd to USB"
|
||||||
|
else
|
||||||
|
echo "Build failed - no ISO file found"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user