My personal Arch Linux + Hyprland setup: configs, wallpapers, scripts and an install script that rebuilds the whole thing on a new machine.
It is written for my own machines. You are welcome to browse it and take any part you like: a config, a script, a wallpaper, or the whole setup.
| Path | Contents |
|---|---|
home/.config/ |
Configs, linked into ~/.config with GNU Stow |
scripts/ |
wallpaper.sh (wallpaper picker + pywal colors), writing.sh (open a writing project in nvim) |
wallpapers/ |
Wallpapers used by wallpaper.sh |
pkglist.txt |
Packages from the official Arch repos |
aurlist.txt |
Packages from the AUR |
install.sh |
Installs everything on a fresh Arch system |
Main pieces: Hyprland, waybar, rofi, dunst, kitty, zsh with starship, neovim (with vimtex and LaTeX for writing), zathura, yazi, qutebrowser, newsraft. Colors everywhere follow the wallpaper through pywal.
Pick these, leave the rest as you like:
- Profile: Minimal. No desktop is needed, the script installs Hyprland and everything else.
- User: create your user and make it a superuser (sudo).
- Network: NetworkManager.
- Bootloader, disk, locale, keyboard, timezone: your choice.
Reboot, log in on the console as your user and get online
(nmtui for Wi-Fi). Then:
curl -O https://codeberg.org/offluencer/dotfiles/raw/branch/main/install.sh
bash install.shRun it as your normal user, not as root. It asks for your sudo password. It is safe to run again if something fails halfway.
- Reboot, choose Hyprland in the ly login screen and log in.
- Press
SUPER + Wonce to pick a wallpaper. This also generates the colors. - Open
nvimonce and wait while Mason installs the language servers.
- Installs the packages from
pkglist.txtandaurlist.txt(buildsyayfirst). - Clones this repo to
~/dotfilesand links the configs with Stow. Existing files that are in the way are moved to~/config-backup-<date>. - Runs pywal once so waybar, rofi, zathura, dunst and GTK have colors.
- Sets zsh as the shell, writes
/etc/zsh/zshenv, adds the user to theseatandwheelgroups. - Enables NetworkManager, bluetooth, cups, power-profiles-daemon, seatd, time sync, fstrim and the ly login manager.
- Installs the neovim plugins at the versions pinned in
lazy-lock.json.
At the end it lists anything that failed.
- The repo has to live in
~/dotfiles. Some paths depend on it. home/.config/git/configcontains my name and email. Change them.install.shclones my repo. If you fork it, changeREPO_URLat the top.- The package list includes Intel, AMD and Nvidia open drivers, so it is not tied to my hardware.
- Arch is a rolling release, so you get current package versions, not the exact ones I had.
- The install script has not been tested on a fresh install yet. Try it in a virtual machine first (archinstall, Minimal profile, then the two commands above) and read it before you run it.
Things that are private and stay out of a public repo: SSH keys, logins, saved Wi-Fi networks and my writing. I restore those from my own backups.
cd ~/dotfiles
pacman -Qqen > pkglist.txt && pacman -Qqem > aurlist.txt
git add -A && git commit -m "Update" && git pushThe wallpapers are images I collected. I did not make them, and the rights belong to their authors. If one is yours and you want it removed, open an issue.