Hyprforge

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.

Step 1What you need

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.

Step 2Get the source

Each piece is a submodule, so clone with them included.

$ git clone --recurse-submodules \
    https://github.com/hyprforge-suite/hyprforge
$ cd hyprforge
Step 3Install

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
Step 4Set up

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
Arch LinuxPackages

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
OptionalExtras

Each of these switches on one part of the suite. If one is missing, that part tells you so. Nothing crashes.

InstallAnd you get
NetworkManagerWi-Fi in Settings and the tray, and on the lock screen
BlueZBluetooth in Settings and the tray
UPower, power-profiles-daemonBattery and power profiles
fprintdFingerprint unlock
UDisks2, gvfsDrives, phones, cameras and network shares in Files
mpv, ffmpegVideo playback and video thumbnails
greetdThe login screen
fcitx5An input method at login
One more thingThe login screen

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.