Dotfiles and installation scripts for an Arch Linux desktop using Hyprland.
| Area | Tools |
|---|---|
| Audio | PipeWire, WirePlumber |
| Development | Neovim |
| Desktop | Hyprland, Mako, Quickshell, Rofi, Voxtype, Waybar |
| Files and media | imv, Yazi |
| Network | NetworkManager, nmtui |
| Session | cliphist, Hypridle, Hyprlock, Hyprshot, Slurp, wf-recorder, wl-clipboard |
| System | Btrfs, fwupd, Intel LPMD, scx_lavd, systemd-boot, thermald, TLP, UKI, zram |
| Terminal | Fish, Ghostty, tmux |
Read our installation guide for hardware assumptions, USB preparation, installer details, verification, and recovery. The installer erases the selected disk after confirmation and uses Btrfs with systemd-boot; disk encryption and Secure Boot are not configured.
Boot the official Arch installation USB in UEFI mode, connect to the internet, and run:
pacman -Sy --needed git tmux
tmux
git clone --depth 1 https://github.com/petobens/dotfiles.git /tmp/dotfiles
cd /tmp/dotfiles
./setup/install_arch.shThe installer prompts for the target disk and user settings, then installs
Arch and clones the repository's default branch into
~/git-repos/private/dotfiles.
After installation, unmount before rebooting:
umount -R /mnt
rebootOn an Arch host, install QEMU and OVMF:
sudo pacman -S --needed qemu-desktop edk2-ovmfThen use the disposable VM to test the complete Arch and dotfiles installation before running it on physical hardware:
./setup/vm/vm.shSee setup/vm/README.md for installation, reset, and SSH instructions.
From the repository on the installed system, run:
cd ~/git-repos/private/dotfiles
tmux
./setup/install.sh
sudo rebootThe script installs the packages, applies the system and application defaults, and creates the dotfile symlinks.
Verify the finished installation after rebooting with:
system_reportUse system_report --sudo to include protected boot, Btrfs, Snapper, firewall,
and SSH checks. Run system_report --help for all options.
bin/: command-line scriptsconfig/: application, home, and development-tool configurationdocs/: installation, verification, recovery, and desktop screenshotshypr/: Hyprland configuration and desktop helpersnvim/: Neovim configurationsetup/: package lists, installation, sync and symlink scripts, udev rules, and the disposable QEMU test machinetypst/: reusable local document packages and templates
