Installing Nourish
What you need
Nourish ships today as a prebuilt package for Fedora 44 — a free, popular, beginner-friendly version of Linux. Don't want to commit your whole machine yet? You can run Nourish in a window inside your existing Linux desktop to try it.
The one-command install
Open the Terminal app and paste this. It downloads the prebuilt release, unpacks it, and launches a friendly interactive installer — it only pulls the runtime libraries Nourish needs (no developer toolchain), and it's safe to re-run. In fact, running it again later is exactly how you update Nourish to the latest release.
curl -fsSL https://nourish.snowies.com/release/latest/fedora44/package.tar.gz | tar -xz && y5-install/install.sh
Want to see exactly what it would do, changing nothing?
curl -fsSL https://nourish.snowies.com/release/latest/fedora44/package.tar.gz | tar -xz && y5-install/install.sh --dry-run
The installer detects your graphics card and pre-selects the right
driver, installs the runtime packages with your permission (it uses
sudo for the system steps), and sets up the login session
entries. You can also optionally install the MX Master gesture daemon,
the developer log-viewer, and the lock-screen policy.
Starting Nourish
Log out, and on your login screen pick a "Y5…" session from the session menu (usually a small gear icon). Log back in — and you're home.
Build it yourself
The full source lives on GitHub.
git clone https://github.com/y5-snowies/nourish
cd nourish
# The compositor needs ~/.config/y5.compositor/settings.json to start.
# Author it first by running the settings tool straight from source:
cargo run --release --manifest-path compositor.installer/component/settings-editor/Cargo.toml
# Build & run the compositor nested in your current Wayland session:
environment/run-host.sh winit release
When you're ready to install it as a real login session, build the compositor binary:
# Build & install the compositor binary to /usr/bin/y5.compositor:
environment/build-release.sh system
Building from source needs the Rust toolchain plus the
system development libraries (Wayland, libinput, Mesa/Vulkan, ffmpeg, …).
On Fedora, run environment/install-deps.sh to pull them in;
on another distribution, feed that script to an AI agent to find the
equivalent packages. Building from source links against your own
distribution's system library versions — which is exactly why it works
beyond Fedora.
Setting up desktop and service files
The prebuilt installer generates these for you. Building by hand, you create three small files so your display manager lists Nourish and can launch it. Adjust the names if you prefer; just keep them consistent.
A wrapper script at /usr/bin/y5-session — it sets the
session identity and execs the compositor (it never writes
settings.json; that's yours, authored with
y5.compositor.settings):
#!/bin/bash
# /usr/bin/y5-session — ExecStart of y5.service
export XDG_CURRENT_DESKTOP=Y5Compositor
export XDG_SESSION_TYPE=wayland
# The compositor reads ALL of its config from settings.json and panics if it's
# missing. Configure it with the 'y5.compositor.settings' tool.
_y5_cfg="${XDG_CONFIG_HOME:-$HOME/.config}/y5.compositor"
if [ ! -f "$_y5_cfg/settings.json" ]; then
echo "y5: no configuration at $_y5_cfg/settings.json" >&2
echo "y5: run 'y5.compositor.settings' to configure, then start again." >&2
exit 1
fi
exec /usr/bin/y5.compositor
A systemd user service at
~/.config/systemd/user/y5.service that runs the wrapper:
[Unit]
Description=Y5 Wayland compositor
BindsTo=graphical-session.target
Before=graphical-session.target
Wants=graphical-session-pre.target
After=graphical-session-pre.target
[Service]
Slice=session.slice
Type=exec
ExecStart=/usr/bin/y5-session
And a session entry at
/usr/share/wayland-sessions/y5.desktop — this is what shows
up in your login screen's session menu:
[Desktop Entry]
Name=Y5
Comment=Y5 Compositor
Exec=systemctl --user --wait start y5.service
Type=Application
DesktopNames=Y5Compositor
Install them with the right permissions — the wrapper and session entry are system-wide, the service is per-user:
sudo install -m 755 y5-session /usr/bin/y5-session
sudo install -m 644 y5.desktop /usr/share/wayland-sessions/y5.desktop
install -Dm 644 y5.service ~/.config/systemd/user/y5.service
Lock screen support
The lock screen (Super+L) checks your password
through PAM, the proper way. Add a PAM service at
/etc/pam.d/y5-lock that mirrors your system's normal
interactive password policy:
# /etc/pam.d/y5-lock
# PAM service for the y5 compositor's lock screen.
# RHEL / Fedora / Arch / openSUSE:
auth include system-auth
account include system-auth
# Debian / Ubuntu — comment the two lines above and uncomment these:
# auth include common-auth
# account include common-account
Install it (it must be readable by root):
sudo install -m 644 y5-lock /etc/pam.d/y5-lock
On NixOS, PAM services are declarative — add
security.pam.services.y5-lock = {}; to your
configuration.nix instead, which produces an equivalent
default stack.
Stuck? Open an issue on GitHub or say hello on Discord and a human will help.