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

2.9 KiB

Arch Setup Scripts

These are heavily build upon Lukes Auto-Rice Bootstrapping Scripts. 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. For encryption see here. 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
  3. Update the system clock

    • timedatectl
  4. 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)
  5. 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
  6. 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.
  7. Generate fstab (file system table)

    • genfstab -U /mnt >> /mnt/etc/fstab
    • Verify fstab: cat /mnt/etc/fstab
  8. Chroot into the new System

    • arch-chroot /mnt
  9. 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
  10. Initramfs

    • mkinitcpio -P
  11. Set root password

    • passwd
  12. Bootloader

    • grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
    • grub-mkconfig -o /boot/grub/grub.cfg
  13. Enable essential services

    • systemctl enable NetworkManager
  14. Exit chroot and unmount

    • exit
    • umount -R /mnt
    • swapoff -a