arzeck/arch-script
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
#!/bin/bash # ============================================================================ # ARCH LINUX INTERACTIVE INSTALLER - QUICK START # ============================================================================ cat << 'EOF' ╔════════════════════════════════════════════════════════════════════════════╗ ║ Arch Linux Interactive Installer - Quick Start ║ ║ Like omarchy, but fully custom ║ ╚════════════════════════════════════════════════════════════════════════════╝ ## HOW TO USE 1. Boot Arch ISO - Download: https://archlinux.org/download/ - Create USB: dd if=arch.iso of=/dev/sdX bs=4M status=progress - Boot into live environment 2. Connect to Internet (if not auto-detected) For Wi-Fi: $ iwctl [iwctl]# station wlan0 connect SSID [iwctl]# exit For Ethernet: Should work automatically 3. Verify Internet $ ping archlinux.org 4. Download the installer script $ curl -O https://your-url/arch-install-interactive.sh Or copy it via USB/other means 5. Make it executable $ chmod +x arch-install-interactive.sh 6. RUN THE INSTALLER $ sudo bash arch-install-interactive.sh 7. Answer all questions The script will ask for: - Hostname - Timezone - Locale - Keyboard layout - Username and password - Disk to install to (WITH WARNING) - Partition sizes - Bootloader (systemd-boot or GRUB) - Network manager (NetworkManager or systemd) - Desktop environment options - GPU drivers - Development tools 8. Review summary and confirm 9. Let it install (fully automated after confirmation) 10. Reboot $ reboot 11. Login and enjoy! - SDDM login screen - Select "Hyprland" - Use Mod+Return for terminal ═══════════════════════════════════════════════════════════════════════════ ## FEATURES ✓ Fully interactive - asks all questions upfront ✓ Colorized output - easy to follow ✓ Error checking - validates disk, internet, root access ✓ Complete automation - once you answer questions, everything is automated ✓ Hyprland + QuickShell + Caelestia dots ✓ Development tools (optional) ✓ Multiple GPU driver options ✓ SDDM display manager included ═══════════════════════════════════════════════════════════════════════════ ## WHAT GETS INSTALLED REQUIRED: - Linux kernel + firmware - Base utilities (git, curl, wget, neovim, nano) - Bootloader (systemd-boot or GRUB) - Network manager (NetworkManager or systemd) - Hyprland + dependencies - SDDM display manager OPTIONAL: - QuickShell (ask during setup) - Caelestia dots (ask during setup) - Development tools: Python, Node, Rust, GCC, Clang, Git, etc. GPU DRIVERS: - AMD: vulkan-radeon + mesa - Intel: vulkan-intel + mesa - NVIDIA: nvidia-dkms + nvidia-utils - Software rendering: none (pure Mesa) ═══════════════════════════════════════════════════════════════════════════ ## EXAMPLE WALKTHROUGH $ sudo bash arch-install-interactive.sh [INFO] Running pre-flight checks... [✓] Running as root [✓] Internet connection confirmed [✓] EFI boot detected ──────────────────────────────────────────────────────────────── [INFO] System Configuration Hostname [arch-system]: my-machine [✓] Hostname: my-machine Select timezone 1) Asia/Kolkata 2) Asia/Bangkok ... Enter choice [1-12]: 1 [✓] Timezone: Asia/Kolkata Locale [en_US.UTF-8]: [✓] Locale: en_US.UTF-8 Keyboard layout [us]: [✓] Keyboard: us ──────────────────────────────────────────────────────────────── [INFO] User Configuration Username (main user) [user]: john [✓] Username: john Set password for user: john User password: •••••• Confirm password: •••••• [✓] Password set Set password for root user Root password: •••••• Confirm password: •••••• [✓] Root password set ──────────────────────────────────────────────────────────────── [INFO] Disk Configuration Available disks: /dev/nvme0n1 - 500G /dev/sda - 2T CAREFUL: This will wipe the selected disk! Enter disk path [/dev/nvme0n1]: /dev/nvme0n1 [✓] Selected disk: /dev/nvme0n1 (500G) FINAL WARNING: This will ERASE /dev/nvme0n1 Are you ABSOLUTELY SURE? [y/n]: y ... (more configuration screens) ... ════════════════════════════════════════════════════════════════ [INFO] Installation Summary System Configuration: Hostname: my-machine Timezone: Asia/Kolkata Locale: en_US.UTF-8 Keyboard: us User Configuration: Username: john Root user: enabled Disk Configuration: Disk: /dev/nvme0n1 EFI size: +512M Swap size: +4G Bootloader: systemd-boot ... (all your settings) ... Proceed with installation? [y/n]: y ════════════════════════════════════════════════════════════════ [INFO] Starting installation... [INFO] === PHASE 1: DISK PARTITIONING === [INFO] Partitioning disk: /dev/nvme0n1 [✓] Partitions created [INFO] Formatting filesystems... [✓] Filesystems formatted [INFO] Mounting filesystems... [✓] Filesystems mounted [INFO] === PHASE 2: BASE SYSTEM === [INFO] Installing base system packages... [✓] Base system installed [INFO] Generating fstab... [✓] fstab generated [INFO] Configuring system... [✓] System configured [INFO] === PHASE 3: BOOTLOADER & USERS === [INFO] Installing bootloader: systemd-boot [✓] Bootloader installed [INFO] Setting up users... [✓] Users configured [INFO] Installing network manager: NetworkManager [✓] Network configured [INFO] === PHASE 4: DESKTOP ENVIRONMENT === [INFO] Installing Hyprland and dependencies... [✓] Hyprland installed [INFO] Installing SDDM display manager... [✓] SDDM installed [INFO] === PHASE 5: ADDITIONAL SOFTWARE === [INFO] Installing QuickShell... [✓] QuickShell installed [INFO] Installing Caelestia dots... [✓] Caelestia dots installed [INFO] Installing development tools... [✓] Development tools installed ════════════════════════════════════════════════════════════════ [✓] Installation Complete! System Information: Hostname: my-machine Timezone: Asia/Kolkata User: john WM: Hyprland Next Steps: 1. reboot 2. Select "Hyprland" at SDDM login screen 3. Login with username: john 4. Configure Hyprland: edit ~/.config/hypr/hyprland.conf 5. Launch terminal: Mod+Return (Mod = Super key) ════════════════════════════════════════════════════════════════ ═══════════════════════════════════════════════════════════════ ## TROUBLESHOOTING ### "Must run as root" Solution: $ sudo bash arch-install-interactive.sh ### "No internet connection" Solution: - For Wi-Fi: Run 'iwctl' to connect - For Ethernet: Make sure cable is plugged in - Test: ping archlinux.org ### "Disk not found" Solution: - Run: lsblk - Double-check disk name (e.g., /dev/nvme0n1 not /dev/nvme0n1p1) - Make sure you're using actual disk, not partition ### Script hangs during pacstrap Solution: This is NORMAL. Just wait - downloading packages takes time. ### Can't login after reboot Solution: - Press Ctrl+Alt+F2 to get to TTY - Login with username/password - Try: systemctl status sddm - Or manually start Hyprland: Hyprland ### QuickShell build fails Solution: - Manually install later: yay -S quickshell - Or install without QuickShell and add later ═══════════════════════════════════════════════════════════════ ## WHAT YOU GET AFTER INSTALLATION Terminal: foot (or kitty if you chose it) - Launch: Mod+Return - Close: Mod+Q File manager: Not pre-installed, install with: $ sudo pacman -S thunar System Monitor: Install with: $ sudo pacman -S gtkop Text Editor: Neovim installed $ nvim filename Browser: Install with: $ sudo pacman -S firefox Other tools: - Git (version control) - Python + npm (development) - Rustup (Rust) - htop (system monitor) - tmux (terminal multiplexer) ═══════════════════════════════════════════════════════════════ ## NEXT STEPS AFTER REBOOT 1. Update system $ sudo pacman -Syu 2. Install AUR helper (yay) $ git clone https://aur.archlinux.org/yay.git $ cd yay $ makepkg -si 3. Install more packages $ sudo pacman -S firefox thunderbird vlc $ yay -S visual-studio-code-bin 4. Customize Hyprland Edit: ~/.config/hypr/hyprland.conf Restart: Ctrl+Super+R (or reloggin) 5. Install fonts $ sudo pacman -S ttf-dejavu ttf-liberation noto-fonts ═══════════════════════════════════════════════════════════════ Questions? Check the Arch Wiki: https://wiki.archlinux.org EOF