[package]
name = "timewall"
description = "All-in-one tool for Apple dynamic HEIF wallpapers on GNU/Linux"
version = "2.1.0"
edition = "2021"
authors = ["Bazyli Cyran <bazyli@cyran.dev>"]
categories = ["command-line-utilities", "multimedia::images"]
keywords = ["wallpaper", "dynamic-wallpaper", "heif"]
homepage = "https://github.com/bcyran/timewall"
repository = "https://github.com/bcyran/timewall.git"
readme = "README.md"
license = "MIT"
build = "build.rs"

[dependencies]
anyhow = "1.0.100"
async-io = "2.6.0"
base64 = "0.22.1"
chrono = "0.4.42"
clap = { version = "4.5.53", features = ["derive"] }
clap-verbosity-flag = "3.0.4"
directories = "6.0.0"
env_logger = "0.11.6"
futures-lite = "2.6.1"
itertools = "0.14.0"
libheif-rs = { version = "2.5.2", default-features = false, features = ["v1_19"] }
log = "0.4.29"
nix = { version = "0.31.1", default-features = false, features = ["signal"] }
num_cpus = "1.17.0"
ordered-float = { version = "5.1.0", features = ["serde"] }
plist = "1.8.0"
png = "0.18.0"
seahash = "4.1.0"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
signal-hook = "0.4.3"
sun = "0.3.1"
threadpool = "1.8.1"
toml = "0.9.10"
wallpape-rs = "2.0.0"
xml-rs = "1.0.0"
zbus = "5.12.0"

[dev-dependencies]
assert_cmd = "2.1.2"
assert_fs = "1.1.3"
predicates = "3.1.3"
rstest = "0.17.0"

[lints.rust]
warnings = "deny"

[lints.clippy]
complexity = { level = "deny", priority = -1 }
correctness = { level = "deny", priority = -1 }
nursery = { level = "deny", priority = -1 }
pedantic = { level = "deny", priority = -1 }
perf = { level = "deny", priority = -1 }
style = { level = "deny", priority = -1 }
suspicious = { level = "deny", priority = -1 }
module_name_repetitions = "allow"
option_if_let_else = "allow"

[build-dependencies]
clap = { version = "4.5.53", features = ["derive"] }
clap-verbosity-flag = "3.0.4"
clap_complete = "4.5.64"
