[workspace] members = [ "crates/*" ] resolver = "3" [workspace.package] edition = "2024" homepage = "https://github.com/nix-community/nh" license = "EUPL-1.2" rust-version = "1.95.0" version = "4.4.2" [workspace.dependencies] nh = { path = "crates/nh", version = "4.4.2" } nh-clean = { path = "crates/nh-clean", version = "4.4.2" } nh-config = { path = "crates/nh-config", version = "4.4.2" } nh-core = { path = "crates/nh-core", version = "4.4.2" } nh-darwin = { path = "crates/nh-darwin", version = "4.4.2" } nh-diff = { path = "crates/nh-diff", version = "4.4.2" } nh-home = { path = "crates/nh-home", version = "4.4.2" } nh-installable = { path = "crates/nh-installable", version = "4.4.2" } nh-nixos = { path = "crates/nh-nixos", version = "4.4.2" } nh-remote = { path = "crates/nh-remote", version = "4.4.2" } nh-search = { path = "crates/nh-search", version = "4.4.2" } nix-command = { path = "crates/nix-command", version = "0.2.3" } nix-installable = { path = "crates/nix-installable", version = "0.1.0" } anstyle = "1.0.13" clap = { features = [ "cargo", "color", "derive", "env", "unstable-styles" ], version = "4.5.51" } clap-verbosity-flag = { default-features = false, features = [ "tracing" ], version = "3.0.4" } clap_complete = "4.5.61" clap_complete_nushell = "4.5.10" clap_mangen = { features = [ "env" ], version = "0.3.0" } color-eyre = { default-features = false, features = [ "track-caller" ], version = "0.6.5" } dix = "2.1.0" elasticsearch-dsl = "0.4.24" humantime = "2.3.0" indicatif = "0.18.4" inquire = { default-features = false, features = [ "crossterm" ], version = "0.9.1" } jiff = { default-features = false, features = [ "std", "tzdb-zoneinfo" ], version = "0.2.35" } nix = { default-features = false, features = [ "fs", "user", "hostname" ], version = "0.31.1" } proptest = "1.9.0" regex = "1.12.2" reqwest = { default-features = false, features = [ "blocking", "json", "rustls", ], version = "0.13.1" } roff = "1.0.0" secrecy = { features = [ "serde" ], version = "0.10.3" } semver = "1.0.27" serde = { features = [ "derive" ], version = "1.0.228" } serde_json = "1.0.145" serial_test = "3.2.0" shlex = "2.0.1" signal-hook = "0.4.1" spam-db = "0.2.4" subprocess = "1.0.3" supports-hyperlinks = "3.1.0" system-configuration = "0.8.0" tempfile = "3.23.0" textwrap = { features = [ "terminal_size" ], version = "0.16.2" } thiserror = "2.0.17" toml_edit = "0.25.12" tracing = "0.1.41" tracing-subscriber = { features = [ "env-filter", "registry", "std" ], version = "0.3.20" } urlencoding = "2.1.3" walkdir = "2.5.0" which = "8.0.0" yansi = "1.0.1" [workspace.lints.clippy] complexity = { level = "warn", priority = -1 } nursery = { level = "warn", priority = -1 } pedantic = { level = "warn", priority = -1 } perf = { level = "warn", priority = -1 } style = { level = "warn", priority = -1 } # The lint groups above enable some less-than-desirable rules, we should manually # enable those to keep our sanity. absolute_paths = "allow" arbitrary_source_item_ordering = "allow" enum_variant_names = "allow" implicit_return = "allow" missing_docs_in_private_items = "allow" non_ascii_literal = "allow" pattern_type_mismatch = "allow" print_stdout = "allow" question_mark_used = "allow" similar_names = "allow" single_call_fn = "allow" std_instead_of_core = "allow" struct_excessive_bools = "allow" too_long_first_doc_paragraph = "allow" too_many_lines = "allow" unused_trait_names = "allow" # In the honor of a recent Cloudflare regression # Let's get rid of them, what the hell panic = "deny" unwrap_used = "deny" # Less dangerous, but we'd like to know expect_used = "warn" todo = "warn" unimplemented = "warn" unreachable = "warn" [profile.release] lto = true opt-level = 3 strip = true