// @generated by jacquard-lexicon. DO NOT EDIT.
//
// Lexicon: dev.ocbwoy3.dotsyncd.refsDependency
//
// This file was automatically generated from Lexicon schemas.
// Any manual changes will be overwritten on the next regeneration.

///A specific Linux distribution
#[jacquard_derive::lexicon]
#[derive(
    serde::Serialize,
    serde::Deserialize,
    Debug,
    Clone,
    PartialEq,
    Eq,
    jacquard_derive::IntoStatic
)]
#[serde(rename_all = "camelCase")]
pub struct Distro<'a> {
    ///The distro ID identified in /etc/os-release, such as nixos, cachyos, etc.
    #[serde(borrow)]
    pub id: jacquard_common::CowStr<'a>,
}

///A specific Hyprland version
#[jacquard_derive::lexicon]
#[derive(
    serde::Serialize,
    serde::Deserialize,
    Debug,
    Clone,
    PartialEq,
    Eq,
    jacquard_derive::IntoStatic
)]
#[serde(rename_all = "camelCase")]
pub struct Hyprland<'a> {
    ///Must be semver
    #[serde(borrow)]
    pub version: jacquard_common::CowStr<'a>,
}

///A repo from Tangled cloned into a specific directory
#[jacquard_derive::lexicon]
#[derive(
    serde::Serialize,
    serde::Deserialize,
    Debug,
    Clone,
    PartialEq,
    Eq,
    jacquard_derive::IntoStatic
)]
#[serde(rename_all = "camelCase")]
pub struct TangledRepo<'a> {
    ///The location of the cloned git repo. Must be a valid POSIX (not NT) path. Example: /home/ocbwoy3/config
    #[serde(borrow)]
    pub dir: jacquard_common::CowStr<'a>,
    ///The owner of the repo. In the case of https://tangled.sh/@ocbwoy3.dev/nix, owner would be the DID of @ocbwoy3.dev
    #[serde(borrow)]
    pub owner: jacquard_common::types::string::Did<'a>,
    ///The repository name
    #[serde(borrow)]
    pub repo: jacquard_common::CowStr<'a>,
}