- LVM on LUKS
- LUKS2
- systemd-boot (with Pacman hook for automatic updates)
- Automatic login (with systemd)
- SSD Periodic TRIM
- Intel microcode
- Automatic sort of mirrors list by speed, synced within the last 12 hours and filtered by HTTPS protocol (Reflector with Pacman hook)
- UEFI mode
- NVMe SSD
- TRIM compatible SSD
- Intel CPU
See 'Detailed installation guide' below for further details
- Increase cowspace partition so that git can be downloaded without before chroot:
mount -o remount,size=2G /run/archiso/cowspace
- Install git:
pacman -Sy git
- Clone repository:
git clone https://github.com/exah-io/minimal-arch-linux.git
- Run install script:
bash minimal-arch-linux/1_arch_install.sh
- UFW (deny incoming, allow outgoing)
- TLP (default settings)
- swaywm:
- autostart on tty1
- waybar: onclick pavucontrol (volume control) and nmtui (ncli network manager)
- swayidle and swaylock: automatic sleep and lock
- Alacritty terminal
- rofi as application launcher
- slurp and grim for screenshots
- zsh:
- powerlevel9k theme
- History
- Load NVM on first invocation
Force wayland for QT applicationsdisabled due to incompatibility with keepassxcForce wayland for GTK applicationsdisabled due to electron apps incompatibility (code oss)
- GTK theme and icons: Qogir
- Other applications: firefox, keepassxc, git, openssh, vim, alacritty, thunar (with USB automonting), NVM (with node.js LTS), tumbler, evince, gimp, inkscape, thunderbird, upower, htop, code oss, nnn
Name | Type | Mountpoint |
---|---|---|
nvme0n1 | disk | |
├─nvme0n1p1 | part | /boot |
├─nvme0n1p2 | part | |
└─cryptoVols | crypt | |
├─Arch-swap | lvm | [SWAP] |
└─Arch-root | lvm | / |
- Download and boot into the latest Arch Linux iso
- Connect to the internet. If using wifi, you can use wifi-menu
- Clear all existing partitions (see MISC section below)
- wget 1_arch_install.sh
- Change the variables at the top of the file
- continent_country must have the following format: Continent/City . e.g. Europe/Berlin
- Enable the closest mirror to you on /etc/pacman.d/mirrorlist (move it to the top)
- Make the script executable: chmod +x 1_arch_install.sh
- Run the script: ./1_arch_install.sh
- Reboot
- wget 2_arch_post_install.sh
- Make the script executable: chmod +x 2_arch_post_install.sh
- Run the script: ./2_arch_post_install.sh
gdisk /dev/nvme0n1
x
z
w
- Search for @tag:usesOnlineServices in VSCode settings and disable online services
git config --global user.email "github external email"
git config --global user.name "username"
ssh-keygen -t rsa -b 4096 -C "[email protected]"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
copy SSH key and add to Github (eg. mousepad ~/.ssh/id_rsa.pub and copy content)
mkdir -p /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot
cryptsetup luksOpen /dev/nvme0n1p2 cryptoVols
mount /dev/mapper/Arch-root /mnt
arch-chroot /mnt
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
yes | makepkg -si
cd ..
rm -rf yay-bin
- Ricing: First rice on my super old MacBook Air! on Reddit