forked from lix-project/lix-installer
Artemis Tosini
e8a1fcf537
Currently lix-installer requires a lix distribution tarball
downloaded over HTTP or on the system, meaning releases
require manual effort to place files in the correct place.
Add an option to download lix instead from standard nix substituters,
such as cache.nixos.org and cache.lix.systems.
Priority and nar parsing code do not exactly match lix,
but are sufficient to securely download and install nars.
Co-authored-by: Skye <me@skye-c.at>
Change-Id: Ia8a771ad2a99ac461cf5839a52e45f9dca65f3c8
77 lines
4 KiB
TOML
77 lines
4 KiB
TOML
[package]
|
|
name = "lix-installer"
|
|
description = "The Determinate Nix Installer"
|
|
version = "0.17.1"
|
|
edition = "2021"
|
|
resolver = "2"
|
|
license = "LGPL-2.1"
|
|
repository = "https://git.lix.systems/lix-project/lix-installer"
|
|
documentation = "https://docs.rs/lix-installer/latest/lix_installer"
|
|
|
|
[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", "clap", "tracing-subscriber", "tracing-error"]
|
|
|
|
[[bin]]
|
|
name = "lix-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.28.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.5", default-features = false, features = ["rustls-tls-native-roots", "stream", "socks", "zstd"] }
|
|
serde = { version = "1.0.144", default-features = false, features = [ "std", "derive" ] }
|
|
serde_json = { version = "1.0.85", 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.33", 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.3.1", default-features = false, features = [ "serde" ]}
|
|
dirs = { version = "5.0.0", default-features = false }
|
|
typetag = { version = "0.2.3", 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.14", default-features = false, features = ["serde", "std"] }
|
|
term = { version = "0.7.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"] }
|
|
nix-nar = "0.3.0"
|
|
zstd = { version = "0.13.2", default-features = false }
|
|
sha2 = "0.10.8"
|
|
ed25519-dalek = { version = "2.1.1", features = ["serde"] }
|
|
base64 = "0.22.1"
|
|
|
|
[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
|