aboutsummaryrefslogtreecommitdiff
path: root/installer/lib
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-04-09 22:02:52 -0500
committerCraig Jennings <c@cjennings.net>2026-04-09 22:02:52 -0500
commit778a9150cdcd15216e0c1c6d7e1e3843cf455546 (patch)
tree07cc85bceee233daaed48c4d2b657c4c6a531717 /installer/lib
parentbf7098186f60ec1705addb4841d1d5bcf7dacd45 (diff)
downloadarchangel-778a9150cdcd15216e0c1c6d7e1e3843cf455546.tar.gz
archangel-778a9150cdcd15216e0c1c6d7e1e3843cf455546.zip
feat: default to no-color output, add --color flag to enable
Keeps logs and SSH output clean. Use archangel --color for colored output.
Diffstat (limited to 'installer/lib')
-rw-r--r--installer/lib/common.sh22
-rw-r--r--installer/lib/config.sh5
2 files changed, 16 insertions, 11 deletions
diff --git a/installer/lib/common.sh b/installer/lib/common.sh
index 0f02e37..4acd7b9 100644
--- a/installer/lib/common.sh
+++ b/installer/lib/common.sh
@@ -6,22 +6,22 @@
# Output Functions
#############################
-# Colors (optional, gracefully degrade if not supported)
-if [[ -t 1 ]]; then
+# No color by default — use --color flag to enable
+RED=''
+GREEN=''
+YELLOW=''
+BLUE=''
+BOLD=''
+NC=''
+
+enable_color() {
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
BOLD='\033[1m'
- NC='\033[0m' # No Color
-else
- RED=''
- GREEN=''
- YELLOW=''
- BLUE=''
- BOLD=''
- NC=''
-fi
+ NC='\033[0m'
+}
info() { echo -e "${GREEN}[INFO]${NC} $1"; }
warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }
diff --git a/installer/lib/config.sh b/installer/lib/config.sh
index 358a5f4..fefc838 100644
--- a/installer/lib/config.sh
+++ b/installer/lib/config.sh
@@ -41,6 +41,10 @@ parse_args() {
error "--config-file requires a path argument"
fi
;;
+ --color)
+ enable_color
+ shift
+ ;;
--help|-h)
show_usage
exit 0
@@ -60,6 +64,7 @@ Arch Linux installer with ZFS/Btrfs support and snapshot management.
Options:
--config-file PATH Use config file for unattended installation
+ --color Enable colored output
--help, -h Show this help message
Without --config-file, runs in interactive mode.