refactor(packages): split base and extra packages for better organization
- commit
- 0bae381da3c2b08ee69f625fe410484fb59c293b
- author
- bnema · · 2025-10-21 17:01 UTC
- parent
- 7f3a1b7
- signature
- unsigned
5 files · +58 -24
M install.sh +1 -1
| @@ -21,7 +21,7 @@ fi | |||
| 21 | 21 | export ARCHUP_INSTALL_LOG_FILE="/var/log/archup-install.log" | |
| 22 | 22 | export ARCHUP_INSTALL_CONFIG="/var/log/archup-install.conf" | |
| 23 | 23 | export ARCHUP_REPO_URL="${ARCHUP_REPO_URL:-https://github.com/bnema/archup}" | |
| 24 | - | export ARCHUP_RAW_URL="${ARCHUP_RAW_URL:-https://raw.githubusercontent.com/bnema/archup/dev}" | |
| 24 | + | export ARCHUP_RAW_URL="${ARCHUP_RAW_URL:-https://raw.githubusercontent.com/bnema/archup/main}" | |
| 25 | 25 | ||
| 26 | 26 | # Handle help flag early (doesn't need any files) | |
| 27 | 27 | if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then | |
| @@ -21,7 +21,7 @@ fi | |||||
| 21 | export ARCHUP_INSTALL_LOG_FILE="/var/log/archup-install.log" | 21 | export ARCHUP_INSTALL_LOG_FILE="/var/log/archup-install.log" | ||
| 22 | export ARCHUP_INSTALL_CONFIG="/var/log/archup-install.conf" | 22 | export ARCHUP_INSTALL_CONFIG="/var/log/archup-install.conf" | ||
| 23 | export ARCHUP_REPO_URL="${ARCHUP_REPO_URL:-https://github.com/bnema/archup}" | 23 | export ARCHUP_REPO_URL="${ARCHUP_REPO_URL:-https://github.com/bnema/archup}" | ||
| 24 | - | export ARCHUP_RAW_URL="${ARCHUP_RAW_URL:-https://raw.githubusercontent.com/bnema/archup/dev}" | 24 | + | export ARCHUP_RAW_URL="${ARCHUP_RAW_URL:-https://raw.githubusercontent.com/bnema/archup/main}" |
| 25 | 25 | ||||
| 26 | # Handle help flag early (doesn't need any files) | 26 | # Handle help flag early (doesn't need any files) | ||
| 27 | if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then | 27 | if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then | ||
M install/base.packages +4 -21
| @@ -1,12 +1,10 @@ | |||
| 1 | - | # ArchUp Base System (Tier 1 - Barebone CLI) | |
| 2 | - | # ~20 packages - minimal foundation for CLI-only or desktop installation | |
| 1 | + | # ArchUp Base System - Essential packages only | |
| 2 | + | # Minimal foundation installed with pacstrap | |
| 3 | 3 | ||
| 4 | 4 | # Core System | |
| 5 | 5 | base | |
| 6 | 6 | linux-firmware | |
| 7 | 7 | btrfs-progs | |
| 8 | - | snapper | |
| 9 | - | snap-pac | |
| 10 | 8 | ||
| 11 | 9 | # Kernel (selected dynamically by kernel.sh) | |
| 12 | 10 | # linux / linux-lts / linux-zen | |
| @@ -16,36 +14,21 @@ snap-pac | |||
| 16 | 14 | ||
| 17 | 15 | # Bootloader | |
| 18 | 16 | limine | |
| 17 | + | efibootmgr | |
| 19 | 18 | plymouth | |
| 20 | 19 | ttf-fira-sans | |
| 21 | 20 | ttf-jetbrains-mono-nerd | |
| 22 | - | efibootmgr | |
| 23 | 21 | ||
| 24 | 22 | # Networking | |
| 25 | 23 | iwd | |
| 24 | + | openssh | |
| 26 | 25 | ||
| 27 | 26 | # Essential Tools | |
| 28 | 27 | sudo | |
| 29 | 28 | neovim | |
| 30 | 29 | man-db | |
| 31 | 30 | git | |
| 32 | - | go | |
| 33 | 31 | bash-completion | |
| 34 | 32 | ||
| 35 | - | # Modern CLI Tools | |
| 36 | - | eza | |
| 37 | - | zoxide | |
| 38 | - | fzf | |
| 39 | - | ripgrep | |
| 40 | - | bat | |
| 41 | - | fd | |
| 42 | - | btop | |
| 43 | - | delta | |
| 44 | - | dust | |
| 45 | - | duf | |
| 46 | - | tealdeer | |
| 47 | - | yazi | |
| 48 | - | starship | |
| 49 | - | ||
| 50 | 33 | # Encryption (added if LUKS enabled) | |
| 51 | 34 | # cryptsetup | |
| @@ -1,12 +1,10 @@ | |||||
| 1 | - | # ArchUp Base System (Tier 1 - Barebone CLI) | 1 | + | # ArchUp Base System - Essential packages only |
| 2 | - | # ~20 packages - minimal foundation for CLI-only or desktop installation | 2 | + | # Minimal foundation installed with pacstrap |
| 3 | 3 | ||||
| 4 | # Core System | 4 | # Core System | ||
| 5 | base | 5 | base | ||
| 6 | linux-firmware | 6 | linux-firmware | ||
| 7 | btrfs-progs | 7 | btrfs-progs | ||
| 8 | - | snapper | |||
| 9 | - | snap-pac | |||
| 10 | 8 | ||||
| 11 | # Kernel (selected dynamically by kernel.sh) | 9 | # Kernel (selected dynamically by kernel.sh) | ||
| 12 | # linux / linux-lts / linux-zen | 10 | # linux / linux-lts / linux-zen | ||
| @@ -16,36 +14,21 @@ snap-pac | |||||
| 16 | 14 | ||||
| 17 | # Bootloader | 15 | # Bootloader | ||
| 18 | limine | 16 | limine | ||
| 17 | + | efibootmgr | |||
| 19 | plymouth | 18 | plymouth | ||
| 20 | ttf-fira-sans | 19 | ttf-fira-sans | ||
| 21 | ttf-jetbrains-mono-nerd | 20 | ttf-jetbrains-mono-nerd | ||
| 22 | - | efibootmgr | |||
| 23 | 21 | ||||
| 24 | # Networking | 22 | # Networking | ||
| 25 | iwd | 23 | iwd | ||
| 24 | + | openssh | |||
| 26 | 25 | ||||
| 27 | # Essential Tools | 26 | # Essential Tools | ||
| 28 | sudo | 27 | sudo | ||
| 29 | neovim | 28 | neovim | ||
| 30 | man-db | 29 | man-db | ||
| 31 | git | 30 | git | ||
| 32 | - | go | |||
| 33 | bash-completion | 31 | bash-completion | ||
| 34 | 32 | ||||
| 35 | - | # Modern CLI Tools | |||
| 36 | - | eza | |||
| 37 | - | zoxide | |||
| 38 | - | fzf | |||
| 39 | - | ripgrep | |||
| 40 | - | bat | |||
| 41 | - | fd | |||
| 42 | - | btop | |||
| 43 | - | delta | |||
| 44 | - | dust | |||
| 45 | - | duf | |||
| 46 | - | tealdeer | |||
| 47 | - | yazi | |||
| 48 | - | starship | |||
| 49 | - | ||||
| 50 | # Encryption (added if LUKS enabled) | 33 | # Encryption (added if LUKS enabled) | ||
| 51 | # cryptsetup | 34 | # cryptsetup | ||
M install/base/all.sh +1 -1
| @@ -6,5 +6,5 @@ source "$ARCHUP_INSTALL/base/kernel.sh" # Interactive (gum choose) | |||
| 6 | 6 | start_log_output # Resume after prompt | |
| 7 | 7 | ||
| 8 | 8 | run_logged "$ARCHUP_INSTALL/base/cachyos-repo.sh" # Configure CachyOS repo if needed | |
| 9 | - | run_logged "$ARCHUP_INSTALL/base/pacstrap.sh" # Non-interactive | |
| 9 | + | run_logged "$ARCHUP_INSTALL/base/pacstrap.sh" # Non-interactive (essential packages only) | |
| 10 | 10 | run_logged "$ARCHUP_INSTALL/base/fstab.sh" # Non-interactive | |
| @@ -6,5 +6,5 @@ source "$ARCHUP_INSTALL/base/kernel.sh" # Interactive (gum choose) | |||||
| 6 | start_log_output # Resume after prompt | 6 | start_log_output # Resume after prompt | ||
| 7 | 7 | ||||
| 8 | run_logged "$ARCHUP_INSTALL/base/cachyos-repo.sh" # Configure CachyOS repo if needed | 8 | run_logged "$ARCHUP_INSTALL/base/cachyos-repo.sh" # Configure CachyOS repo if needed | ||
| 9 | - | run_logged "$ARCHUP_INSTALL/base/pacstrap.sh" # Non-interactive | 9 | + | run_logged "$ARCHUP_INSTALL/base/pacstrap.sh" # Non-interactive (essential packages only) |
| 10 | run_logged "$ARCHUP_INSTALL/base/fstab.sh" # Non-interactive | 10 | run_logged "$ARCHUP_INSTALL/base/fstab.sh" # Non-interactive | ||
A install/extra.packages +35 -0
| @@ -0,0 +1,35 @@ | |||
| 1 | + | # ArchUp Extra Packages - Installed after Chaotic-AUR is configured | |
| 2 | + | # Modern CLI tools and enhancements from Chaotic-AUR | |
| 3 | + | ||
| 4 | + | # Snapper integration | |
| 5 | + | snapper | |
| 6 | + | snap-pac | |
| 7 | + | ||
| 8 | + | # Go toolchain (for AUR helper) | |
| 9 | + | go | |
| 10 | + | ||
| 11 | + | # System utilities | |
| 12 | + | dosfstools | |
| 13 | + | which | |
| 14 | + | wget | |
| 15 | + | unzip | |
| 16 | + | p7zip | |
| 17 | + | ||
| 18 | + | # Bluetooth | |
| 19 | + | bluez | |
| 20 | + | bluez-utils | |
| 21 | + | ||
| 22 | + | # Modern CLI Tools (from Chaotic-AUR) | |
| 23 | + | eza | |
| 24 | + | zoxide | |
| 25 | + | fzf | |
| 26 | + | ripgrep | |
| 27 | + | bat | |
| 28 | + | fd | |
| 29 | + | btop | |
| 30 | + | git-delta | |
| 31 | + | dust | |
| 32 | + | duf | |
| 33 | + | tealdeer | |
| 34 | + | yazi | |
| 35 | + | starship | |
| @@ -0,0 +1,35 @@ | |||||
| 1 | + | # ArchUp Extra Packages - Installed after Chaotic-AUR is configured | |||
| 2 | + | # Modern CLI tools and enhancements from Chaotic-AUR | |||
| 3 | + | ||||
| 4 | + | # Snapper integration | |||
| 5 | + | snapper | |||
| 6 | + | snap-pac | |||
| 7 | + | ||||
| 8 | + | # Go toolchain (for AUR helper) | |||
| 9 | + | go | |||
| 10 | + | ||||
| 11 | + | # System utilities | |||
| 12 | + | dosfstools | |||
| 13 | + | which | |||
| 14 | + | wget | |||
| 15 | + | unzip | |||
| 16 | + | p7zip | |||
| 17 | + | ||||
| 18 | + | # Bluetooth | |||
| 19 | + | bluez | |||
| 20 | + | bluez-utils | |||
| 21 | + | ||||
| 22 | + | # Modern CLI Tools (from Chaotic-AUR) | |||
| 23 | + | eza | |||
| 24 | + | zoxide | |||
| 25 | + | fzf | |||
| 26 | + | ripgrep | |||
| 27 | + | bat | |||
| 28 | + | fd | |||
| 29 | + | btop | |||
| 30 | + | git-delta | |||
| 31 | + | dust | |||
| 32 | + | duf | |||
| 33 | + | tealdeer | |||
| 34 | + | yazi | |||
| 35 | + | starship | |||
M install/repos/chaotic.sh +17 -1
| @@ -31,7 +31,7 @@ arch-chroot /mnt pacman -Sy >> "$ARCHUP_INSTALL_LOG_FILE" 2>&1 | |||
| 31 | 31 | ||
| 32 | 32 | # Verify Chaotic-AUR is working | |
| 33 | 33 | if arch-chroot /mnt pacman -Sl chaotic-aur >/dev/null 2>&1; then | |
| 34 | - | gum style --foreground 2 --padding "1 0 1 $PADDING_LEFT" "[OK] Chaotic-AUR enabled successfully" | |
| 34 | + | gum style --foreground 2 --padding "0 0 1 $PADDING_LEFT" "[OK] Chaotic-AUR enabled successfully" | |
| 35 | 35 | echo "Chaotic-AUR: enabled (repo added to pacman.conf)" >> "$ARCHUP_INSTALL_LOG_FILE" | |
| 36 | 36 | else | |
| 37 | 37 | gum style --foreground 1 --padding "1 0 1 $PADDING_LEFT" "[ERROR] Chaotic-AUR verification failed" | |
| @@ -39,3 +39,19 @@ else | |||
| 39 | 39 | export ARCHUP_CHAOTIC="failed" | |
| 40 | 40 | return 1 | |
| 41 | 41 | fi | |
| 42 | + | ||
| 43 | + | # Install extra packages from Chaotic-AUR | |
| 44 | + | gum style --foreground 6 --padding "1 0 0 $PADDING_LEFT" "Installing extra packages..." | |
| 45 | + | ||
| 46 | + | # Read extra package list | |
| 47 | + | mapfile -t extra_packages < <(grep -v '^#' "$ARCHUP_INSTALL/extra.packages" | grep -v '^$') | |
| 48 | + | ||
| 49 | + | echo "Installing ${#extra_packages[@]} extra packages: ${extra_packages[*]}" >> "$ARCHUP_INSTALL_LOG_FILE" | |
| 50 | + | ||
| 51 | + | if ! run_with_spinner "Installing extra packages (${#extra_packages[@]} packages)..." "arch-chroot /mnt pacman -S --noconfirm ${extra_packages[*]}"; then | |
| 52 | + | gum style --foreground 1 --padding "1 0 1 $PADDING_LEFT" "[ERROR] Extra packages installation failed" | |
| 53 | + | echo "WARNING: Some extra packages failed to install" >> "$ARCHUP_INSTALL_LOG_FILE" | |
| 54 | + | else | |
| 55 | + | gum style --foreground 2 --padding "1 0 1 $PADDING_LEFT" "[OK] Extra packages installed" | |
| 56 | + | echo "Installed ${#extra_packages[@]} extra packages" >> "$ARCHUP_INSTALL_LOG_FILE" | |
| 57 | + | fi | |
| @@ -31,7 +31,7 @@ arch-chroot /mnt pacman -Sy >> "$ARCHUP_INSTALL_LOG_FILE" 2>&1 | |||||
| 31 | 31 | ||||
| 32 | # Verify Chaotic-AUR is working | 32 | # Verify Chaotic-AUR is working | ||
| 33 | if arch-chroot /mnt pacman -Sl chaotic-aur >/dev/null 2>&1; then | 33 | if arch-chroot /mnt pacman -Sl chaotic-aur >/dev/null 2>&1; then | ||
| 34 | - | gum style --foreground 2 --padding "1 0 1 $PADDING_LEFT" "[OK] Chaotic-AUR enabled successfully" | 34 | + | gum style --foreground 2 --padding "0 0 1 $PADDING_LEFT" "[OK] Chaotic-AUR enabled successfully" |
| 35 | echo "Chaotic-AUR: enabled (repo added to pacman.conf)" >> "$ARCHUP_INSTALL_LOG_FILE" | 35 | echo "Chaotic-AUR: enabled (repo added to pacman.conf)" >> "$ARCHUP_INSTALL_LOG_FILE" | ||
| 36 | else | 36 | else | ||
| 37 | gum style --foreground 1 --padding "1 0 1 $PADDING_LEFT" "[ERROR] Chaotic-AUR verification failed" | 37 | gum style --foreground 1 --padding "1 0 1 $PADDING_LEFT" "[ERROR] Chaotic-AUR verification failed" | ||
| @@ -39,3 +39,19 @@ else | |||||
| 39 | export ARCHUP_CHAOTIC="failed" | 39 | export ARCHUP_CHAOTIC="failed" | ||
| 40 | return 1 | 40 | return 1 | ||
| 41 | fi | 41 | fi | ||
| 42 | + | ||||
| 43 | + | # Install extra packages from Chaotic-AUR | |||
| 44 | + | gum style --foreground 6 --padding "1 0 0 $PADDING_LEFT" "Installing extra packages..." | |||
| 45 | + | ||||
| 46 | + | # Read extra package list | |||
| 47 | + | mapfile -t extra_packages < <(grep -v '^#' "$ARCHUP_INSTALL/extra.packages" | grep -v '^$') | |||
| 48 | + | ||||
| 49 | + | echo "Installing ${#extra_packages[@]} extra packages: ${extra_packages[*]}" >> "$ARCHUP_INSTALL_LOG_FILE" | |||
| 50 | + | ||||
| 51 | + | if ! run_with_spinner "Installing extra packages (${#extra_packages[@]} packages)..." "arch-chroot /mnt pacman -S --noconfirm ${extra_packages[*]}"; then | |||
| 52 | + | gum style --foreground 1 --padding "1 0 1 $PADDING_LEFT" "[ERROR] Extra packages installation failed" | |||
| 53 | + | echo "WARNING: Some extra packages failed to install" >> "$ARCHUP_INSTALL_LOG_FILE" | |||
| 54 | + | else | |||
| 55 | + | gum style --foreground 2 --padding "1 0 1 $PADDING_LEFT" "[OK] Extra packages installed" | |||
| 56 | + | echo "Installed ${#extra_packages[@]} extra packages" >> "$ARCHUP_INSTALL_LOG_FILE" | |||
| 57 | + | fi | |||