Compare commits
1 Commits
bead/nixos
...
bead/nixos
| Author | SHA1 | Date | |
|---|---|---|---|
| 49e6df605d |
4
scripts/bootstrap.sh → bootstrap.sh
Normal file → Executable file
4
scripts/bootstrap.sh → bootstrap.sh
Normal file → Executable file
@@ -1,7 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# bootstrap.sh
|
# bootstrap.sh
|
||||||
# Usage: nix run .#bootstrap -- <hostname>
|
# Usage: sudo ./bootstrap.sh <hostname>
|
||||||
# Or: sudo ./scripts/bootstrap.sh <hostname>
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
NEW_HOSTNAME="${1:?missing hostname}"
|
NEW_HOSTNAME="${1:?missing hostname}"
|
||||||
@@ -9,3 +8,4 @@ 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"
|
||||||
|
|
||||||
19
build-liveusb.sh
Executable file
19
build-liveusb.sh
Executable file
@@ -0,0 +1,19 @@
|
|||||||
|
#!/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,16 +275,6 @@
|
|||||||
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";
|
||||||
@@ -302,14 +292,6 @@
|
|||||||
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";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,22 +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
|
|
||||||
# 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
|
|
||||||
@@ -1,6 +1,30 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Parse arguments
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
--help|-h)
|
||||||
|
echo "Usage: $0 [OPTIONS]"
|
||||||
|
echo ""
|
||||||
|
echo "Rotate to the next wallpaper in the configured list."
|
||||||
|
echo ""
|
||||||
|
echo "This script increments the currentIndex in home/wallpapers/default.nix,"
|
||||||
|
echo "cycling through available wallpapers. Rebuild your system to apply"
|
||||||
|
echo "the new wallpaper."
|
||||||
|
echo ""
|
||||||
|
echo "Options:"
|
||||||
|
echo " --help, -h Show this help message"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown option: $1"
|
||||||
|
echo "Use --help for usage information"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# Colors for output
|
# Colors for output
|
||||||
RED='\033[0;31m'
|
RED='\033[0;31m'
|
||||||
GREEN='\033[0;32m'
|
GREEN='\033[0;32m'
|
||||||
|
|||||||
@@ -1,6 +1,30 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Parse arguments
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
--help|-h)
|
||||||
|
echo "Usage: $0 [OPTIONS]"
|
||||||
|
echo ""
|
||||||
|
echo "Update Doom Emacs to the latest commit from the doomemacs repository."
|
||||||
|
echo ""
|
||||||
|
echo "This script fetches the latest commit SHA from the default branch,"
|
||||||
|
echo "updates the rev and sha256 in home/roles/emacs/default.nix, and"
|
||||||
|
echo "prepares the configuration for a system rebuild."
|
||||||
|
echo ""
|
||||||
|
echo "Options:"
|
||||||
|
echo " --help, -h Show this help message"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown option: $1"
|
||||||
|
echo "Use --help for usage information"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# Colors for output
|
# Colors for output
|
||||||
RED='\033[0;31m'
|
RED='\033[0;31m'
|
||||||
GREEN='\033[0;32m'
|
GREEN='\033[0;32m'
|
||||||
|
|||||||
@@ -1,6 +1,35 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Parse arguments
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
--help|-h)
|
||||||
|
echo "Usage: $0 [OPTIONS]"
|
||||||
|
echo ""
|
||||||
|
echo "Perform a major upgrade of the NixOS configuration."
|
||||||
|
echo ""
|
||||||
|
echo "This script runs the following steps:"
|
||||||
|
echo " 1. Update all flake inputs (nix flake update)"
|
||||||
|
echo " 2. Update Doom Emacs to the latest commit"
|
||||||
|
echo " 3. Update Claude Code to the latest version"
|
||||||
|
echo " 4. Rotate to the next wallpaper"
|
||||||
|
echo ""
|
||||||
|
echo "After completion, review changes with 'git diff' and rebuild"
|
||||||
|
echo "your system with 'sudo nixos-rebuild switch --flake .'"
|
||||||
|
echo ""
|
||||||
|
echo "Options:"
|
||||||
|
echo " --help, -h Show this help message"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown option: $1"
|
||||||
|
echo "Use --help for usage information"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# Colors for output
|
# Colors for output
|
||||||
RED='\033[0;31m'
|
RED='\033[0;31m'
|
||||||
GREEN='\033[0;32m'
|
GREEN='\033[0;32m'
|
||||||
|
|||||||
Reference in New Issue
Block a user