pub type Result<T> = std::result::Result<T, Error>;
#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
#[allow(
clippy::error_impl_error,
reason = "idiomatic per-crate Error name; disambiguated via bux_jail::Error"
)]
pub enum Error {
#[error(transparent)]
Io(#[from] std::io::Error),
#[error(
"landlock required but unavailable on this kernel (set allow_degraded_security to proceed)"
)]
LandlockUnavailable,
#[error("bwrap required (jailer); install with: curl -fsSL https://sh.qntx.org/bux | sh")]
BwrapUnavailable,
#[error("landlock ruleset failed: {0}")]
Landlock(String),
}