aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-02-23 11:54:25 -0600
committerCraig Jennings <c@cjennings.net>2026-02-23 11:54:25 -0600
commit6631521d9f45b73f9b4df76db9148d82af8d57b9 (patch)
tree344efeff361b1c8953bd4f56d304a8ec70637899
parentc7608c8ba7757fa49ca02c068a4b0473e7f825dc (diff)
downloadarchangel-6631521d9f45b73f9b4df76db9148d82af8d57b9.tar.gz
archangel-6631521d9f45b73f9b4df76db9148d82af8d57b9.zip
refactor: rename custom/ to installer/ for clarity
The custom/ directory name was an archiso implementation detail. Renamed to installer/ which clearly communicates that this directory contains the installer scripts and utilities that ship on the ISO. Updated all references in build.sh, Makefile, test-install.sh, and README.
-rw-r--r--.shellcheckrc3
-rw-r--r--Makefile2
-rw-r--r--README.org4
-rwxr-xr-xbuild.sh16
-rw-r--r--installer/RESCUE-GUIDE.txt (renamed from custom/RESCUE-GUIDE.txt)0
-rwxr-xr-xinstaller/archangel (renamed from custom/archangel)0
-rw-r--r--installer/archangel.conf.example (renamed from custom/archangel.conf.example)0
-rwxr-xr-xinstaller/install-claude (renamed from custom/install-claude)0
-rw-r--r--installer/lib/btrfs.sh (renamed from custom/lib/btrfs.sh)0
-rw-r--r--installer/lib/common.sh (renamed from custom/lib/common.sh)0
-rw-r--r--installer/lib/config.sh (renamed from custom/lib/config.sh)0
-rw-r--r--installer/lib/disk.sh (renamed from custom/lib/disk.sh)0
-rw-r--r--installer/lib/zfs.sh (renamed from custom/lib/zfs.sh)0
-rwxr-xr-xinstaller/zfsrollback (renamed from custom/zfsrollback)0
-rwxr-xr-xinstaller/zfssnapshot (renamed from custom/zfssnapshot)0
-rwxr-xr-xscripts/test-install.sh4
16 files changed, 15 insertions, 14 deletions
diff --git a/.shellcheckrc b/.shellcheckrc
index ae7c42f..c2d8dfd 100644
--- a/.shellcheckrc
+++ b/.shellcheckrc
@@ -16,5 +16,6 @@
# SC2059 - Variables in printf format (intentional for hex conversion)
# SC2143 - Use grep -q (stylistic)
# SC2207 - Prefer mapfile (arrays from command output)
+# SC1003 - False positive on escaped single quotes in case patterns
-disable=SC2034,SC2086,SC2162,SC2016,SC2317,SC2012,SC1091,SC2329,SC2011,SC2010,SC2129,SC2001,SC2059,SC2143,SC2207
+disable=SC2034,SC2086,SC2162,SC2016,SC2317,SC2012,SC1091,SC2329,SC2011,SC2010,SC2129,SC2001,SC2059,SC2143,SC2207,SC1003
diff --git a/Makefile b/Makefile
index 97be28d..313e39f 100644
--- a/Makefile
+++ b/Makefile
@@ -19,7 +19,7 @@ all: lint build
# Lint all bash scripts
lint:
@echo "==> Running shellcheck..."
- @shellcheck -x build.sh scripts/*.sh custom/archangel custom/zfsrollback custom/zfssnapshot custom/lib/*.sh
+ @shellcheck -x build.sh scripts/*.sh installer/archangel installer/zfsrollback installer/zfssnapshot installer/lib/*.sh
@echo "==> Shellcheck complete"
# Build the ISO (requires sudo)
diff --git a/README.org b/README.org
index 8c6c0e8..b06e071 100644
--- a/README.org
+++ b/README.org
@@ -100,7 +100,7 @@ sudo ./build.sh
archangel/
├── build.sh # Main ISO build script
├── Makefile # Build, lint, test, and release targets
-├── custom/
+├── installer/
│ ├── archangel # Interactive installation script
│ ├── archangel.conf.example # Example config for unattended install
│ ├── lib/ # Modular installer components
@@ -130,7 +130,7 @@ archangel/
| Script | Description |
|--------+-------------|
| ~build.sh~ | Builds the ISO. Copies releng profile, adds packages, configures kernel, runs mkarchiso |
-| ~custom/archangel~ | Interactive installer. Handles disk partitioning, filesystem creation, base system install, bootloader setup |
+| ~installer/archangel~ | Interactive installer. Handles disk partitioning, filesystem creation, base system install, bootloader setup |
| ~scripts/test-vm.sh~ | Launches QEMU VM for testing. Supports single and multi-disk configurations |
* Testing with VMs
diff --git a/build.sh b/build.sh
index ea682cf..b94b731 100755
--- a/build.sh
+++ b/build.sh
@@ -11,7 +11,7 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROFILE_DIR="$SCRIPT_DIR/profile"
WORK_DIR="$SCRIPT_DIR/work"
OUT_DIR="$SCRIPT_DIR/out"
-CUSTOM_DIR="$SCRIPT_DIR/custom"
+INSTALLER_DIR="$SCRIPT_DIR/installer"
# Live ISO root password (for SSH access during testing/emergencies)
LIVE_ROOT_PASSWORD="archangel"
@@ -371,21 +371,21 @@ EOF
# Copy our custom scripts
info "Copying custom scripts..."
-cp "$CUSTOM_DIR/archangel" "$PROFILE_DIR/airootfs/usr/local/bin/"
-cp -r "$CUSTOM_DIR/lib" "$PROFILE_DIR/airootfs/usr/local/bin/"
-cp "$CUSTOM_DIR/install-claude" "$PROFILE_DIR/airootfs/usr/local/bin/"
+cp "$INSTALLER_DIR/archangel" "$PROFILE_DIR/airootfs/usr/local/bin/"
+cp -r "$INSTALLER_DIR/lib" "$PROFILE_DIR/airootfs/usr/local/bin/"
+cp "$INSTALLER_DIR/install-claude" "$PROFILE_DIR/airootfs/usr/local/bin/"
# Copy zfssnapshot and zfsrollback for ZFS management
info "Copying zfssnapshot and zfsrollback..."
-cp "$CUSTOM_DIR/zfssnapshot" "$PROFILE_DIR/airootfs/usr/local/bin/"
-cp "$CUSTOM_DIR/zfsrollback" "$PROFILE_DIR/airootfs/usr/local/bin/"
+cp "$INSTALLER_DIR/zfssnapshot" "$PROFILE_DIR/airootfs/usr/local/bin/"
+cp "$INSTALLER_DIR/zfsrollback" "$PROFILE_DIR/airootfs/usr/local/bin/"
# Copy example config for unattended installs
mkdir -p "$PROFILE_DIR/airootfs/root"
-cp "$CUSTOM_DIR/archangel.conf.example" "$PROFILE_DIR/airootfs/root/"
+cp "$INSTALLER_DIR/archangel.conf.example" "$PROFILE_DIR/airootfs/root/"
# Copy rescue guide
info "Copying rescue guide..."
-cp "$CUSTOM_DIR/RESCUE-GUIDE.txt" "$PROFILE_DIR/airootfs/root/"
+cp "$INSTALLER_DIR/RESCUE-GUIDE.txt" "$PROFILE_DIR/airootfs/root/"
# Set permissions in profiledef.sh
info "Setting file permissions..."
diff --git a/custom/RESCUE-GUIDE.txt b/installer/RESCUE-GUIDE.txt
index e241125..e241125 100644
--- a/custom/RESCUE-GUIDE.txt
+++ b/installer/RESCUE-GUIDE.txt
diff --git a/custom/archangel b/installer/archangel
index 023115e..023115e 100755
--- a/custom/archangel
+++ b/installer/archangel
diff --git a/custom/archangel.conf.example b/installer/archangel.conf.example
index c3c1877..c3c1877 100644
--- a/custom/archangel.conf.example
+++ b/installer/archangel.conf.example
diff --git a/custom/install-claude b/installer/install-claude
index f312861..f312861 100755
--- a/custom/install-claude
+++ b/installer/install-claude
diff --git a/custom/lib/btrfs.sh b/installer/lib/btrfs.sh
index 321c05c..321c05c 100644
--- a/custom/lib/btrfs.sh
+++ b/installer/lib/btrfs.sh
diff --git a/custom/lib/common.sh b/installer/lib/common.sh
index 0f02e37..0f02e37 100644
--- a/custom/lib/common.sh
+++ b/installer/lib/common.sh
diff --git a/custom/lib/config.sh b/installer/lib/config.sh
index 358a5f4..358a5f4 100644
--- a/custom/lib/config.sh
+++ b/installer/lib/config.sh
diff --git a/custom/lib/disk.sh b/installer/lib/disk.sh
index 2e7deb3..2e7deb3 100644
--- a/custom/lib/disk.sh
+++ b/installer/lib/disk.sh
diff --git a/custom/lib/zfs.sh b/installer/lib/zfs.sh
index feda91d..feda91d 100644
--- a/custom/lib/zfs.sh
+++ b/installer/lib/zfs.sh
diff --git a/custom/zfsrollback b/installer/zfsrollback
index a99a4d3..a99a4d3 100755
--- a/custom/zfsrollback
+++ b/installer/zfsrollback
diff --git a/custom/zfssnapshot b/installer/zfssnapshot
index 90331c3..90331c3 100755
--- a/custom/zfssnapshot
+++ b/installer/zfssnapshot
diff --git a/scripts/test-install.sh b/scripts/test-install.sh
index 3004ae3..affd3a3 100755
--- a/scripts/test-install.sh
+++ b/scripts/test-install.sh
@@ -378,9 +378,9 @@ run_install() {
# Copy latest archangel script and lib/ to VM (in case ISO is outdated)
sshpass -p "$SSH_PASSWORD" scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
- -P "$SSH_PORT" "$PROJECT_DIR/custom/archangel" root@localhost:/usr/local/bin/archangel 2>/dev/null
+ -P "$SSH_PORT" "$PROJECT_DIR/installer/archangel" root@localhost:/usr/local/bin/archangel 2>/dev/null
sshpass -p "$SSH_PASSWORD" scp -r -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
- -P "$SSH_PORT" "$PROJECT_DIR/custom/lib" root@localhost:/usr/local/bin/ 2>/dev/null
+ -P "$SSH_PORT" "$PROJECT_DIR/installer/lib" root@localhost:/usr/local/bin/ 2>/dev/null
# Copy config file to VM
sshpass -p "$SSH_PASSWORD" scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \