Dave's Arch System helper/install tool is a Bash script that automates the steps in the Arch Linux installation guide.
Download and run the latest version from GitHub Releases:
curl -L https://github.com/dshoreman/dashit/releases/latest/download/dashit -o dashit && chmod +x $_
./dashit --helpAlternatively, modify this example script to your needs for a more complete install:
#!/usr/bin/env bash
export DASHIT_ENVIRONMENTS="i3"
export DASHIT_TERMINALS="alacritty"
export DASHIT_BROWSERS="firefox,vivaldi"
export DASHIT_FF_LOCALE="en-gb"
export DASHIT_EXTRA_UTILS="yes"
curl -L https://github.com/dshoreman/dashit/releases/latest/download/dashit -o dashit
chmod +x "$_" && ./dashit -d /dev/nvme0n1 -vWhen you run dashit, you'll be presented with a menu where you can:
-
Partition and format disk
Provisions a disk, creating a small ESP formatted as FAT32, with remaining space used for the main btrfs partition.
-
Create btrfs subvolumes
Mounts the main btrfs data partition and creates 5 subvolumes:
@,@home,@varlog,@snapshotsand@vbox.By default, the partition will be mounted to /mnt. If it's not empty, you'll be prompted for a different mountpoint.
Once the subvolumes have been created, the partition is unmounted. -
Prepare host system
Updates the host after enabling Pacman's parallel downloads feature, and installs
arch-install-scripts.
Once done, the latest mirrors are fetched from archlinux.org and written to /etc/pacman.d/mirrorlist. -
Install Arch Linux
Enters the installation submenu.
Configure microcode, hostname and username with the numbered options then press
iorIto install.Interactive mode (
i) assumes you have already ran steps 1-3 from the main menu; use unattended mode (I) to have them autorun. In both cases, your user is created without a password, so you need to set it on first login.Once install has completed and you're back at the menu, press
rto unmount all the subvolumes and reboot.
Several variables are available to predefine packages for install, where most accept a comma- or space-separated list:
Installing i3 will also install needed xorg packages. Installing any of the KDEs will include plasma-wayland-session.
i3will install i3 (Gaps variant) with Polybar (and its scripts), Picom, Redshift, Rofi and Dunst.kdewill install the Plasma metapackage.kde-fullwill install the Plasma metapackage and all additional applications.kde-minimalwill install the Plasma desktop package only.swaywill install Sway with Waybar, Bemenu and Dunst.
Setting this to any non-empty value will install bat, fd, fzf, lsof, mtr, pv, ripgrep, tree and rsync.
Adds p7zip, unrar and unzip to the list of packages when set to a non-empty value.
DASHit supports about 40 different browser packages. Most are set by lowercase name, with some exceptions:
- Brave, Dot, Icecat, Librewolf and Waterfox (current, g3 or classic) should be set without the
-binsuffix. - Firefox packages have
-18n-$DASHIT_FF_LOCALEappended if it's set. - Firefox Developer Edition can be shortened to
firefox-dev. - The
torbrowser-launcherpackage is also aliased totorandtorbrowser. - Google Chrome packages should be installed with
chrome,chrome-betaorchrome-dev.
If the dotfiles repo is set, DASHit will automatically clone it to the specified branch. If branch isn't set, master is used.
This can be used to change the target path for your dotfiles repo.
The path is relative to your homedir. If it's not set, .files is the default (equivalent to $HOME/.files).
Sets the locale (e.g. en-gb) to use for Firefox packages. See DASHIT_BROWSERS.