Files
ArchSetupScripts/README.md
Till Dieminger cbc1c6dd61 Init
2025-08-31 21:32:04 +02:00

89 lines
2.9 KiB
Markdown

# 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`