| 1 | [package] |
| 2 | name = "hyprkvm-daemon" |
| 3 | version.workspace = true |
| 4 | edition.workspace = true |
| 5 | authors.workspace = true |
| 6 | license.workspace = true |
| 7 | description = "HyprKVM daemon - Hyprland-native software KVM switch" |
| 8 | |
| 9 | [[bin]] |
| 10 | name = "hyprkvm" |
| 11 | path = "src/main.rs" |
| 12 | |
| 13 | [features] |
| 14 | default = ["gui"] |
| 15 | gui = ["iced"] |
| 16 | |
| 17 | [dependencies] |
| 18 | hyprkvm-common = { workspace = true } |
| 19 | |
| 20 | # Async runtime |
| 21 | tokio = { workspace = true } |
| 22 | |
| 23 | # Serialization |
| 24 | serde = { workspace = true } |
| 25 | serde_json = { workspace = true } |
| 26 | toml = { workspace = true } |
| 27 | |
| 28 | # Error handling |
| 29 | thiserror = { workspace = true } |
| 30 | anyhow = { workspace = true } |
| 31 | |
| 32 | # Logging |
| 33 | tracing = { workspace = true } |
| 34 | tracing-subscriber = { workspace = true } |
| 35 | tracing-appender = { workspace = true } |
| 36 | |
| 37 | # CLI |
| 38 | clap = { workspace = true } |
| 39 | |
| 40 | # Wayland (for input injection/capture) |
| 41 | wayland-client = { workspace = true } |
| 42 | wayland-protocols = { workspace = true } |
| 43 | wayland-protocols-wlr = { workspace = true } |
| 44 | wayland-protocols-misc = { workspace = true } |
| 45 | smithay-client-toolkit = { workspace = true } |
| 46 | |
| 47 | # TLS |
| 48 | tokio-rustls = { workspace = true } |
| 49 | rustls = { workspace = true } |
| 50 | rustls-pemfile = { workspace = true } |
| 51 | rcgen = { workspace = true } |
| 52 | sha2 = { workspace = true } |
| 53 | time = { workspace = true } |
| 54 | |
| 55 | # Utilities |
| 56 | dirs = { workspace = true } |
| 57 | bytes = { workspace = true } |
| 58 | hostname = { workspace = true } |
| 59 | rustix = { workspace = true } |
| 60 | |
| 61 | # Input device handling (evdev) |
| 62 | evdev = "0.12" |
| 63 | |
| 64 | # Clipboard |
| 65 | wl-clipboard-rs = { workspace = true } |
| 66 | hex = { workspace = true } |
| 67 | base64 = { workspace = true } |
| 68 | |
| 69 | # GUI (optional) |
| 70 | iced = { workspace = true, optional = true } |
| 71 | |
| 72 | [dev-dependencies] |
| 73 | tempfile = "3" |