aboutsummaryrefslogtreecommitdiff
path: root/custom/lib/common.sh
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-01-23 20:02:02 -0600
committerCraig Jennings <c@cjennings.net>2026-01-23 20:02:02 -0600
commit53e82d802dba330ec8e5a568d6250e04f1193f0c (patch)
treef08a315332bbdeb26d475911ddff29e0c5e68f62 /custom/lib/common.sh
parentd7da1bb62bef40766e117f1c88e854c2eb50f697 (diff)
downloadarchangel-53e82d802dba330ec8e5a568d6250e04f1193f0c.tar.gz
archangel-53e82d802dba330ec8e5a568d6250e04f1193f0c.zip
Phase 1.4: Add filesystem selection prompt
- Add FILESYSTEM variable to config (zfs or btrfs) - Add select_filesystem() function with fzf support - Update gather_input() to prompt for filesystem in interactive mode - Add validation for FILESYSTEM in unattended mode - Btrfs selection errors with "not yet implemented" - Update banner to show "Archangel" branding - Update config example with FILESYSTEM option Groundwork for btrfs support - filesystem choice is now captured, installation logic gates on FILESYSTEM variable.
Diffstat (limited to 'custom/lib/common.sh')
-rw-r--r--custom/lib/common.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/custom/lib/common.sh b/custom/lib/common.sh
index 2f8844e..c271aec 100644
--- a/custom/lib/common.sh
+++ b/custom/lib/common.sh
@@ -101,6 +101,38 @@ fzf_multi() {
}
#############################
+# Filesystem Selection
+#############################
+
+# Select filesystem type (ZFS or Btrfs)
+# Sets global FILESYSTEM variable
+select_filesystem() {
+ step "Select Filesystem"
+
+ local options=(
+ "ZFS - Native encryption, best data integrity (recommended)"
+ "Btrfs - Native Linux, GRUB snapshot boot"
+ )
+
+ local selected
+ selected=$(fzf_select "Filesystem:" "${options[@]}")
+
+ case "$selected" in
+ ZFS*)
+ FILESYSTEM="zfs"
+ info "Selected: ZFS"
+ ;;
+ Btrfs*)
+ FILESYSTEM="btrfs"
+ info "Selected: Btrfs"
+ ;;
+ *)
+ error "No filesystem selected"
+ ;;
+ esac
+}
+
+#############################
# Disk Utilities
#############################