4.2 KiB
4.2 KiB
System Setup Guide
Complete guide for Arch Linux installation and system configuration.
Initial Installation
Pre-installation
- Boot from Arch ISO
- Verify boot mode:
ls /sys/firmware/efi/efivars - Connect to internet:
iwctlfor WiFi - Update system clock:
timedatectl set-ntp true
Disk Preparation
- List disks:
fdisk -l - Partition the disk:
cfdisk /dev/sdX- EFI partition: 512M, type EFI System
- Root partition: remaining space, type Linux filesystem
- Format partitions:
mkfs.fat -F32 /dev/sdX1 # EFI mkfs.ext4 /dev/sdX2 # Root - Mount filesystems:
mount /dev/sdX2 /mnt mkdir /mnt/boot mount /dev/sdX1 /mnt/boot
Current partition setup is a quite fragmented leftover from my dual-booting days. Later we should wipe the leftover Windows drive for extra storage, but first we should confirm there's no essential files there (unlikely since it wasn't booted for months, mostly using other windows PC)
System Installation
- Install base packages:
pacstrap /mnt base linux linux-firmware - Generate fstab:
genfstab -U /mnt >> /mnt/etc/fstab - Chroot:
arch-chroot /mnt - Set timezone:
ln -sf /usr/share/zoneinfo/Europe/Budapest /etc/localtime - Generate hardware clock:
hwclock --systohc - Configure locale:
- Edit
/etc/locale.gen, uncommenten_US.UTF-8 UTF-8 - Run:
locale-gen - Create
/etc/locale.conf:LANG=en_US.UTF-8
- Edit
- Set hostname:
echo "homelab" > /etc/hostname - Configure hosts file
- Set root password:
passwd - Install bootloader:
pacman -S grub efibootmgr - Install GRUB:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB - Generate config:
grub-mkconfig -o /boot/grub/grub.cfg
Post-Installation Setup
User Management
# Create user
useradd -m -G wheel -s /bin/bash hoborg
passwd hoborg
# Configure sudo
pacman -S sudo
visudo # Uncomment %wheel ALL=(ALL) ALL
Essential Packages
pacman -S git base-devel openssh networkmanager
systemctl enable NetworkManager
systemctl enable sshd
AUR Access
# Install yay AUR helper
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Desktop Environment
XFCE Installation
pacman -S xfce4 xfce4-goodies lightdm lightdm-gtk-greeter
systemctl enable lightdm
Themes and Appearance
- Window Manager Theme: Matcha-dark-aliz
- Icons: Papirus-Maia
- Fonts:
- System: Install Nerd Fonts (
ttf-iosevkaterm-nerd ttf-jetbrains-mono-nerd) - TTY: ter-124b (12x24 bold)
- System: Install Nerd Fonts (
Development Environment
Dotfiles Management
# Install yadm
pacman -S yadm
# Clone dotfiles
yadm clone git@gitlab.com:akrejczinger/dotfiles.git
Shell Configuration
- Shell: zsh with antidote plugin manager
- Terminal: wezterm with Catppuccin theme
- Multiplexer: tmux with catppuccin theme and temperature monitoring
- Editor: neovim with lazy.nvim plugin manager
Key Configurations
- Keyboard Layout: Colemak (US variant in X11)
- TTY Layout: Colemak with caps lock → backspace via systemd service
- Font Fallbacks: Noto fonts for Unicode support
TTY Configuration
Font and Layout
# Configure /etc/vconsole.conf
KEYMAP=colemak
FONT=ter-124b
FONT_MAP=8859-1
Caps Lock Fix
Caps lock mapped to backspace via systemd service:
# /etc/systemd/system/caps-backspace.service
sudo setkeycodes 3a 14 # Map caps scancode to backspace keycode
Color Scheme
TTY colors configured in .zshrc for better readability.
System Maintenance
Package Management
- Regular updates:
yay -Syu - Orphaned packages:
yay -Yc - Cache cleanup:
yay -Sc
Backup Strategy
- Dotfiles: yadm + git repository
- System configs: Document in this guide
- User data: External backup solution
Hardware-Specific Notes
ThinkPad Optimizations
- Temperature Monitoring: Available via
sensorscommand - Battery Management: TLP for power optimization
- Trackpad: libinput with natural scrolling
- Function Keys: Media keys work out of box
Network Configuration
- WiFi: NetworkManager with GUI applet
- Ethernet: Automatic DHCP
- Bluetooth: bluez with pulseaudio integration