# Arch Setup Scripts These are heavily build upon [Lukes Auto-Rice Bootstrapping Scripts](https://github.com/LukeSmithxyz/LARBS). I prefer to have them fully CLI and minimal. For this to actually work, the dotfiles need to contain all the nessecary stuff to start dwm, and a few other things. ### Minimal Arch Install Guide Super barebones install, just ot get stuff running fast, mostly summary of [the wiki](https://wiki.archlinux.org/title/Installation_guide). For encryption see [here](https://git.bocken.org/Alexander/mykb/src/branch/master/docs/luks2.md). For other fancy stuff see the Arch Wiki. 1. Boot from Arch ISO 2. Connect to the internet - `iwctl` - `device list` - Assume device name is `wlan0` - If device or adapter is off - `device name set-property Powered on` - `adapter adapter set-property Powered on` - `station wlan0 scan` - `station wlan0 get-networks` - `station wlan0 connect YOUR_SSID` 2. Update the system clock - `timedatectl` 3. Partition the disks (lets assume `/dev/nvme0n1`) - `fdisk /dev/nvme0n1` - Create a new GPT partition table: `g` - Create new partitions: - EFI System Partition (ESP): `n`, `+1G` - SWAP Partition: `n`, `+16G` (or whatever you want) - Root Partition: `n`, `+100G` (or whatever you want) - Home Partition: `n`, (rest of the space) - Write changes: `w` - Verify partitions: `lsblk` - Format the partitions: - `mkfs.fat -F32 /dev/nvme0n1p1` (ESP) - `mkswap /dev/nvme0n1p2` (SWAP) - `mkfs.ext4 /dev/nvme0n1p3` (Root) - `mkfs.ext4 /dev/nvme0n1p4` (Home) 4. Mount the file systems - `mount /dev/nvme0n1p3 /mnt` (Mount root) - `mount --mkdir /dev/nvme0n1p1 /mnt/boot` (Mount ESP) - `mount --mkdir /dev/nvme0n1p4 /mnt/home` (Mount home) - `swapon /dev/nvme0n1p2` (Enable SWAP) - Verify mounts: `lsblk` 5. Install essential packages - `pacstrap -K /mnt base linux linux-firmware base-devel vim networkmanager efibootmgr grub` - You can add other packages you want here, like `git`, `curl`, etc. 6. Generate fstab (file system table) - `genfstab -U /mnt >> /mnt/etc/fstab` - Verify fstab: `cat /mnt/etc/fstab` 7. Chroot into the new System - `arch-chroot /mnt` 8. Localization - `ln -sf /usr/share/zoneinfo/Region/City /etc/localtime` - `hwclock --systohc` - Edit `/etc/locale.gen` and uncomment your locale, e.g., `en_US.UTF-8 UTF-8` - `locale-gen` - `echo "LANG=en_US.UTF-8" > /etc/locale.conf` - Edit Hostname: `echo "myhostname" > /etc/hostname` 9. Initramfs - `mkinitcpio -P` 10. Set root password - `passwd` 11. Bootloader - `grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB` - `grub-mkconfig -o /boot/grub/grub.cfg` 12. Enable essential services - `systemctl enable NetworkManager` 13. Exit chroot and unmount - `exit` - `umount -R /mnt` - `swapoff -a`