GitHunt
DK

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

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

These allow a more complete desktop experience, including additional settings:

  • GNOME settings daemon components: gsd-rfkill and gsd-xsettings (part of the gnome-settings-daemon package on Ubuntu / Debian)
  • Network manager (nm-applet; network-manager-gnome package on Ubuntu / Debian)
  • GNOME control center (system settings; gnome-control-center package on Ubuntu / Debian)
  • GNOME Tweaks (system theme and appearance settings; gnome-tweaks package on Ubuntu / Debian)
  • A notification daemon, e.g. mako (mako-notifier package 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).

dkondor/cairo-dock-wayland-session | GitHunt