Files
komorebi/Cargo.toml
T
LGUG2Z 03072f4fdb build(workspace): merge the KDE and macOS crates into the root workspace
komorebi-for-kde/*, komorebi-for-mac/* crates become members of the root Cargo workspace: one
Cargo.lock (901 packages; the 859 Windows entries are unchanged, checked by name and version), the
two nested [workspace] manifests and lock files are deleted, their inherited dependencies are written
out per crate (script S/pkg-merge.py), KDE's .cargo/config.toml (COMMIT_HASH default) moves to the
root .cargo/config.toml (non-forcing, nix still wins). default-members is the Windows set, so a bare
cargo command (and crane, which passes no --workspace) builds only Windows crates; the KDE and macOS
crates are selected with -p. Crates only KDE used were re-resolved newer by cargo; pinned back to the
KDE lock (zbus, zbus_macros 6.1.0, zbus_utils 6.0.0, zruntime 0.2.1, sysinfo 0.40.0). Two small
differences remain: unicode-width 0.2.2 (KDE locked 0.2.3) and libz-sys 1.1.31 (macOS locked 1.1.30).

The root flake and the two nested flakes still read the old workspaces and do not evaluate at this
revision: they are fixed in the next one, which must land with this one (nix cannot be half-merged).
Not behaviour.

Gates run: Windows clippy --all-targets -D warnings (default-members) PASS; KDE check + 294 lib + 5
schemas PASS from the root workspace; macOS fake-CC check of the four macOS packages --locked PASS.
Not run: nix (broken until the next revision), VM, e2e. tools/fast-check now detects the merged
layout.
2026-10-31 11:51:10 -07:00

136 lines
3.4 KiB
TOML

[workspace]
resolver = "2"
members = [
"komorebi",
"komorebi-client",
"komorebi-gui",
"crates/komorebi-backend",
"crates/komorebi-collections",
"crates/komorebi-config",
"crates/komorebi-settings",
"komorebi-layouts",
"komorebi-scrolling",
"komorebic",
"komorebic-no-console",
"crates/komorebic-core",
"komorebi-bar",
"komorebi-themes",
"crates/komorebi-protocol",
"crates/komorebi-transport",
"crates/komorebi-bar-core",
"komorebi-shortcuts",
"e2e/guest/agent",
"e2e/guest/testwin",
# komorebi for KDE Plasma (Linux) and komorebi for macOS: built only on their own platform, selected
# with -p; `default-members` below is the Windows set that a bare cargo command builds
"komorebi-for-kde/komorebi",
"komorebi-for-kde/komorebic",
"komorebi-for-kde/komorebi-client",
"komorebi-for-kde/komorebi-hotkeys",
"komorebi-for-kde/version",
"komorebi-for-mac/komorebi",
"komorebi-for-mac/komorebic",
"komorebi-for-mac/komorebi-client",
"komorebi-for-mac/komorebi-bar",
"komorebi-for-mac/version",
]
default-members = [
"komorebi",
"komorebi-client",
"komorebi-gui",
"crates/komorebi-backend",
"crates/komorebi-collections",
"crates/komorebi-config",
"crates/komorebi-settings",
"komorebi-layouts",
"komorebi-scrolling",
"komorebic",
"komorebic-no-console",
"crates/komorebic-core",
"komorebi-bar",
"komorebi-themes",
"crates/komorebi-protocol",
"crates/komorebi-transport",
"crates/komorebi-bar-core",
"komorebi-shortcuts",
"e2e/guest/agent",
"e2e/guest/testwin",
]
[workspace.dependencies]
clap = { version = "4", features = ["derive", "wrap_help"] }
chrono-tz = "0.10"
chrono = "0.4"
crossbeam-channel = "0.5"
crossbeam-utils = "0.8"
color-eyre = "0.6"
eframe = "0.33"
egui_extras = "0.33"
dirs = "6"
dunce = "1"
hotwatch = "0.5"
schemars = "1.1"
lazy_static = "1"
serde = { version = "1", features = ["derive"] }
serde_json = { package = "serde_json_lenient", version = "0.2" }
serde_yaml = "0.9"
strum = { version = "0.28", features = ["derive"] }
tracing = "0.1"
tracing-appender = "0.2"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
parking_lot = "0.12"
paste = "1"
sysinfo = "0.39"
uds_windows = "1"
win32-display-data = { git = "https://github.com/LGUG2Z/win32-display-data", rev = "8c42d8db257d30fe95bc98c2e5cd8f75da861021" }
windows-numerics = { version = "0.3" }
windows-implement = { version = "0.60" }
windows-interface = { version = "0.59" }
windows-core = { version = "0.62" }
shadow-rs = "2"
which = "8"
[workspace.dependencies.windows]
version = "0.62"
features = [
"Foundation_Numerics",
"Win32_Devices",
"Win32_Devices_Display",
"Win32_System_Com",
"Win32_UI_Shell_Common", # for IObjectArray
"Win32_Foundation",
"Win32_Globalization",
"Win32_Graphics_Dwm",
"Win32_Graphics_Gdi",
"Win32_Storage_Xps",
"Win32_Graphics_Direct2D",
"Win32_Graphics_Direct2D_Common",
"Win32_Graphics_Dxgi_Common",
"Win32_System_LibraryLoader",
"Win32_System_Power",
"Win32_System_RemoteDesktop",
"Win32_System_Threading",
"Win32_UI_Accessibility",
"Win32_UI_HiDpi",
"Win32_UI_Input_KeyboardAndMouse",
"Win32_UI_Shell",
"Win32_UI_Shell_Common",
"Win32_UI_WindowsAndMessaging",
"Win32_System_SystemServices",
"Win32_System_WindowsProgramming",
"Media",
"Media_Control",
]
[profile.release-opt]
inherits = "release"
lto = true
panic = "abort"
codegen-units = 1
strip = true
[workspace.metadata.crane]
name = "komorebi-workspace"