[package] name = "harmonic" description = "A `nix` installer" version = "0.0.0-unreleased" edition = "2021" resolver = "2" [package.metadata.riff.targets.aarch64-apple-darwin] build-inputs = ["darwin.apple_sdk.frameworks.Security"] [package.metadata.riff.targets.x86_64-apple-darwin] build-inputs = ["darwin.apple_sdk.frameworks.Security"] [features] default = ["cli"] cli = [ "eyre", "color-eyre", "crossterm", "clap", "tracing-subscriber", "tracing-error", "atty" ] [[bin]] name = "harmonic" required-features = [ "cli" ] [dependencies] async-tar = "0.4.2" async-trait = "0.1.57" atty = { version = "0.2.14", optional = true } bytes = "1.2.1" clap = { version = "4", features = ["derive", "env"], optional = true } color-eyre = { version = "0.6.2", optional = true } crossterm = { version = "0.25.0", features = ["event-stream"], optional = true } eyre = { version = "0.6.8", optional = true } futures = "0.3.24" glob = "0.3.0" nix = { version = "0.26.0", features = ["user", "fs", "process", "term"], default-features = false } owo-colors = { version = "3.5.0", features = [ "supports-colors" ] } reqwest = { version = "0.11.11", default-features = false, features = ["rustls-tls", "stream"] } serde = { version = "1.0.144", features = ["derive"] } serde_json = "1.0.85" serde_with = "2.0.1" tar = "0.4.38" target-lexicon = "0.12.4" thiserror = "1.0.33" tokio = { version = "1.21.0", features = ["time", "io-std", "process", "fs", "signal", "tracing", "rt-multi-thread", "macros", "io-util", "parking_lot" ] } tokio-util = { version = "0.7", features = ["io"] } tracing = { version = "0.1.36", features = [ "valuable" ] } tracing-error = { version = "0.2.0", optional = true } tracing-subscriber = { version = "0.3.15", features = [ "json", "env-filter", "valuable" ], optional = true } url = { version = "2.3.1", features = ["serde"] } valuable = { version = "0.1.0", features = ["derive"] } walkdir = "2.3.2" sxd-xpath = "0.4.2" xz2 = { version = "0.1.7", features = ["static", "tokio"] } sxd-document = "0.3.2" plist = "1.3.1" dirs = "4.0.0" erased-serde = "0.3.23" typetag = "0.2.3" dyn-clone = "1.0.9" rand = "0.8.5" semver = { version = "1.0.14", features = ["serde"] } term = "0.7.0" [dev-dependencies] eyre = "0.6.8" [profile.release] strip = true # Automatically strip symbols from the binary. opt-level = "z" # Optimize for size. lto = true