[package] name = "rotz" version = "0.10.0" edition = "2021" authors = ["Paul Volavsek "] license = "MIT" description = "Fully cross platform dotfile manager written in rust." repository = "https://github.com/volllly/rotz" readme = "./README.md" documentation = "https://docs.rs/rotz/" keywords = ["dotfiles", "dotfiles-manager", "dotfile-manager", "cross-platform"] categories = ["command-line-utilities"] [features] default = ["all-formats", "handlebars_misc_helpers/http_attohttpc"] yaml = ["serde_yaml", "figment/yaml"] toml = ["serde_toml", "figment/toml"] json = ["serde_json", "figment/json"] all-formats = ["yaml", "toml", "json"] profiling = ["tracing", "tracing-tracy"] [dependencies] clap = { version = "4.4.11", features = ["derive", "color"] } serde_yaml = { version = "0.9.27", optional = true } serde_toml = { package = "toml", version = "0.8.8", optional = true } serde_json = { version = "1.0.108", optional = true } figment = { version = "0.10.12", default-features = false, features = ["env"] } directories = "5.0.1" once_cell = "1.19.0" derive_more = "0.99.17" serde = { version = "1.0.193", features = ["derive"] } crossterm = "0.27.0" itertools = "0.12.0" thiserror = "1.0.50" baker = "0.2.0" miette = { version = "5.10.0", features = ["fancy"] } indexmap = "2.1.0" handlebars = "4.5.0" handlebars_misc_helpers = { version = "0.13.0", default-features = false, features = [ "string", "json", ] } shellwords = "1.1.0" path-absolutize = "3.1.1" walkdir = "2.4.0" wax = { version = "0.6.0", features = ["miette"] } whoami = "1.4.1" path-slash = "0.2.1" velcro = "0.5.4" tap = "1.0.1" tracing = { version = "0.1.40", optional = true } tracing-tracy = { version = "0.10.4", optional = true } tracing-subscriber = { version = "0.3.18", optional = true } strum = { version = "0.25", features = ["derive"] } [target.'cfg(windows)'.dependencies] junction = "1.0.0" [target.x86_64-unknown-linux-musl.dependencies] openssl-sys = { version = "0.9.97", features = ["vendored"] } [target.i686-unknown-linux-musl.dependencies] openssl-sys = { version = "0.9.97", features = ["vendored"] } [target.aarch64-unknown-linux-musl.dependencies] openssl-sys = { version = "0.9.97", features = ["vendored"] } [dev-dependencies] fake = { version = "2.9.1", features = ["derive"] } rand = "0.8.5" rstest = "0.18.2" speculoos = "0.11.0" [package.metadata.cross.build] pre-build = [ "dpkg --add-architecture $CROSS_DEB_ARCH", "apt-get update && apt-get --assume-yes install libssl-dev:$CROSS_DEB_ARCH", ] [package.metadata.cross.target.x86_64-unknown-linux-musl] pre-build = [] [package.metadata.cross.target.i686-unknown-linux-musl] pre-build = [] [package.metadata.cross.target.aarch64-unknown-linux-musl] pre-build = [] [lints.clippy] all = { level = "warn", priority = 0 } pedantic = { level = "warn", priority = 0 } nursery = { level = "warn", priority = 0 } cargo = { level = "warn", priority = 0 } multiple_crate_versions = { level = "allow", priority = 1 } use_self = { level = "allow", priority = 1 } default_trait_access = { level = "allow", priority = 1 } redundant_pub_crate = { level = "allow", priority = 1 } filetype_is_file = { level = "warn", priority = 1 } string_to_string = { level = "warn", priority = 1 } unneeded_field_pattern = { level = "warn", priority = 1 } self_named_module_files = { level = "warn", priority = 1 } str_to_string = { level = "warn", priority = 1 } as_conversions = { level = "warn", priority = 1 }