My Arch Linux + Hyprland desktop, powered by HyDE (hyprdots) and configured with a Lua-based Hyprland setup.
| Area | Tool |
|---|---|
| WM | Hyprland (Lua config) |
| Shell | zsh + oh-my-zsh + powerlevel10k |
| Terminal | kitty |
| Bar | waybar |
| Launcher | rofi |
| Notifications | swaync + eww |
| Lock/logout | hyprlock / wlogout |
| Editor | Neovim (+ Zed) |
| File manager | dolphin (KDE) |
| Browser | zen-browser |
| Theme | HyDE - Graphite Mono / Graphene (nvim) |
| Wallpapers | HyDE themes + custom (Pictures/Wallpaper) |
The SUPER key is the main modifier (see .config/hypr/keybindings.lua).
Note: most of the desktop (Hyprland, waybar, rofi, dunst, themes, wallpapers, icons, GTK themes) is installed and managed by HyDE. These dotfiles layer my personal configuration on top.
A base Arch install (or EndeavourOS) is assumed. pkglist.txt already includes base, linux, linux-firmware, grub, sddm, etc.
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/paru.git
cd paru && makepkg -si# Official repos
sudo pacman -S --needed - < pkglist.txt
# AUR
paru -S --needed - < pkglist_aur.txtparu -S hyde-cli-git
Hyde-installThis sets up Hyprland, waybar, rofi, dunst, GTK/Qt themes, wallpapers and the wallbash theming engine. Select Graphite Mono (or your favourite) as the theme afterwards.
git clone https://github.com/<you>/dotfiles ~/.dotfiles
~/.dotfiles/install.shinstall.sh symlinks every home dotfile and ~/.config/* entry into place, backing up anything that already exists.
chsh -s "$(which zsh)"The configs reference CaskaydiaCove Nerd Font (kitty), JetBrainsMono Nerd Font (waybar). The first is in ~/.local/share/fonts - copy your font files there and run:
fc-cache -fv.config/hyde/hyde.confpins the active HyDE theme; the theme wallpapers (Graphite Mono+ the other installed themes) and my custom wallpapers (Pictures/Wallpaper) are tracked here.- Paths that were machine-specific have been genericized to
$HOME. - Neovim is configured with lazy.nvim (Lua config in
lua/plugins/); plugins install automatically on first launch. - Neovim LSP servers (
typescript-language-server,lua-language-server,gopls,pyright, etc.) and Treesitter parsers are not auto-installed. Install the servers via your package manager (or mason.nvim) and parsers with:TSInstall(requires thetree-sitterCLI). - Zen browser settings live in the Firefox-style profile (
~/.zen), so only the portable bits are tracked at.config/zen/user.js. To apply:ln -s ~/.config/zen/user.js ~/.zen/<profile>.Default\ \(release\)/user.js(your profile name differs). Zen Mods / custom CSS go in that profile'schrome/and are managed in-app.









