WARNING: Running install.sh with delete all data in nvme0n1 and nvme1n1 (if using RAID0) without confirmation.
- Unified kernel image (standard + LTS kernels)
- Measured boot
- Secure boot with custom keys
- LUKS automatic unlock with TPM
- systemd-boot
- zram
- Single disk or RAID0 support
- nftables
- Paru (AUR helper)
- AppArmor + AppArmor.d profiles (complain mode by default)
- ZSH
- Plasma / Gnome / Sway
- Steam / Heroic / Bottles
- And a lot more. Code is documented and somewhat modular
- UEFI
- NVMe SSD
- Single GPU (Intel or Radeon)
- TPM2
Name | Type | FS Type | Mountpoint | Size |
---|---|---|---|---|
nvme0n1 | disk | |||
├─nvme0n1p1 | part | FAT32 | /boot | 1GiB |
├─nvme0n1p2 | part | LUKS2 | ||
├──system | crypt | EXT4 | / | Rest of disk |
- Disable secure boot and delete secure boot keys (automatically enters setup mode)
- Boot into Arch Linux ISO
- Connect to the internet. If using wifi, you can use
iwctl
to connect to a network:- scan for networks:
station wlan0 scan
- list available networks:
station wlan0 get-networks
- connect to a network:
station wlan0 connect SSID
- scan for networks:
- Update repos and install git:
pacman -Sy git
- (if previous step fails) Init and populate keyring:
pacman-key --init && pacman-key --populate
- Clone repo:
git clone https://github.com/gjpin/arch-linux.git
- Run script:
cd arch-linux && ./install.sh
- Reboot and enable secure boot
- Enroll LUKS key in TPM2:
sudo systemd-cryptenroll --tpm2-pcrs=0+7 --tpm2-device=auto /dev/md/ArchArray (if RAID0) OR /dev/nvme0n1p2
- Re-configure p10k:
p10k configure
- Install Flatpak and applications:
curl -LO https://raw.githubusercontent.com/gjpin/arch-linux/main/flatpak.sh
chmod +x flatpak.sh
./flatpak.sh
rm -f flatpak.sh
- Install AppArmor.d profiles
# AppArmor.d profiles are installed in complain mode, by default. See https://apparmor.pujol.io/enforce/
# Install AppArmor.d profiles
paru -S --noconfirm apparmor.d-git
# Configure AppArmor.d
sudo mkdir -p /etc/apparmor.d/tunables/xdg-user-dirs.d/apparmor.d.d
sudo tee /etc/apparmor.d/tunables/xdg-user-dirs.d/apparmor.d.d/local << 'EOF'
@{XDG_PROJECTS_DIR}+="Projects" ".devtools"
@{XDG_GAMES_DIR}+="Games"
EOF
See HERE
See HERE