refactor(pkg): suffix the KDE and macOS package names (komorebi-linux, komorebic-macos, ...)

The three trees are going to share one Cargo workspace, where package names must be unique. The
KDE packages become komorebi-linux, komorebic-linux, komorebi-client-linux and version-linux, the
macOS ones komorebi-macos, komorebic-macos, komorebi-client-macos, komorebi-bar-macos and
version-macos. Library and binary names do not change ([lib] name, [[bin]] name; dependents use
package = ...), so no source line changes and the binaries are still komorebi, komorebic and
komorebi-bar. Both Cargo.lock files only rename entries (checked: same name/version set otherwise).
The justfiles and the KDE flake (cargoExtraArgs) that name a package are updated here. Not behaviour.

Gates run: fast-check --since base: Windows clippy PASS, KDE check + 294 lib + 5 schemas PASS, macOS
fake-CC check --locked PASS, nix eval of both flakes PASS; KDE cargo test --workspace 879 passed 0
failed (tests/version.rs included); tools/kde-closure-check ok; CLI docs oracle byte-identical for
windows, macos and kde (S/step4/oracle-check.sh, now path-independent and name-aware). Not run: nix
builds, VM suites, e2e. Needed from the coordinator: nothing for the Windows daemon (not renamed
here); the KDE package derivations change name, so one KDE build/VM run will rebuild.
This commit is contained in:
LGUG2Z committed 2026-10-31 11:51:10 -07:00
1 parent 4e0a7171ec
commit 1be07fcdd7
16 files changed
+286 -248

No files matched your search

+66 -66
View File
@@ -2489,47 +2489,6 @@ version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
[[package]]
name = "komorebi"
version = "0.1.0"
dependencies = [
"clap",
"color-eyre",
"crossbeam-channel",
"crossbeam-utils",
"ctrlc",
"dirs 7.0.0",
"futures-util",
"hotwatch",
"komorebi-backend",
"komorebi-collections",
"komorebi-config",
"komorebi-hotkeys",
"komorebi-layouts",
"komorebi-protocol",
"komorebi-scrolling",
"komorebi-settings",
"komorebi-themes",
"komorebi-transport",
"lazy_static",
"nanoid",
"parking_lot 0.13.0",
"pastey",
"regex",
"schemars 1.2.3",
"serde",
"serde_json_lenient",
"serde_with",
"strum",
"tokio",
"tracing",
"tracing-appender",
"tracing-subscriber",
"uuid",
"version",
"zbus 6.1.0",
]
[[package]]
name = "komorebi-backend"
version = "0.1.42"
@@ -2538,10 +2497,10 @@ dependencies = [
]
[[package]]
name = "komorebi-client"
name = "komorebi-client-linux"
version = "0.1.0"
dependencies = [
"komorebi",
"komorebi-linux",
"komorebi-themes",
"parking_lot 0.13.0",
"serde_json_lenient",
@@ -2594,6 +2553,47 @@ dependencies = [
"tracing",
]
[[package]]
name = "komorebi-linux"
version = "0.1.0"
dependencies = [
"clap",
"color-eyre",
"crossbeam-channel",
"crossbeam-utils",
"ctrlc",
"dirs 7.0.0",
"futures-util",
"hotwatch",
"komorebi-backend",
"komorebi-collections",
"komorebi-config",
"komorebi-hotkeys",
"komorebi-layouts",
"komorebi-protocol",
"komorebi-scrolling",
"komorebi-settings",
"komorebi-themes",
"komorebi-transport",
"lazy_static",
"nanoid",
"parking_lot 0.13.0",
"pastey",
"regex",
"schemars 1.2.3",
"serde",
"serde_json_lenient",
"serde_with",
"strum",
"tokio",
"tracing",
"tracing-appender",
"tracing-subscriber",
"uuid",
"version-linux",
"zbus 6.1.0",
]
[[package]]
name = "komorebi-protocol"
version = "0.1.42"
@@ -2650,28 +2650,6 @@ dependencies = [
"uds_windows",
]
[[package]]
name = "komorebic"
version = "0.1.0"
dependencies = [
"chrono",
"clap",
"clap_complete",
"color-eyre",
"dirs 7.0.0",
"fs-tail",
"komorebi",
"komorebi-client",
"komorebi-config",
"komorebi-hotkeys",
"komorebic-core",
"lazy_static",
"schemars 1.2.3",
"serde_json_lenient",
"sysinfo",
"version",
]
[[package]]
name = "komorebic-core"
version = "0.1.42"
@@ -2683,6 +2661,28 @@ dependencies = [
"komorebi-protocol",
]
[[package]]
name = "komorebic-linux"
version = "0.1.0"
dependencies = [
"chrono",
"clap",
"clap_complete",
"color-eyre",
"dirs 7.0.0",
"fs-tail",
"komorebi-client-linux",
"komorebi-config",
"komorebi-hotkeys",
"komorebi-linux",
"komorebic-core",
"lazy_static",
"schemars 1.2.3",
"serde_json_lenient",
"sysinfo",
"version-linux",
]
[[package]]
name = "konst"
version = "0.2.20"
@@ -5209,7 +5209,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "version"
name = "version-linux"
version = "0.1.0"
dependencies = [
"shadow-rs",
+4 -4
View File
@@ -39,12 +39,12 @@ allow = [
confidence-threshold = 0.8
[[licenses.clarify]]
crate = "komorebi"
crate = "komorebi-linux"
expression = "LicenseRef-Komorebi-2.0"
license-files = []
[[licenses.clarify]]
crate = "komorebi-client"
crate = "komorebi-client-linux"
expression = "LicenseRef-Komorebi-2.0"
license-files = []
@@ -64,7 +64,7 @@ expression = "LicenseRef-Komorebi-2.0"
license-files = []
[[licenses.clarify]]
crate = "komorebic"
crate = "komorebic-linux"
expression = "LicenseRef-Komorebi-2.0"
license-files = []
@@ -74,7 +74,7 @@ expression = "LicenseRef-Komorebi-2.0"
license-files = []
[[licenses.clarify]]
crate = "version"
crate = "version-linux"
expression = "LicenseRef-Komorebi-2.0"
license-files = []
+1 -1
View File
@@ -164,7 +164,7 @@
individualCrateArgs
// {
pname = "komorebic-for-checks";
cargoExtraArgs = "--package komorebic --bin komorebic";
cargoExtraArgs = "--package komorebic-linux --bin komorebic";
}
);
};
+3 -3
View File
@@ -28,8 +28,8 @@ lint:
# the JSON Schemas of komorebi.json and of applications.json, from the Rust types
jsonschema:
cargo run --package komorebic --locked -- static-config-schema > schema.json
cargo run --package komorebic --locked -- application-specific-configuration-schema > schema.asc.json
cargo run --package komorebic-linux --locked -- static-config-schema > schema.json
cargo run --package komorebic-linux --locked -- application-specific-configuration-schema > schema.asc.json
# the options of the module's `config`, from schema.json, with the hash of the schema they were
# made from in the first line (written by schemars-nixgen; the check `schema-fresh` compares it); needs schemars-nixgen
@@ -66,7 +66,7 @@ vm-all:
# write the help of every komorebic subcommand to docs/cli, one page each
docgen:
rm -f docs/cli/*.md
cargo run --package komorebic --locked -- docgen --output docs/cli
cargo run --package komorebic-linux --locked -- docgen --output docs/cli
# the demo guest in a virtual machine, with komorebi tiling a few windows (docs/trying-it.md);
# `just run-kde --doctor` says what this machine is missing
+5 -2
View File
@@ -1,10 +1,10 @@
[package]
name = "komorebi-client"
name = "komorebi-client-linux"
version.workspace = true
edition = "2024"
[dependencies]
komorebi = { path = "../komorebi", default-features = false }
komorebi = { package = "komorebi-linux", path = "../komorebi", default-features = false }
komorebi-themes = { workspace = true }
serde_json = { workspace = true }
@@ -15,3 +15,6 @@ parking_lot = "0.13"
[features]
default = ["schemars"]
schemars = ["komorebi/default"]
[lib]
name = "komorebi_client"
+9 -2
View File
@@ -1,5 +1,5 @@
[package]
name = "komorebi"
name = "komorebi-linux"
version.workspace = true
description = "A tiling window manager for KDE Plasma"
edition = "2024"
@@ -15,7 +15,7 @@ komorebi-config = { workspace = true }
komorebi-settings = { workspace = true }
komorebi-protocol = { workspace = true }
komorebi-transport = { workspace = true }
version = { path = "../version" }
version = { package = "version-linux", path = "../version" }
clap = { workspace = true }
color-eyre = { workspace = true }
@@ -57,3 +57,10 @@ uuid = { version = "1", features = ["v4"] }
default = ["schemars"]
deadlock_detection = ["parking_lot/deadlock_detection"]
schemars = ["dep:schemars", "komorebi-collections/schemars"]
[lib]
name = "komorebi"
[[bin]]
name = "komorebi"
path = "src/main.rs"
+8 -4
View File
@@ -1,16 +1,16 @@
[package]
name = "komorebic"
name = "komorebic-linux"
version.workspace = true
description = "The command-line interface for Komorebi, a tiling window manager for KDE Plasma"
edition = "2024"
[dependencies]
komorebi-config = { workspace = true }
komorebi = { path = "../komorebi", default-features = false }
komorebi-client = { path = "../komorebi-client", default-features = false }
komorebi = { package = "komorebi-linux", path = "../komorebi", default-features = false }
komorebi-client = { package = "komorebi-client-linux", path = "../komorebi-client", default-features = false }
komorebi-hotkeys = { path = "../komorebi-hotkeys" }
komorebic-core = { path = "../../crates/komorebic-core" }
version = { path = "../version" }
version = { package = "version-linux", path = "../version" }
clap = { workspace = true }
clap_complete = "4"
@@ -29,3 +29,7 @@ schemars = ["dep:schemars", "komorebi-client/default"]
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(FALSE)'] }
[[bin]]
name = "komorebic"
path = "src/main.rs"
+4 -1
View File
@@ -1,5 +1,5 @@
[package]
name = "version"
name = "version-linux"
edition = "2024"
version.workspace = true
@@ -8,3 +8,6 @@ shadow-rs = { workspace = true }
[build-dependencies]
shadow-rs = { workspace = true }
[lib]
name = "version"
+145 -145
View File
@@ -3150,7 +3150,127 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
[[package]]
name = "komorebi"
name = "komorebi-backend"
version = "0.1.42"
dependencies = [
"komorebi-layouts",
]
[[package]]
name = "komorebi-bar-core"
version = "0.1.42"
dependencies = [
"chrono",
"chrono-tz",
"color-eyre",
"eframe",
"egui-phosphor",
"image 0.25.10",
"komorebi-config",
"komorebi-layouts",
"komorebi-protocol",
"komorebi-themes",
"lazy_static",
"reqwest",
"schemars 1.2.3",
"serde",
"serde_json_lenient",
"starship-battery",
"sysinfo 0.39.6",
"tracing",
]
[[package]]
name = "komorebi-bar-macos"
version = "0.1.1"
dependencies = [
"chrono",
"chrono-tz",
"clap",
"color-eyre",
"crossbeam-channel",
"dirs 6.0.0",
"dunce",
"eframe",
"egui-phosphor",
"font-loader",
"hotwatch",
"icns",
"image 0.25.10",
"komorebi-bar-core",
"komorebi-client-macos",
"komorebi-themes",
"lazy_static",
"netdev",
"num",
"num-derive",
"num-traits",
"objc2 0.6.5",
"objc2-app-kit 0.3.2",
"parking_lot",
"random_word",
"raw-window-handle",
"reqwest",
"schemars 1.2.3",
"serde",
"serde_json_lenient",
"sysinfo 0.38.4",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "komorebi-client-macos"
version = "0.1.1"
dependencies = [
"komorebi-macos",
"komorebi-themes",
"serde_json_lenient",
]
[[package]]
name = "komorebi-collections"
version = "0.1.42"
dependencies = [
"pastey 0.2.3",
"schemars 1.2.3",
"serde",
]
[[package]]
name = "komorebi-config"
version = "0.1.42"
dependencies = [
"clap",
"color-eyre",
"komorebi-layouts",
"komorebi-protocol",
"komorebi-themes",
"schemars 1.2.3",
"serde",
"serde_json_lenient",
"serde_with",
"strum",
]
[[package]]
name = "komorebi-layouts"
version = "0.1.42"
dependencies = [
"clap",
"color-eyre",
"komorebi-scrolling",
"objc2-core-foundation",
"schemars 1.2.3",
"serde",
"serde_json_lenient",
"serde_yaml 0.9.34+deprecated",
"strum",
"tracing",
]
[[package]]
name = "komorebi-macos"
version = "0.1.1"
dependencies = [
"base64 0.22.1",
@@ -3199,127 +3319,7 @@ dependencies = [
"tracing-appender",
"tracing-subscriber",
"uuid",
"version",
]
[[package]]
name = "komorebi-backend"
version = "0.1.42"
dependencies = [
"komorebi-layouts",
]
[[package]]
name = "komorebi-bar"
version = "0.1.1"
dependencies = [
"chrono",
"chrono-tz",
"clap",
"color-eyre",
"crossbeam-channel",
"dirs 6.0.0",
"dunce",
"eframe",
"egui-phosphor",
"font-loader",
"hotwatch",
"icns",
"image 0.25.10",
"komorebi-bar-core",
"komorebi-client",
"komorebi-themes",
"lazy_static",
"netdev",
"num",
"num-derive",
"num-traits",
"objc2 0.6.5",
"objc2-app-kit 0.3.2",
"parking_lot",
"random_word",
"raw-window-handle",
"reqwest",
"schemars 1.2.3",
"serde",
"serde_json_lenient",
"sysinfo 0.38.4",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "komorebi-bar-core"
version = "0.1.42"
dependencies = [
"chrono",
"chrono-tz",
"color-eyre",
"eframe",
"egui-phosphor",
"image 0.25.10",
"komorebi-config",
"komorebi-layouts",
"komorebi-protocol",
"komorebi-themes",
"lazy_static",
"reqwest",
"schemars 1.2.3",
"serde",
"serde_json_lenient",
"starship-battery",
"sysinfo 0.39.6",
"tracing",
]
[[package]]
name = "komorebi-client"
version = "0.1.1"
dependencies = [
"komorebi",
"komorebi-themes",
"serde_json_lenient",
]
[[package]]
name = "komorebi-collections"
version = "0.1.42"
dependencies = [
"pastey 0.2.3",
"schemars 1.2.3",
"serde",
]
[[package]]
name = "komorebi-config"
version = "0.1.42"
dependencies = [
"clap",
"color-eyre",
"komorebi-layouts",
"komorebi-protocol",
"komorebi-themes",
"schemars 1.2.3",
"serde",
"serde_json_lenient",
"serde_with",
"strum",
]
[[package]]
name = "komorebi-layouts"
version = "0.1.42"
dependencies = [
"clap",
"color-eyre",
"komorebi-scrolling",
"objc2-core-foundation",
"schemars 1.2.3",
"serde",
"serde_json_lenient",
"serde_yaml 0.9.34+deprecated",
"strum",
"tracing",
"version-macos",
]
[[package]]
@@ -3378,28 +3378,6 @@ dependencies = [
"uds_windows",
]
[[package]]
name = "komorebic"
version = "0.1.1"
dependencies = [
"chrono",
"clap",
"clap_complete",
"color-eyre",
"dirs 6.0.0",
"fs-tail",
"komorebi-client",
"komorebi-config",
"komorebic-core",
"lazy_static",
"reqwest",
"schemars 1.2.3",
"serde_json_lenient",
"shadow-rs",
"sysinfo 0.38.4",
"version",
]
[[package]]
name = "komorebic-core"
version = "0.1.42"
@@ -3411,6 +3389,28 @@ dependencies = [
"komorebi-protocol",
]
[[package]]
name = "komorebic-macos"
version = "0.1.1"
dependencies = [
"chrono",
"clap",
"clap_complete",
"color-eyre",
"dirs 6.0.0",
"fs-tail",
"komorebi-client-macos",
"komorebi-config",
"komorebic-core",
"lazy_static",
"reqwest",
"schemars 1.2.3",
"serde_json_lenient",
"shadow-rs",
"sysinfo 0.38.4",
"version-macos",
]
[[package]]
name = "konst"
version = "0.2.20"
@@ -6812,7 +6812,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "version"
name = "version-macos"
version = "0.1.0"
dependencies = [
"shadow-rs",
+5 -5
View File
@@ -44,12 +44,12 @@ allow = [
confidence-threshold = 0.8
[[licenses.clarify]]
crate = "komorebi"
crate = "komorebi-macos"
expression = "LicenseRef-Komorebi-2.0"
license-files = []
[[licenses.clarify]]
crate = "komorebi-client"
crate = "komorebi-client-macos"
expression = "LicenseRef-Komorebi-2.0"
license-files = []
@@ -64,12 +64,12 @@ expression = "LicenseRef-Komorebi-2.0"
license-files = []
[[licenses.clarify]]
crate = "komorebic"
crate = "komorebic-macos"
expression = "LicenseRef-Komorebi-2.0"
license-files = []
[[licenses.clarify]]
crate = "komorebi-bar"
crate = "komorebi-bar-macos"
expression = "LicenseRef-Komorebi-2.0"
license-files = []
@@ -79,7 +79,7 @@ expression = "LicenseRef-Komorebi-2.0"
license-files = []
[[licenses.clarify]]
crate = "version"
crate = "version-macos"
expression = "LicenseRef-Komorebi-2.0"
license-files = []
+5 -5
View File
@@ -64,14 +64,14 @@ deadlock $RUST_LOG="trace":
docgen starlight:
rm {{ starlight }}/src/data/cli/macos/*.md
cargo run --package komorebic -- docgen --output {{ starlight }}/src/data/cli/macos
cargo run --package komorebic-macos -- docgen --output {{ starlight }}/src/data/cli/macos
schemars-docgen ./schema.json --output {{ starlight }}/src/content/docs/reference/komorebi-macos.mdx --title "komorebi.json (macOS)" --description "komorebi for Mac configuration schema reference"
schemars-docgen ./schema.bar.json --output {{ starlight }}/src/content/docs/reference/bar-macos.mdx --title "komorebi.bar.json (macOS)" --description "komorebi-bar for Mac configuration schema reference"
jsonschema:
cargo run --package komorebic -- static-config-schema > schema.json
cargo run --package komorebic -- application-specific-configuration-schema > schema.asc.json
cargo run --package komorebi-bar -- --schema > schema.bar.json
cargo run --package komorebic-macos -- static-config-schema > schema.json
cargo run --package komorebic-macos -- application-specific-configuration-schema > schema.asc.json
cargo run --package komorebi-bar-macos -- --schema > schema.bar.json
nixgen:
schemars-nixgen schema.json -o nix/komorebi-options.nix --name komorebi --description "komorebi for Mac configuration"
@@ -79,7 +79,7 @@ nixgen:
nix fmt nix/
nix build -f nix/tests/default.nix
version := `cargo metadata --format-version 1 --no-deps | jq -r '.packages[] | select(.name == "komorebi") | .version'`
version := `cargo metadata --format-version 1 --no-deps | jq -r '.packages[] | select(.name == "komorebi-macos") | .version'`
schemapub:
rm -rf komorebi-schema
+6 -2
View File
@@ -1,5 +1,5 @@
[package]
name = "komorebi-bar"
name = "komorebi-bar-macos"
version = "0.1.1"
edition = "2024"
@@ -7,7 +7,7 @@ edition = "2024"
[dependencies]
komorebi-bar-core = { path = "../../crates/komorebi-bar-core", default-features = false }
komorebi-client = { path = "../komorebi-client", default-features = false }
komorebi-client = { package = "komorebi-client-macos", path = "../komorebi-client", default-features = false }
komorebi-themes = { workspace = true }
chrono = { workspace = true }
@@ -55,3 +55,7 @@ schemars = [
"komorebi-client/default",
"komorebi-themes/default",
]
[[bin]]
name = "komorebi-bar"
path = "src/main.rs"
+5 -2
View File
@@ -1,10 +1,10 @@
[package]
name = "komorebi-client"
name = "komorebi-client-macos"
version = "0.1.1"
edition = "2024"
[dependencies]
komorebi = { path = "../komorebi", default-features = false }
komorebi = { package = "komorebi-macos", path = "../komorebi", default-features = false }
komorebi-themes = { workspace = true }
serde_json = { workspace = true }
@@ -12,3 +12,6 @@ serde_json = { workspace = true }
[features]
default = ["schemars"]
schemars = ["komorebi/default"]
[lib]
name = "komorebi_client"
+9 -2
View File
@@ -1,5 +1,5 @@
[package]
name = "komorebi"
name = "komorebi-macos"
version = "0.1.1"
description = "A tiling window manager for macOS"
edition = "2024"
@@ -14,7 +14,7 @@ komorebi-settings = { workspace = true }
komorebi-protocol = { workspace = true }
komorebi-transport = { workspace = true }
quickxml_to_serde = { git = "https://github.com/LGUG2Z/quickxml_to_serde.git", version = "0.6.1" }
version = { path = "../version" }
version = { package = "version-macos", path = "../version" }
base64 = "0.22"
block2 = "0.6"
@@ -134,3 +134,10 @@ uuid = { version = "1", features = ["v4"] }
default = ["schemars"]
deadlock_detection = ["parking_lot/deadlock_detection"]
schemars = ["dep:schemars", "komorebi-collections/schemars"]
[lib]
name = "komorebi"
[[bin]]
name = "komorebi"
path = "src/main.rs"
+7 -3
View File
@@ -1,14 +1,14 @@
[package]
name = "komorebic"
name = "komorebic-macos"
version = "0.1.1"
description = "The command-line interface for Komorebi, a tiling window manager for macOS"
edition = "2024"
[dependencies]
komorebi-config = { workspace = true }
komorebi-client = { path = "../komorebi-client", default-features = false }
komorebi-client = { package = "komorebi-client-macos", path = "../komorebi-client", default-features = false }
komorebic-core = { path = "../../crates/komorebic-core" }
version = { path = "../version" }
version = { package = "version-macos", path = "../version" }
clap = { workspace = true }
clap_complete = "4"
@@ -29,3 +29,7 @@ schemars = ["dep:schemars", "komorebi-client/default"]
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(FALSE)'] }
[[bin]]
name = "komorebic"
path = "src/main.rs"
+4 -1
View File
@@ -1,5 +1,5 @@
[package]
name = "version"
name = "version-macos"
edition = "2024"
version.workspace = true
@@ -8,3 +8,6 @@ shadow-rs = { workspace = true }
[build-dependencies]
shadow-rs = { workspace = true }
[lib]
name = "version"