Skip to content

Getting started on Fedora

Requires Fedora 42 or later. Fedora 41 reached EOL on 2025-11-19.

Install dependencies

Install Rust via rustup, then the system libraries:

sh
sudo dnf install git cmake pkgconf-pkg-config gtk4-devel gtk4-layer-shell-devel \
  gtksourceview5-devel pulseaudio-libs-devel fftw-devel pipewire-devel \
  systemd-devel clang gcc

Fedora Workstation already ships the runtime daemons for battery, bluetooth, network, power, and audio. Minimal and Server installs need:

sh
sudo dnf install pipewire-pulseaudio wireplumber NetworkManager bluez upower \
  power-profiles-daemon
sudo systemctl enable --now bluetooth NetworkManager upower power-profiles-daemon

Build

sh
git clone https://github.com/wayle-rs/wayle
cd wayle
cargo install --path wayle
cargo install --path crates/wayle-settings

Icon assets

Wayle ships icons as source files that get copied into your user data directory on first setup. Run this from the cloned repo, before deleting it:

sh
wayle icons setup

Run

Start the panel in the background:

sh
wayle panel start

Other lifecycle commands: wayle panel status, wayle panel restart, wayle panel stop.

For debugging, run the shell in the foreground so logs print to the terminal:

sh
wayle shell

Settings GUI

sh
wayle panel settings

This launches wayle-settings, which edits the same config the shell reads. Changes apply live. Anything the GUI doesn't cover can still be edited by hand in config.toml.

Configuration

Wayle reads $XDG_CONFIG_HOME/wayle/config.toml, falling back to ~/.config/wayle/config.toml. On first run, if no config exists, Wayle writes a default one. A JSON schema is written to ~/.config/wayle/schema.json at startup, which editors with a TOML LSP can use for validation and completion.

Released under the MIT License.