HyprLite
Hyprland dotfiles for Arch Linux. Colors for the whole desktop are generated from the wallpaper by matugen.
Packages
Package names are from the Arch repos. Anything marked (AUR) needs an AUR helper such as paru or yay.
Compositor & session
| Package |
Used for |
hyprland |
Compositor (Lua config, tested on 0.56.2) |
uwsm |
Session manager |
hypridle |
Idle handling |
hyprlock |
Lock screen |
hyprpicker |
Color picker |
hyprshot |
Screenshots |
hyprshutdown |
Logout screen |
xdg-desktop-portal-hyprland |
Portal |
xdg-desktop-portal-gtk |
Fallback portal |
xdg-desktop-portal-kde |
File chooser |
polkit-kde-agent |
Polkit agent |
qt5-wayland, qt6-wayland |
Qt on Wayland |
xdg-terminal-exec |
Default terminal |
archlinux-xdg-menu |
KDE app menu |
Desktop shell
| Package |
Used for |
waybar |
Bar (I use waybar-git (AUR)) |
swaync |
Notifications |
swayosd |
Volume/brightness OSD |
awww |
Wallpaper |
matugen |
Color generation |
rofi |
Launcher |
cliphist, wl-clipboard |
Clipboard history |
swappy |
Screenshot editing |
playerctl |
Media keys |
brightnessctl |
Idle dimming |
libnotify |
Battery warnings |
power-profiles-daemon |
Power profiles |
Applications
| Package |
Used for |
kitty |
Terminal |
dolphin |
File manager |
yazi |
Terminal file manager |
trash-cli |
Yazi recycle bin |
firefox |
Browser |
btop |
System monitor |
starship |
Prompt |
neovim |
Editor |
impala |
Wi-Fi TUI |
bluetui |
Bluetooth TUI |
wiremix |
Audio mixer TUI |
mullvad-vpn |
VPN |
System services
| Package |
Used for |
pipewire, pipewire-pulse, wireplumber |
Audio |
networkmanager, iwd |
Networking |
bluez, bluez-utils |
Bluetooth |
fprintd |
Fingerprint unlock (optional) |
Theming
| Package |
Used for |
adw-gtk-theme |
GTK theme |
nwg-look |
GTK settings |
papirus-icon-theme |
Icons |
papirus-folders-git (AUR) |
Folder colors |
qt5ct-kde, qt6ct-kde (AUR) |
Qt theming |
darkly-bin (AUR) |
Qt style |
Fonts
| Package |
Used for |
ttf-jetbrains-mono-nerd |
Main font |
ttf-nerd-fonts-symbols-mono |
Bar icons |
noto-fonts |
UI font |
Install everything
sudo pacman -S --needed \
hyprland uwsm hypridle hyprlock hyprpicker hyprshot hyprshutdown \
xdg-desktop-portal-hyprland xdg-desktop-portal-gtk xdg-desktop-portal-kde \
polkit-kde-agent qt5-wayland qt6-wayland xdg-terminal-exec archlinux-xdg-menu \
waybar swaync swayosd awww matugen rofi cliphist wl-clipboard swappy \
playerctl brightnessctl libnotify power-profiles-daemon \
kitty dolphin yazi trash-cli firefox btop starship neovim \
impala bluetui wiremix mullvad-vpn \
pipewire pipewire-pulse wireplumber networkmanager iwd bluez bluez-utils fprintd \
adw-gtk-theme nwg-look papirus-icon-theme \
ttf-jetbrains-mono-nerd ttf-nerd-fonts-symbols-mono noto-fonts
paru -S --needed papirus-folders-git qt5ct-kde qt6ct-kde darkly-bin
Setup notes
- Enable the services:
sudo systemctl enable --now NetworkManager bluetooth power-profiles-daemon.
- To use iwd as NetworkManager's Wi-Fi backend, create
/etc/NetworkManager/conf.d/wifi_backend.conf containing [device] and wifi.backend=iwd.
- The yazi
recycle-bin plugin is already in the repo. Run ya pkg upgrade to update it.
- Firefox only loads
userChrome.css after you set toolkit.legacyUserProfileCustomizations.stylesheets to true in about:config.
- Run
matugen image /path/to/wallpaper once after installing. It creates the colors.* files that Hyprland, Waybar, rofi, kitty and the other apps import. Those files are gitignored, so none of them exist until matugen runs.