login greeter
git clone https://git.lucas.co/cce-display-manager.git
Makefile (1.6K)
1 .PHONY: build install install-user install-system run clean
2
3 build:
4 cargo build --release
5
6 # The display manager lives in TWO places, and `install` does both:
7 #
8 # install-user ~/.local/bin + ~/.local/share/dbus-1: the keyring helper
9 # scripts (the TPM drop-in runs cce-gnome-keyring-start from
10 # there) and the Secret Service D-Bus file. It also drops a
11 # copy of the binary in ~/.local/bin, which nothing runs.
12 # install-system /usr/bin/cce-display-manager, the systemd units and the
13 # PAM stacks — what the login actually runs. Root, one sudo
14 # prompt; it backs up whatever it replaces (*.bak-<date>)
15 # and covers every crate's root artifacts, not only ours.
16 #
17 # Until 2026-09-25 `install` was install-user alone, so it never touched the
18 # greeter the unit starts. Binaries, helper scripts and units are enumerated
19 # by ccebuild from cargo metadata and the crate's dirs — hand-listing them is
20 # what left cce-bevel and the keyring helpers uninstalled for weeks.
21 install: build install-user install-system
22
23 install-user:
24 @command -v ccebuild >/dev/null || { echo "ccebuild not installed — run: make -C ../cce-compositor install"; exit 1; }
25 ccebuild install --no-build cce-display-manager
26
27 install-system:
28 @command -v ccebuild >/dev/null || { echo "ccebuild not installed — run: make -C ../cce-compositor install"; exit 1; }
29 ccebuild install-system
30
31 # The greeter alone, in the current Wayland session — the daemon (no args)
32 # must run as root and refuses otherwise.
33 run:
34 cargo run -- --greeter
35
36 clean:
37 cargo clean