Config [](https://docs.rs/pimalaya-config/latest/pimalaya_config) [](https://matrix.to/#/#pimalaya:matrix.org) [](https://fosstodon.org/@pimalaya) [](https://pimalaya.org/sponsor/)
August 15, 2026 · View on GitHub
Config utils for Pimalaya
Warning
This crate is published for internal Pimalaya usage. Its API is intentionally minimal, follows the needs of the Pimalaya command-line tools and may change without notice. It is not intended as a general-purpose configuration library.
Table of contents
Features
- TOML loader: reads a project's TOML configuration from explicit paths or the platform default locations, deep-merging several files into one and telling a missing file apart from an unreadable one so callers can launch a wizard (requires
tomlfeature). - Secret resolution: resolves a secret from a literal value or a shell command's standard output, evaluated lazily at the moment it is needed rather than cached (requires
secretfeature). - Shell command deserialization: a serde adapter reading a command as a shell line string or a program-plus-arguments list, writing either shape back unchanged.
- Desktop notification deserialization: the same adapter shape for notifications, reading a summary and a body into a ready-to-show notification (requires
notifyfeature).
Tip
pimalaya-config is written in Rust and uses cargo features to gate the loader and the secret resolver. The default feature set is declared in Cargo.toml or on docs.rs.
Usage
See documentation at docs.rs.
License
This project is licensed under either of:
Social
- Chat on Matrix
- News on Mastodon or RSS
- Mail at pimalaya.org@posteo.net
Sponsoring
Special thanks to the NLnet foundation and the European Commission that have been financially supporting the project for years:
- 2022 → 2023: NGI Assure
- 2023 → 2024: NGI Zero Entrust
- 2024 → 2026: NGI Zero Core
- 2026 → 2027: NGI Zero Commons Fund
This program is part of Pimalaya, free software funded entirely by grants and donations. If you find it useful, consider sponsoring its development:
