# archinstall
Just another guided/automated [Arch Linux](https://wiki.archlinux.org/index.php/Arch_Linux) installer.
Pre-built ISO's can be found here which autostarts this script *(in guided mode)*: https://hvornum.se/archiso/
# How-to / Usecases
## Run on Live-CD (Binary)
# wget https://gzip.app/archinstall
# chmod +x archinstall; ./archinstall
## Run on Live-CD (Python):
# wget https://raw.githubusercontent.com/Torxed/archinstall/master/archinstall.py
# pacman -S --noconfirm python; python archinstall.py
This will start a guided install.
Add `--default` for a unattended minimalistic installation of Arch Linux.
> **Creating your own ISO:** Follow [ArchISO](https://wiki.archlinux.org/index.php/archiso)'s guide on how to create your own ISO or use a pre-built [guided ISO](https://hvornum.se/archiso/) to skip the python installation step, or to create auto-installing ISO templates. Further down are examples and cheat sheets on how to create different live ISO's.
# Features
* User guided install of Arch Linux *(Like most other distros have)*
* `AUR` package support.
* Unattended install of Arch Linux
* Profile / Template based installs
* Full disk encryption, locale/region settings and customizable application selection
* YubiKey support for disk and root password *(TBD / next release)*
* Supports offline-installation of Arch Linux
* Never creates or leave post-install/service scripts *(usually used to finalize databases etc)*
**Default Installation Contains:** Encrypts drive, btrfs filesystem, `linux` kernel, nano, wpa_supplicant *(and dialog)*
# Examples:
* `./archinstall --profile=workstation --drive=/dev/sda` - Installs the [workstation](https://github.com/Torxed/archinstall/blob/master/deployments/workstation.json) template on the drive `/dev/sda`
# [Build a Arch Linux ISO to autorun archinstall](https://github.com/Torxed/archinstall/wiki/Autorun-on-Arch-Live-CD)
More options for the built ISO:
### [Unattended install of a profile](https://github.com/Torxed/archinstall/wiki/Unattended-install-of-a-profile)
### [User guided install (DEFAULT)](https://github.com/Torxed/archinstall/wiki/User-guided-installation-(DEFAULT))
### [Custom web-server for deployment profiles](https://github.com/Torxed/archinstall/wiki/Custom-web-server-for-deployment-profiles)
### [Rerunning the installation](https://github.com/Torxed/archinstall/wiki/Rerunning-the-installation)
# Some parameters you can give it
--drive=
Which drive to install arch on, if absent, the first disk under /dev/ is used
--size=100% (Default)
Sets the size of the root filesystem (btrfs)
--start=513MiB (Default)
Sets the starting location of the root partition
(TODO: /boot will take up space from 1MiB - , make sure boot is no larger than 513MiB)
--password=0000 (Default)
Which disk password to use,
--password="" for prompt of password
--password="" for setting a unique password on the YubiKey and use that as a password
(NOTE: This will wipe/replace slot 1 on the YubiKey)
--aur-support (default)
--pwfile=/tmp/diskpw (Default)
Which file to store the disk encryption password while sending it to cryptsetup
--hostname=Arcinstall (Default)
Sets the hostname of the box
--country=SE (Default)
Default mirror allocation for fetching packages.
--packages='' (Default)
Which additional packages to install, defaults to none.
(Space separated as it's passed unchanged to `pacstrap`
--user=
Adds an additional username to the system (default group Wheel)
--post=reboot (Default)
After a successful install, reboots into the system. Use --post=stay to not reboot.
--default
This parameter causes the installation script to install arch unattended on the first disk
--profile=
For instance, --profile=workstation will install the workstation profile.
--profiles-path=https://example.com/profiles
Changes the default path the script looks for deployment profiles.
The default path is 'https://raw.githubusercontent.com/Torxed/archinstall/master/deployments'
--rerun="Name of step in profile"
Enables you to skip the format, encryption and base install steps.
And head straight for a step in the profile specified.
(Useful for debugging a step in your profile)
--localtime="Europe/Stockholm" (Default if --country=SE, otherwise GMT+0)
Specify a localtime you're used to.
Deployment profile structs support all the above parameters and more, for instance, custom arguments with string formatting.
See [deployments/workstation.json](https://github.com/Torxed/archinstall/blob/net-deploy/deployments/workstation.json) for examples.
# Contact
IRC: `#archinstall@FreeNode`
## End note
![description](description.jpg)