[package]
name = "nono-cli"
version = "0.42.0"
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "CLI for nono capability-based sandbox"
readme = "README.md"
keywords = ["sandbox", "security", "cli", "landlock", "seatbelt"]
categories = ["command-line-utilities", "development-tools"]

[package.metadata.deb]
maintainer = "Luke Hinds"
copyright = "2026, Luke Hinds"
depends = "$auto, libc6 (>= 2.34)"
recommends = "1password-cli | gnome-keyring"
section = "utils"
priority = "optional"
assets = [
    ["target/release/nono", "usr/bin/", "755"],
    ["../../README.md", "usr/share/doc/nono/README", "644"],
    ["../../LICENSE", "usr/share/doc/nono/LICENSE", "644"],
]
conf-files = ["/etc/nono/profiles/"]

[[bin]]
name = "nono"
path = "src/main.rs"

[features]
default = []
# Enables test-only trust root overrides used by the integration harness.
test-trust-overrides = []

[dependencies]
nono = { version = "0.42.0", path = "../nono" }
nono-proxy = { version = "0.42.0", path = "../nono-proxy" }
clap = { version = "4", features = ["derive", "env"] }
colored = "3"
similar = "3"
rand = "0.10"
which = "8"
toml = "1.0"
xdg-home = "1.3.0"
dirs = "6"
walkdir = "2"
ignore.workspace = true
chrono = { version = "0.4", features = ["serde"] }

# Signing key PKCS#8 serialization (already transitive via sigstore-verify)
aws-lc-rs = "1"

# Keystore access for trust signing keys
keyring = "3"

# Keyless (Sigstore/Fulcio/Rekor) signing for instruction file attestation
sigstore-sign = "0.6"
tokio = { version = "1", features = ["rt"] }

ureq = "3"
semver = "1"

zeroize.workspace = true
sha2.workspace = true
thiserror.workspace = true
serde.workspace = true
serde_json.workspace = true
tracing.workspace = true
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
url = "2.5.8"
tempfile = "3"
vt100 = "0.16.2"

[target.'cfg(target_os = "linux")'.dependencies]
nix = { version = "0.31", features = ["process", "signal", "fs", "user", "term"] }
landlock = "0.4"
dns-lookup = "2"
keyring = { version = "3", features = ["sync-secret-service"] }

[target.'cfg(target_os = "macos")'.dependencies]
nix = { version = "0.31", features = ["process", "signal", "fs", "user", "term"] }
dns-lookup = "2"
keyring = { version = "3", features = ["apple-native"] }

[build-dependencies]
toml = "1.0"
serde = { version = "1", features = ["derive"] }

[dev-dependencies]
jsonschema = "0.45"
proptest = "1"
