cosmic-greeter/Cargo.toml
Lionel DARNIS bf630a4b57 fix(daemon): resolve outputs.ron from the user's passwd home
The greeter daemon runs as root without HOME set, so
xdg::BaseDirectories resolved the state dir against root's
environment and never found the user's cosmic-comp output layout.
The greeter therefore came up with the default monitor arrangement
instead of the saved one.

Resolve the home directory from the passwd entry of the user being
described, read ~/.local/state/cosmic-comp/outputs.ron directly, and
fall back to an empty list when the file is absent.

Also revert the two version fields that the 1.3.0 bulk bump rewrote by
mistake: greetd_ipc has no 1.3.0 release, and the crate version is kept
at 0.1.0 to stay consistent with Cargo.lock so --locked builds work.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 16:29:20 +02:00

186 lines
5.9 KiB
TOML

[package]
name = "cosmic-greeter"
version = "0.1.0"
edition = "2024"
[build-dependencies]
vergen = { version = "8", features = ["git", "gitcl"] }
[dependencies]
anyhow = "1"
async-fn-stream = "0.3"
icu = { version = "2.2.0", features = ["compiled_data"] }
jiff = "0.2"
jiff-icu = "0.2"
cosmic-applets-config.workspace = true
cosmic-bg-config.workspace = true
cosmic-comp-config.workspace = true
cosmic-config = { workspace = true, features = ["calloop", "macro"] }
cosmic-greeter-config.workspace = true
cosmic-greeter-daemon = { path = "daemon" }
dirs = "6"
cosmic = { package = "libcosmic-yoda", path = "../libcosmic", default-features = false, features = [
"advanced-shaping",
"autosize",
"winit",
"multi-window",
"desktop",
"wayland",
"tokio",
"dbus-config",
] }
tracing.workspace = true
tracing-journald = { workspace = true, optional = true }
tracing-subscriber = { workspace = true, features = ["env-filter"] }
pam-client = "0.5.0"
pwd.workspace = true
ron.workspace = true
shlex = "1.3.0"
xkb-data = "0.2"
xdg = "3.0"
#TODO: reduce features
tokio = { workspace = true, features = ["full"] }
wayland-client = "0.31.14"
# cosmic-settings-subscriptions = { git = "https://github.com/pop-os/cosmic-settings-subscriptions", default-features = false, features = [
# "accessibility",
# "cosmic_a11y_manager",
# ] }
cosmic-settings-accessibility-subscription = { path = "../cosmic-settings/subscriptions/accessibility", default-features = false }
cosmic-settings-a11y-manager-subscription = { path = "../cosmic-settings/subscriptions/a11y-manager", default-features = false }
cosmic-settings-daemon-config = { path = "../cosmic-settings-daemon/cosmic-settings-daemon-config", default-features = false, features = [
"greeter",
] }
cctk = { path = "../cosmic-protocols/client-toolkit", package = "cosmic-client-toolkit" }
cosmic-protocols = { path = "../cosmic-protocols", default-features = false, features = [
"client",
] }
# For network status using networkmanager feature
cosmic-dbus-networkmanager = { path = "../dbus-settings-bindings/networkmanager", optional = true }
# For logind integration using logind feature
logind-zbus = { version = "5", optional = true }
# For power status with upower feature
upower_dbus = { path = "../dbus-settings-bindings/upower", optional = true }
# Required for some features
zbus = { workspace = true }
# CLI arguments
clap_lex = "1.1"
# Internationalization
i18n-embed = { version = "0.16", features = [
"fluent-system",
"desktop-requester",
] }
i18n-embed-fl = "0.10"
rust-embed = "8"
futures-util = "0.3.32"
timedate-zbus = { path = "../dbus-settings-bindings/timedate" }
cosmic-randr-shell = { workspace = true }
kdl.workspace = true
color-eyre.workspace = true
image = { version = "0.25", default-features = false, features = [
"jpeg",
"png",
"rayon",
"webp",
"hdr",
] }
[dependencies.greetd_ipc]
version = "0.10.3"
features = ["tokio-codec"]
[features]
default = ["logind", "networkmanager", "upower", "systemd"]
logind = ["logind-zbus", "systemd"]
systemd = ["tracing-journald"]
networkmanager = ["cosmic-dbus-networkmanager"]
upower = ["upower_dbus"]
[profile.dev.package.tiny-skia]
opt-level = 2
[profile.dev.package.rustybuzz]
opt-level = 2
[profile.dev.package.ttf-parser]
opt-level = 2
[workspace]
members = ["cosmic-greeter-config", "daemon"]
resolver = "3"
[workspace.package]
rust-version = "1.93"
[workspace.dependencies]
tracing = "0.1"
tracing-journald = { version = "0.3" }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
color-eyre = "0.6.5"
pwd = "1.4.0"
ron = "0.12"
serde = "1"
tokio = "1.52.1"
zbus = "5"
kdl = "6"
cosmic-randr-shell = { path = "../cosmic-randr/shell", default-features = false }
[workspace.dependencies.cosmic-applets-config]
path = "../cosmic-applets/cosmic-applets-config"
default-features = false
[workspace.dependencies.cosmic-bg-config]
path = "../cosmic-bg/config"
default-features = false
[workspace.dependencies.cosmic-comp-config]
path = "../cosmic-comp/cosmic-comp-config"
default-features = false
features = ["output", "randr"]
[workspace.dependencies.cosmic-greeter-config]
path = "cosmic-greeter-config"
[workspace.dependencies.cosmic-config]
path = "../libcosmic/cosmic-config"
default-features = false
[workspace.dependencies.cosmic-theme]
path = "../libcosmic/cosmic-theme"
default-features = false
[patch."https://github.com/pop-os/libcosmic"]
cosmic-config = { path = "../libcosmic/cosmic-config" }
cosmic-config-derive = { path = "../libcosmic/cosmic-config-derive" }
cosmic-theme = { path = "../libcosmic/cosmic-theme" }
iced = { path = "../libcosmic/iced" }
iced_accessibility = { path = "../libcosmic/iced/accessibility" }
iced_core = { path = "../libcosmic/iced/core" }
iced_futures = { path = "../libcosmic/iced/futures" }
iced_graphics = { path = "../libcosmic/iced/graphics" }
iced_renderer = { path = "../libcosmic/iced/renderer" }
iced_runtime = { path = "../libcosmic/iced/runtime" }
iced_tiny_skia = { path = "../libcosmic/iced/tiny_skia" }
iced_wgpu = { path = "../libcosmic/iced/wgpu" }
iced_widget = { path = "../libcosmic/iced/widget" }
iced_winit = { path = "../libcosmic/iced/winit" }
[patch."https://github.com/pop-os/cosmic-protocols"]
cosmic-protocols = { path = "../cosmic-protocols" }
cosmic-client-toolkit = { path = "../cosmic-protocols/client-toolkit" }
[patch."https://github.com/pop-os/cosmic-settings-daemon"]
cosmic-settings-config = { path = "../cosmic-settings-daemon/config" }
cosmic-settings-daemon-config = { path = "../cosmic-settings-daemon/cosmic-settings-daemon-config" }
[patch."https://github.com/pop-os/cosmic-text.git"]
cosmic-text = { path = "../cosmic-text" }
[patch."https://forge.aditua.com/leyoda/window_clipboard.git"]
window_clipboard = { path = "../window_clipboard" }
dnd = { path = "../window_clipboard/dnd" }
mime = { path = "../window_clipboard/mime" }
clipboard_wayland = { path = "../window_clipboard/wayland" }
clipboard_macos = { path = "../window_clipboard/macos" }