The changes include: - Split monolithic script into lib/, config/, profiles/, and files/ directories - Added error handling with cleanup on failure - Added installation logging to /var/log/arch-install.log - Added username validation
55 lines
1.4 KiB
Bash
55 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
# Copyright 2026 Logan Fick
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# defaults.conf - Default configuration values for the Arch Linux Installer
|
|
#
|
|
# Central configuration file for paths, URLs, and base packages.
|
|
|
|
# Installer identification
|
|
INSTALLER_NAME="LogalDeveloper's Arch Linux Installer"
|
|
|
|
# Network configuration
|
|
INTERNET_CHECK_URL="https://logal.dev/"
|
|
MIRROR_URL='https://mirrors.logal.dev/archlinux/$repo/os/$arch'
|
|
|
|
# Paths
|
|
CA_CERT_PATH="${SCRIPT_DIR}/files/certs/logalnet-internal-ca.crt"
|
|
CONFIG_SRC_DIR="${SCRIPT_DIR}/files/etc"
|
|
HOME_CONFIG_DIR="${SCRIPT_DIR}/files/home"
|
|
MOUNT_POINT="/mnt"
|
|
|
|
# Base packages to install with pacstrap
|
|
BASE_PACKAGES=(
|
|
base
|
|
linux
|
|
linux-firmware
|
|
bash-completion
|
|
btrfs-progs
|
|
smartmontools
|
|
lm_sensors
|
|
man-db
|
|
btop
|
|
htop
|
|
nano
|
|
less
|
|
tmux
|
|
rsync
|
|
sudo
|
|
iptables-nft
|
|
openssh
|
|
usbguard
|
|
)
|