Install
Installing Hyprforge.
It takes four steps. One command does the building and copying, then offers to wire each piece into your desktop. It asks before each step, keeps a record, and can undo all of it.
Hyprland 0.55 or later, with a Lua config (hyprland.lua). Hyprforge loads what it writes with require(), which only a Lua config has. If you only have a hyprland.conf, it'll tell you and point you at migrating. It never edits a .conf.
To build it you need Rust (rustup installs the right version for you) and the development files for wayland, libxkbcommon and pam.
Each piece is a submodule, so clone with them included.
$ git clone --recurse-submodules \ https://github.com/hyprforge-suite/hyprforge $ cd hyprforge
Choose pieces with flags, or take everything with --all. A dry run shows you what would happen first.
Installing and updating are the same command. It copies only what changed, checks the copy landed, and restarts a running service whose program it just replaced.
# look first $ ./hyprforge --install --all --dry-run # everything $ ./hyprforge --install --all # or just some of it $ ./hyprforge --install --lock --clipboard --notif
The install ends by running Set up in your terminal. It turns on the background services, binds the popups to keys, points hypridle at the lock screen, makes Files and Media your defaults, and sets up the open and save dialog. It asks about each one.
Everything it does is recorded, so it can be put back.
$ hyprforge-settings --setup --list # where things stand $ hyprforge-settings --setup --undo # put it back $ ./hyprforge --status # what's installed
On Arch you can build separate packages from the same checkout and install only the ones you want. The background services are switched on for every user through systemd presets, and nothing in your own config is written as root.
$ cd packaging/arch $ makepkg -si
- hyprforge all of it
- hyprforge-settings
- hyprforge-files
- hyprforge-media
- hyprforge-lock
- hyprforge-greet
- hyprforge-notif
- hyprforge-clipboard
- hyprforge-emojimenu
- hyprforge-tray
- hyprforge-displayd
- hyprforge-polkit
- hyprforge-procman
Each of these switches on one part of the suite. If one is missing, that part tells you so. Nothing crashes.
| Install | And you get |
|---|---|
| NetworkManager | Wi-Fi in Settings and the tray, and on the lock screen |
| BlueZ | Bluetooth in Settings and the tray |
| UPower, power-profiles-daemon | Battery and power profiles |
| fprintd | Fingerprint unlock |
| UDisks2, gvfs | Drives, phones, cameras and network shares in Files |
| mpv, ffmpeg | Video playback and video thumbnails |
| greetd | The login screen |
| fcitx5 | An input method at login |
The login screen is the one step you finish by hand. The installer never writes /etc/greetd/config.toml or turns greetd on, because that file decides how your machine logs in. INSTALL.md walks you through it from a spare terminal, and every step up to the last can be undone.
Stuck, or found something broken? Open an issue. If you know which piece it is, its own repository is the best place.