Refactored installer into modular library structure with improved error handling and logging.
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
This commit is contained in:
54
config/defaults.conf
Normal file
54
config/defaults.conf
Normal file
@@ -0,0 +1,54 @@
|
||||
#!/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
|
||||
)
|
||||
28
config/luks.conf
Normal file
28
config/luks.conf
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/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.
|
||||
|
||||
# luks.conf - LUKS encryption parameters
|
||||
#
|
||||
# Cryptographic settings for full-disk encryption using LUKS2.
|
||||
|
||||
LUKS_TYPE="luks2"
|
||||
LUKS_CIPHER="aes-xts-plain64"
|
||||
LUKS_HASH="sha512"
|
||||
LUKS_KEY_SIZE="512"
|
||||
LUKS_PBKDF="argon2id"
|
||||
LUKS_PBKDF_ITERATIONS="8"
|
||||
LUKS_PBKDF_MEMORY="4194304"
|
||||
LUKS_PBKDF_PARALLEL="4"
|
||||
Reference in New Issue
Block a user