aboutsummaryrefslogtreecommitdiffstats
path: root/zone_zfs/src
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2022-02-02 22:48:53 -0600
committerToby Vincent <tobyv13@gmail.com>2022-02-02 22:48:53 -0600
commitf96aabfdeaacbe42b10cc417d49e7cb2830c1a91 (patch)
treef640de8f6d419bbf5ebf1e5a161ac679c68f481d /zone_zfs/src
parent1a5a7eed4df2ee7aebdb752b78e7da78e5f15d28 (diff)
fix(config): fix config handleing through rocket
Co-authored-by: Neil Kollack <nkollack@gmail.com>
Diffstat (limited to 'zone_zfs/src')
-rw-r--r--zone_zfs/src/file_system.rs2
-rw-r--r--zone_zfs/src/lib.rs4
2 files changed, 3 insertions, 3 deletions
diff --git a/zone_zfs/src/file_system.rs b/zone_zfs/src/file_system.rs
index 3b4cf8d..7c9c6ab 100644
--- a/zone_zfs/src/file_system.rs
+++ b/zone_zfs/src/file_system.rs
@@ -8,8 +8,6 @@ use std::{
process::{Command, Output},
};
-use crate::Config;
-
use super::snapshot::Snapshot;
#[derive(Debug)]
diff --git a/zone_zfs/src/lib.rs b/zone_zfs/src/lib.rs
index 7b3342f..53947a6 100644
--- a/zone_zfs/src/lib.rs
+++ b/zone_zfs/src/lib.rs
@@ -1,6 +1,6 @@
use self::file_system::FileSystem;
use anyhow::Result;
-use figment::{providers::Serialized, Figment, Metadata, Profile, Provider};
+use figment::{providers::{Serialized, Toml, Env, Format}, Figment, Metadata, Profile, Provider};
use serde::{Deserialize, Serialize};
use std::path::PathBuf;
@@ -29,6 +29,8 @@ impl Config {
// Provide a default provider, a `Figment`.
pub fn figment() -> Figment {
Figment::from(Config::default())
+ .merge(Toml::file(Env::var_or("ZFS_CONFIG", "ZFS.toml")).nested())
+ .merge(Env::prefixed("ZFS_").global())
}
}