zenops 0.20.0

Declarative system configuration management for shell config and dotfiles.
use smol_str::SmolStr;

/// Your identity for things zenops manages, like git's commit author.
///
/// Lives at `[user]`. zenops also exposes these as `${user.name}` and
/// `${user.email}` template variables you can reference inside install
/// hints and shell init lines.
///
/// ```toml
/// [user]
/// name = "Ada Lovelace"
/// email = "ada@example.com"
/// ```
#[derive(serde::Deserialize, schemars::JsonSchema, Debug, Clone, PartialEq, Default)]
#[serde(default, deny_unknown_fields)]
pub(super) struct StoredUserConfig {
    /// Your full name, e.g. `"Ada Lovelace"`.
    pub name: Option<SmolStr>,
    /// Your email, e.g. `"ada@example.com"`.
    pub email: Option<SmolStr>,
}