[package] name = "nix-installer" description = "The Determinate Nix Installer" version = "0.23.0" edition = "2021" resolver = "2" license = "LGPL-2.1" repository = "https://github.com/DeterminateSystems/nix-installer" documentation = "https://docs.rs/nix-installer/latest/nix_installer" [features] default = ["cli", "diagnostics", "determinate-nix"] determinate-nix = [] cli = ["eyre", "color-eyre", "clap", "tracing-subscriber", "tracing-error"] diagnostics = ["is_ci"] [[bin]] name = "nix-installer" required-features = [ "cli" ] [dependencies] async-trait = { version = "0.1.57", default-features = false } bytes = { version = "1.2.1", default-features = false, features = ["std", "serde"] } clap = { version = "4", features = ["std", "color", "usage", "help", "error-context", "suggestions", "derive", "env"], optional = true } color-eyre = { version = "0.6.2", default-features = false, features = [ "track-caller", "issue-url", "tracing-error", "capture-spantrace", "color-spantrace" ], optional = true } eyre = { version = "0.6.8", default-features = false, features = [ "track-caller" ], optional = true } glob = { version = "0.3.0", default-features = false } nix = { version = "0.29.0", default-features = false, features = ["user", "fs", "process", "term"] } owo-colors = { version = "4.0.0", default-features = false, features = [ "supports-colors" ] } reqwest = { version = "0.12.4", default-features = false, features = ["rustls-tls-native-roots", "stream", "socks"] } serde = { version = "1.0.203", default-features = false, features = [ "std", "derive" ] } serde_json = { version = "1.0.120", default-features = false, features = [ "std" ] } serde_with = { version = "3", default-features = false, features = [ "std", "macros" ] } tar = { version = "0.4.38", default-features = false, features = [ "xattr" ] } target-lexicon = { version = "0.12.4", default-features = false, features = [ "std" ] } thiserror = { version = "1.0.61", default-features = false } tokio = { version = "1.21.0", default-features = false, features = ["time", "io-std", "process", "fs", "signal", "tracing", "rt-multi-thread", "macros", "io-util", "parking_lot" ] } tracing = { version = "0.1.36", default-features = false, features = [ "std", "attributes" ] } tracing-error = { version = "0.2.0", default-features = false, optional = true, features = ["traced-error"] } tracing-subscriber = { version = "0.3.15", default-features = false, features = [ "std", "registry", "fmt", "json", "ansi", "env-filter" ], optional = true } url = { version = "2.3.1", default-features = false, features = ["serde"] } xz2 = { version = "0.1.7", default-features = false, features = ["static", "tokio"] } plist = { version = "1.7.0", default-features = false, features = [ "serde" ]} dirs = { version = "5.0.0", default-features = false } typetag = { version = "0.2.17", default-features = false } dyn-clone = { version = "1.0.9", default-features = false } rand = { version = "0.8.5", default-features = false, features = [ "std", "std_rng" ] } semver = { version = "1.0.23", default-features = false, features = ["serde", "std"] } term = { version = "1.0.0", default-features = false } uuid = { version = "1.2.2", features = ["serde"] } os-release = { version = "0.1.0", default-features = false } is_ci = { version = "1.1.1", default-features = false, optional = true } strum = { version = "0.26.1", features = ["derive"] } nix-config-parser = { version = "0.2", features = ["serde"] } which = "6.0.0" sysctl = "0.5.4" walkdir = "2.3.3" indexmap = { version = "2.0.2", features = ["serde"] } once_cell = "1.19.0" [dev-dependencies] eyre = { version = "0.6.8", default-features = false, features = [ "track-caller" ] } tempfile = "3.3.0" [profile.release] strip = true # Automatically strip symbols from the binary. opt-level = "z" # Optimize for size. lto = true [package.metadata.docs.rs] # NOTE(cole-h): We embed the Nix closure by reading from this environment variable, but this is not # available in docs.rs's build. It doesn't influence docs, so it's fine to set it to a bogus (but # existing-file) value. cargo-args = [ "--config", "env.NIX_INSTALLER_TARBALL_PATH=\"../Cargo.toml\"", "--config", "env.DETERMINATE_NIXD_BINARY_PATH=\"../Cargo.toml\"" ]