config/
config.rs

1use vipera::Configuration;
2
3#[derive(serde::Deserialize, serde::Serialize, Default)]
4struct Config {
5    pub scale: f64,
6    pub cursor_size: Option<u32>,
7    pub refresh: Option<i32>,
8}
9
10impl vipera::Configuration for Config {
11    fn vipera() -> vipera::Vipera {
12        vipera::Vipera::new()
13            .set_config_name("config.toml")
14            .add_config_path("/etc/vipera")
15            .add_config_path("$HOME/.config/vipera")
16    }
17}
18
19fn main() {
20    let config = Config::read_in_config().unwrap_or_default();
21    config.write_config().unwrap();
22}