Repository navigation
Installation
Mist targets Arch / CachyOS, Hyprland 0.55+ with the Lua config (
hyprland.lua), and an NVIDIA or Mesa GPU. It is one person's daily driver: expect to read code when something does not fit your setup.
packaging/arch/PKGBUILD builds mist-shell-git: binaries in /usr/bin,
shell files in /usr/share/mist.
git clone https://github.com/wiktor-jozwiak/mist && cd mist/packaging/arch && makepkg -siThe checkout can live anywhere.
git clone https://github.com/wiktor-jozwiak/mist ~/src/mist
~/src/mist/scripts/mistd/install.sh && ~/src/mist/native/install.sh| Installed | Where |
|---|---|
mist-ui-bin, mist-wall-bin, mist-comp
|
~/.local/bin |
the guard mist-ui (first run only) |
~/.local/bin |
mistd (backends) |
scripts/bin/mistd in the checkout |
| a link to the checkout | ~/.local/share/mist/shell |
Running native/install.sh again rebuilds and swaps the binaries in place; the guard restarts mist-ui.
Tagged releases carry mist-vX.Y.Z-x86_64.tar.gz
(bin/ + share/mist/); the release notes say where to unpack it.
Build: rust (stable), pkgconf, libxkbcommon, pam, wayland, mesa (EGL headers). For
mist-comp also libinput, libseat, libdrm, mesa (gbm), systemd-libs.
Runtime: hyprland, pipewire + pipewire-pulse, wireplumber, networkmanager, wl-clipboard,
grim, slurp, polkit, noto-fonts, noto-fonts-emoji.
Optional: ddcutil (brightness keys on external monitors), kdeconnect and android-tools (see
Phone), wf-recorder (only scripts/demo-reel.sh).
Font: the UI is designed for SF Pro (variable SF-Pro.ttf in ~/.local/share/fonts/SF-Pro/). Apple
licenses it for its own platforms only and Mist does not ship it. Without it Mist uses Inter Variable, then
Noto Sans.
Load the example config from your hyprland.lua:
dofile(os.getenv("HOME") .. "/.local/share/mist/shell/examples/hyprland/mist.lua")It starts the guard on hyprland.start, binds the keys (Keybindings and IPC) and adds the
layer rules that give the glass its blur. Copy only the parts you want if you keep your own bindings.
Then remove what Mist replaces, or they fight over the same D-Bus names and layers:
- other bars and docks (Waybar, HyprPanel, Quickshell configs, ...),
- notification daemons (mako, dunst, swaync),
- polkit agents (hyprpolkitagent, polkit-gnome, ...),
- idle and lock daemons (hypridle, hyprlock, swayidle): Mist has its own lock and idle (Configuration).
Log out and in, or start it by hand:
~/.local/bin/mist-uiThe guard starts mist-ui-bin, which starts mist-wall and the mistd backends itself. Right click
the desktop clock for Customise desktop: set the weather place (General) and the language (Appearance).
pkill -x mist-ui; pkill -x mist-ui-bin
rm ~/.local/bin/mist-ui ~/.local/bin/mist-ui-bin ~/.local/bin/mist-wall-bin ~/.local/bin/mist-comp
rm ~/.local/share/mist/shellRemove the dofile line from hyprland.lua. Settings stay in ~/.config/mist/, caches in
~/.cache/mist/.
Mist is not affiliated with Apple. GPL-3.0-only. Repository · Issues · Discussions