650b0435a52885f01440ce0338f5552ba7a2fc32
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.
-
Boot from Arch ISO
-
Connect to the internet
iwctldevice list- Assume device name is
wlan0
- Assume device name is
- If device or adapter is off
device name set-property Powered onadapter adapter set-property Powered on
station wlan0 scanstation wlan0 get-networksstation wlan0 connect YOUR_SSID
-
Update the system clock
timedatectl
-
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
- EFI System Partition (ESP):
- 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)
-
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
-
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.
-
Generate fstab (file system table)
genfstab -U /mnt >> /mnt/etc/fstab- Verify fstab:
cat /mnt/etc/fstab
-
Chroot into the new System
arch-chroot /mnt
-
Localization
ln -sf /usr/share/zoneinfo/Region/City /etc/localtimehwclock --systohc- Edit
/etc/locale.genand uncomment your locale, e.g.,en_US.UTF-8 UTF-8 locale-genecho "LANG=en_US.UTF-8" > /etc/locale.conf- Edit Hostname:
echo "myhostname" > /etc/hostname
-
Initramfs
mkinitcpio -P
-
Set root password
passwd
-
Bootloader
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUBgrub-mkconfig -o /boot/grub/grub.cfg
-
Enable essential services
systemctl enable NetworkManager
-
Exit chroot and unmount
exitumount -R /mntswapoff -a
Description
Languages
Shell
100%