All Projects → rust-cli → Confy

rust-cli / Confy

Licence: mit
🛋 Zero-boilerplate configuration management in Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Confy

Ini Parser
Read/Write an INI file the easy way!
Stars: ✭ 643 (+69.66%)
Mutual labels:  cli, configuration
Emplace
👩‍❤️‍💋‍👩 Synchronize installed packages on multiple machines
Stars: ✭ 105 (-72.3%)
Mutual labels:  cli, configuration
Dasel
Query, update and convert data structures from the command line. Comparable to jq/yq but supports JSON, TOML, YAML, XML and CSV with zero runtime dependencies.
Stars: ✭ 759 (+100.26%)
Mutual labels:  cli, configuration
Staert
Merge your configuration sources
Stars: ✭ 108 (-71.5%)
Mutual labels:  cli, configuration
Carvel Ytt
YAML templating tool that works on YAML structure instead of text
Stars: ✭ 816 (+115.3%)
Mutual labels:  cli, configuration
.tmux
🇫🇷 Oh my tmux! My self-contained, pretty & versatile tmux configuration made with ❤️
Stars: ✭ 15,594 (+4014.51%)
Mutual labels:  cli, configuration
Jql
A JSON Query Language CLI tool
Stars: ✭ 368 (-2.9%)
Mutual labels:  cli
Go Github Selfupdate
Binary self-update mechanism for Go commands using GitHub
Stars: ✭ 370 (-2.37%)
Mutual labels:  cli
Nba Go
🏀 💻 The finest NBA CLI.
Stars: ✭ 3,634 (+858.84%)
Mutual labels:  cli
Jaggr
JSON Aggregation CLI
Stars: ✭ 365 (-3.69%)
Mutual labels:  cli
Md To Pdf
Hackable CLI tool for converting Markdown files to PDF using Node.js and headless Chrome.
Stars: ✭ 374 (-1.32%)
Mutual labels:  cli
Npx card
use npx anmol to connect with me
Stars: ✭ 377 (-0.53%)
Mutual labels:  cli
Cw
The best way to tail AWS CloudWatch Logs from your terminal
Stars: ✭ 368 (-2.9%)
Mutual labels:  cli
Nickel
Cheap configuration language
Stars: ✭ 367 (-3.17%)
Mutual labels:  configuration
Gitlab Time Tracker
🦊🕘 A command line interface for GitLab's time tracking feature.
Stars: ✭ 371 (-2.11%)
Mutual labels:  cli
Js Fire
A javascript clone of google/python-fire 🔥
Stars: ✭ 370 (-2.37%)
Mutual labels:  cli
Abc
Power of appbase.io via CLI, with nifty imports from your favorite data sources
Stars: ✭ 375 (-1.06%)
Mutual labels:  cli
Apio
🌱 Open source ecosystem for open FPGA boards
Stars: ✭ 366 (-3.43%)
Mutual labels:  cli
Pixo
Convert SVG icons into React components
Stars: ✭ 371 (-2.11%)
Mutual labels:  cli
Superplate
Performance-oriented frontend application creator with popular tools.
Stars: ✭ 368 (-2.9%)
Mutual labels:  cli

confy

Chat with us: Discord

Zero-boilerplate configuration management.

Focus on storing the right data, instead of worrying about how or where to store it.

use serde_derive::{Serialize, Deserialize};

#[derive(Default, Debug, Serialize, Deserialize)]
struct MyConfig {
    version: u8,
    api_key: String,
}

fn main() -> Result<(), ::std::io::Error> {
    let cfg: MyConfig = confy::load("my-app-name", None)?;
    dbg!(cfg);
    Ok(())
}

Using yaml

Enabling the yaml_conf feature while disabling the default toml_conf feature causes confy to use a YAML config file instead of TOML.

[dependencies.confy]
features = ["yaml_conf"]
default-features = false

Breakings changes

Version 0.5.0

  • As directories stopped being maintained we switch to directories-next. Both crates released a breaking change regarding default configuration path change on macos. For further information check their changelog.
  • The base functions load and store have been added an optionnal parameter in the event multiples configurations are needed, or ones with different filename.
  • The default configuration file is now named "default-config" instead of using the application's name. Put the second argument of load and store to be the same of the first one to keep the previous configuration file.
  • It is now possible to save the configuration as toml or as yaml. The configuration's file name's extention depends on the format used.

Version 0.4.0

Starting with version 0.4.0 the configuration file are stored in the expected place for your system. See the directories crates for more information. Before version 0.4.0, the configuration file was written in the current directory.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].