cce workspace root: member list, lockfile and dependency pins
git clone https://git.lucas.co/cce.git
Cargo.toml (2.7K)
1 [workspace]
2 resolver = "2"
3 members = [
4 "cce-ui",
5 "cce-core",
6 "cce-screenaver",
7 "cce-authenticator",
8 "cce-fonts",
9 "cce-system-interface",
10 "cce-compositor",
11 "cce-status-interface",
12 "cce-mail",
13 "cce-display-manager",
14 "cce-designer",
15 "cce-color-editor",
16 "cce-cloud",
17 "cce-text-editor",
18 "cce-gallery",
19 "cce-notifier",
20 "cce-files",
21 "cce-graph",
22 "cce-grid",
23 "cce-map",
24 "cce-calendar",
25 "cce-preview",
26 "cce-terminal",
27 "cce-browser",
28 "cce-data-editor",
29 "cce-remote",
30 "cce-secrets",
31 "cce-list",
32 "cce-window-manager",
33 "cce-lock",
34 "cce-shortcuts-portal",
35 "cce-desktop-portal",
36 "cce-vault",
37 "cce-notes",
38 "cce-keyboard",
39 "cce-weather",
40 "cce-model",
41 "cce-mesh-io",
42 "cce-relief",
43 ]
44
45 # Every app declares cce-ui (and cce-compositor also cce-window-manager) as a git
46 # dependency on GitHub -- the crates' origin, the one place a push lands -- so a
47 # standalone clone of one app resolves without sibling checkouts; that is what
48 # makes a single app installable on its own. (Until 2026-09-21 the pins named
49 # git.lucas.co, which is only an hourly mirror of GitHub now: a rev pinned right
50 # after a push was not fetchable from there for up to an hour.) Inside this
51 # workspace those git sources are redirected back to the local crates, so
52 # workspace builds compile the working tree and cross-crate edits stay live.
53 # The pinned revs only affect builds that happen outside this workspace, which
54 # means they can go stale without any build here failing: after pushing cce-ui
55 # or cce-window-manager, run ./bump-revs.sh to repin the crates that depend on
56 # them (cce-vault too, pinned by cce-notes). The patch keys must match the pins' URL exactly, or the patch is unused
57 # and every crate silently builds a fetched copy of the toolkit.
58 [patch."https://github.com/lsgalante/cce-ui.git"]
59 cce-ui = { path = "cce-ui" }
60
61 [patch."https://github.com/lsgalante/cce-core.git"]
62 cce-core = { path = "cce-core" }
63
64 [patch."https://github.com/lsgalante/cce-window-manager.git"]
65 cce-window-manager = { path = "cce-window-manager" }
66
67 [patch."https://github.com/lsgalante/cce-vault.git"]
68 cce-vault = { path = "cce-vault" }
69
70 [patch."https://github.com/lsgalante/cce-mesh-io.git"]
71 cce-mesh-io = { path = "cce-mesh-io" }
72
73 # A member's own [profile] is ignored in a workspace build (only the root's
74 # applies), so cce-compositor's `[profile.release] debug = true` never reached
75 # the installed cce-fx: it shipped with no debug info, and a crash backtrace
76 # had no file:line. Line tables are enough for that, cost a fraction of full
77 # debug info, and are not loaded into memory. Scoped to cce-fx so no other
78 # crate rebuilds.
79 [profile.release.package.cce-fx]
80 debug = "line-tables-only"