From 53e82d802dba330ec8e5a568d6250e04f1193f0c Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Fri, 23 Jan 2026 20:02:02 -0600 Subject: 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. --- custom/lib/common.sh | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'custom/lib/common.sh') 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 @@ -100,6 +100,38 @@ fzf_multi() { fi } +############################# +# 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 ############################# -- cgit v1.2.3