dkondor/cairo-dock-wayland-session
Systemd session with Wayfire and Cairo-Dock
Wayfire session with Cairo-Dock
This repository provides a systemd session running Wayfire as the compositor and Cairo-Dock as a dock, along with a few useful components. This is one of the recommended ways to run a Wayland session with Cairo-Dock (see here for more info).
Requirements
The goal of this session is to provide a simple, but complete desktop environment, built from a set of required components.
Essential
These are required to actually be able to log in and start the session :)
- Wayfire tested on version 0.8.0 (in the Ubuntu 24.04 repositories) and newer.
- Cairo-Dock with Wayland support, version 3.5.99 or newer (see the wiki for instructions to install it or build it from source).
- systemd set up according to your distribution to manage system services.
- A login manager capable of starting Wayland sessions; tested with Gdm, but recent versions of LightDM, SDDM, etc. should also work.
- Pydbus (Ubuntu package:
python3-pydbus)
Main components
These are required to get a usable desktop (things might work without some, but usability will be limited):
SSH agent, keyring and privilege management
- GNOME keyring daemon and PAM integration (source, Ubuntu / Debian packages:
libpam-gnome-keyring,gnome-keyring) - GNOME crypto services SSH agent (Ubuntu package:
gcr4/ Debian package:gcr) - MATE polkit authentication agent (required for being able to authenticate for privileged actions; the GNOME version does not work; source, Ubuntu / Debian package:
mate-polkit)
Screen locking
- wayland-screenlock-proxy a proxy service to integrate screenlockers
- one of the following screenlockers: waylock, gtklock or Waylock (the first two are available as Ubuntu / Debian packages already)
Desktop components
- wallpaper (
wf-background) from wf-shell (available on Debian testing or Ubuntu) - for basic configuration: wcm (available only on Debian testing / Ubuntu 24.10 or newer)
- a Wayfire plugin with an extra "overview" action for better integration: wayfire-scale-ipc
Recommended components
These allow a more complete desktop experience, including additional settings:
- GNOME settings daemon components:
gsd-rfkillandgsd-xsettings(part of thegnome-settings-daemonpackage on Ubuntu / Debian) - Network manager (
nm-applet;network-manager-gnomepackage on Ubuntu / Debian) - GNOME control center (system settings;
gnome-control-centerpackage on Ubuntu / Debian) - GNOME Tweaks (system theme and appearance settings;
gnome-tweakspackage on Ubuntu / Debian) - A notification daemon, e.g. mako (
mako-notifierpackage on Ubuntu / Debian)
Installing
The standard way to build is with Meson:
meson setup -Dbuildtype=release build
ninja -C build
sudo ninja -C build install
By default, this will install files under /usr/local. On most systems, this should work fine; if not, you might need to copy the file cairo-dock-wayfire.desktop from /usr/local/share/wayland-sessions/ to /usr/share/wayland-sessions/.
Running
If installed correctly, you can select "Wayfire/Cairo-Dock" in your graphical login manager. From the command line, it can be started by the cairo-dock-wayfire-session, installed under the libexec directory in the prefix (i.e. /usr/local/libexec/cairo-dock-wayfire-session by default).