Skip to content

BashTux1/arch-auto-install

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arch Linux Automated Install Scripts

Attribution: https://github.com/exah-io/minimal-arch-linux

⚠ These scripts has been modified to meet my needs.
⚠ Take care to read through the scripts if you intend to make use of them.

Install script (install)

See Requirements.

Packages installed via Pacstrap in this script:

base base-devel linux linux-firmware e2fsprogs dosfstools networkmanager wget
man-db man-pages nano vim dhcpcd open-vm-tools openssh grub
efibootmgr os-prober git

Requirements

  • UEFI mode must be used, this script is not written to work with legacy BIOS

User Read Input

Value Example/Default Comment
Disk sda Set the disk name to be used (To find your disk, run lsblk)
Boot Partition 300M Set your desired EFI boot partition size. Must be in the format "300M" or "1G" etc
SWAP Partition 16G Set your desired SWAP partition size. Must be in the format "300M" or "1G" etc
root Password MyPassword Set your root password
User Name johndoe Set your non root username (will be auto added to SUDOers)
User Password MyPassword Set your user password for the user created above
Hostname arch Set the system hostname
Timezone Australia/Sydney Set your country timezone, must have the following format: Zone/SubZone
Reflector Country Australia This sets the country to be used by the reflector script.
Reflector is a Python script which can retrieve the most up-to-date package mirrors
See Reflector Country List for valid entires

Partitions

Name Type Mountpoint Size
sda1 disk
├─sda1 part /boot 300M / Set custom via variables
├─sda2 part SWAP 16G / Set custom via variables
└─sda3 part / Remaining

Overview of Script Functions

  • Read User Input for required information
  • Update system clock
  • Apply country mirrors via reflector
  • Sync package database
  • Create partition tables
  • Format / partition and Mount it
  • Format /boot partition
  • Enable swap
  • Install Arch Linux
  • Generate fstab
  • Configure new system
    • Set Time Zone
    • Set locales
    • Set hostname
    • Set root password
    • Create new user
    • Enable DHCP (dhcpcd)
    • Enable NetworkManager
    • Enable Open VM Tools
    • Enable OpenSSH
    • Add user as a sudoer
    • Install GRUB Bootloader
    • Generate Hosts File
  • Unmount Partions
  • Arch Linux is ready

Post install script (post-install)

Overview of Script Functions

  • Read User Input for required information and optional tasks
  • Sync package database
  • reflector - Install and configure mirrors for country set in variable
  • "Optional" UFW (Uncomplicated Firewall)
  • Install common apps: git, htop, p7zip, ripgrep, unzip, unrar
  • "Optional" Install yay (AUR helper)
  • Ricing bash
  • "Optional" Install Zsh and Oh My Zsh
  • Create user folders (xdg-user-dirs)
  • Fonts

User Read Input

Value Example/Default Comment
User Password MyPassword The non-root user password is required for SUDO
Reflector Country Australia This sets the country to be used by the reflector script.
Reflector is a Python script which can retrieve the most up-to-date package mirrors
See Reflector Country List for valid entires
ufw "Optional" "Y" / N "UFW" (Uncomplicated Firewall), Optional Installation
yay "Optional" "Y" / N "yay" AUR Helper, Optional Installation
zsh "Optional" "Y" / N "Zsh" along with "Oh My Zsh", Optional Installation


Installation Guide

  1. Download and boot into the latest Arch Linux iso
  2. Connect to the internet. Assuming the use of DHCP, in which case this should be automatically done.
  3. Sync repos: pacman -Sy and install wget pacman -S wget
  4. wget -O install https://git.io/JLyzt - VM Install
  5. wget -O install https://git.io/JBNxW - XPS Install
  6. Make the script executable: chmod +x install
  7. Run the script: ./install
  8. Shutdown and unmount boot Arch Linux ISO.
  9. Boot into your new install of Arch Linux
  10. Login as non root user
  11. Clone the Arch Auto Install Scripts: git clone https://github.com/BashTux1/arch-auto-install.git
  12. Change into the dir: cd arch-auto-install/
  13. Make the scripts executable: chmod +x *
  14. Run post-install script: ./post-install
  15. Optionally, chose a Desktop Environment to install by running the required script.
  16. Optionally, setup a Static IP by running nmtui (Network Manager Text User Interface)

Reflector Country List

Country Country Code
Australia AU
Austria AT
Bangladesh BD
Belarus BY
Belgium BE
Bosnia and Herzegovina BA
Brazil BR
Bulgaria BG
Canada CA
Chile CL
China CN
Colombia CO
Croatia HR
Czechia CZ
Denmark DK
Ecuador EC
Finland FI
France FR
Georgia GE
Germany DE
Greece GR
Hong Kong HK
Hungary HU
Iceland IS
India IN
Indonesia ID
Iran IR
Ireland IE
Israel IL
Italy IT
Japan JP
Kazakhstan KZ
Kenya KE
Latvia LV
Lithuania LT
Luxembourg LU
Netherlands NL
New Caledonia NC
New Zealand NZ
North Macedonia MK
Norway NO
Pakistan PK
Paraguay PY
Philippines PH
Poland PL
Portugal PT
Romania RO
Russia RU
Serbia RS
Singapore SG
Slovakia SK
Slovenia SI
South Africa ZA
South Korea KR
Spain ES
Sweden SE
Switzerland CH
Taiwan TW
Thailand TH
Turkey TR
Ukraine UA
United Kingdom GB
United States US
Vietnam VN

About

Simple Arch Linux Install Scripts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages