No description
Find a file
2026-07-05 21:19:18 -07:00
.gitignore Update install scripts based on further system usage. 2023-11-19 01:11:14 -08:00
install.sh Update install to use chezmoi and aconfmgr. 2026-07-05 18:27:25 -07:00
README.md Update readme after installing on XPS 15. 2026-07-05 21:19:18 -07:00

Personal Arch Linux Install Guide

I'm using this repo to record the steps I take to install and personalize arch linux. Hopefully I can automate some of the later steps over time.

Part 1 - Installation

Generally following the steps on the arch install guide to get to a chrooted environment.

  • Verify we booted as x64 UEFI cat /sys/firmware/efi/fw_platform_size

Network

  • Check device with ip link
  • Auth wifi with iwctl station wlan0 connect $AP_NAME
  • ping archlinux.org to verify

Partitioning

Use fdisk to partition: /boot : 1G partition, type=1 (EFI), bootable (press M then a) / : remainder of the disk, default type

For /boot (/dev/sda1) call mkfs.fat -F 32 /dev/sda1

Follow the steps here to encrypt the root partition. Consider increasing the cryptographic parameters as mentions.

Mount the partitions at /mnt and /mnt/boot.

Install

Install the base: pacstrap -K /mnt base linux linux-firmware

Followed by important packages: pacstrap /mnt grub efibootmgr e2fsprogs networkmanager vim man-db man-pages texinfo sudo

Either pacstrap intel-ucode or amd-ucode for the processor. It will be automatically loaded by grub.

Part 2 - Configure

Generally follow the configure the system steps in the install guide.

genfstab -U /mnt >> /mnt/etc/fstab

arch-chroot /mnt

  • Set the time as described.

  • Set the localization as described.

  • Enable NetworkManager systemctl enable NetworkManager.service

  • Update the initramfs as described here

  • Add sd-encrypt after block in HOOKS in /etc/mkinitcpio.conf

  • Run mkinitcpio -P

  • Set the root password

  • Run bootclt install

  • Create /boot/loader/entries/arch.conf:

title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options rd.luks.name=UUID=root root=/dev/mapper/root

(Get the UUID using blkid -s UUID -o value /dev/sda2, can be inserted into vim using :r!CMD).

  • Reboot sucessfully(?) into the new system.

In the new system

Connect to wifi

  • nmcli device wifi list
  • nmcli device wifi connect --ask $SSID
  • nmcli c modify $SSID connection.autoconnect true

Create a user:

  • useradd -m -G wheel drew
  • passwd drew
  • EDITOR=vim visudo and uncomment the line starting %wheel

TODO: Install graphics driver pagckages?

Update DNS

ln -sf ../run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

systemctl enable systemd-resolved

Create a swapfile (optional)

https://wiki.archlinux.org/title/swap#Swap_file

For laptops: Check suspend method -> https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate#Changing_suspend_method

Configure hibernation: https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate#Hibernation

Set /etc/systemd/sleep.conf parameters for timed sleep/hibernate. Set /etc/systemd/logind.conf to HandleLidSwitch to SuspendThenHibernate

Part 3 - Desktop

Reboot and login as the new user.

Everything from here (packages, /etc config, services, and dotfiles) is managed declaratively by chezmoi and aconfmgr. The chezmoi dotfiles repo also carries the aconfmgr config, so applying chezmoi then aconfmgr sets up the whole system.

Prerequisite: generate an SSH key and register it with gitea (reachable via tailscale) so the dotfiles repo can be cloned over SSH:

  • ssh-keygen -t ed25519
  • Add the public key to gitea, then verify with ssh -T -p 2222 git@git.tiramisu.one

Then bootstrap with the install script:

curl -fsSL https://git.tiramisu.one/drew/arch-install/raw/branch/main/install.sh | bash

The script installs chezmoi + yay + aconfmgr, applies chezmoi (dotfiles and ~/.config/aconfmgr), then runs aconfmgr apply. aconfmgr apply is interactive: review its diffs and decline overwrites of the host-specific boot config (/etc/default/grub, /etc/fstab, /etc/hostname) — the manual chroot steps above are authoritative for those.

Part 4 - Applications

mkdir Documents/ Downloads/ Pictures/

Log into firefox w/ sync (installs bitwarden.) Set firefox to search with kagi.