Skip to main content

flk/flake/interfaces/
mod.rs

1//! # Flake Data Structures
2//!
3//! This module defines the core data types used to represent flake configuration
4//! elements throughout the `flk` codebase.
5//!
6//! ## Modules
7//!
8//! - [`profiles`] - Profile, Package, EnvVar, and FlakeConfig types
9//! - [`overlays`] - Pinned package and overlay configuration types
10//! - [`shellhooks`] - Custom command/shell hook types
11//! - [`utils`] - Shared constants (indentation levels)
12//!
13//! ## Type Hierarchy
14//!
15//! ```text
16//! FlakeConfig
17//! ├── inputs: Vec<String>
18//! └── profiles: Vec<Profile>
19//!     ├── name: String
20//!     ├── packages: Vec<Package>
21//!     ├── env_vars: Vec<EnvVar>
22//!     └── shell_hook: ShellHookSection
23//!         └── entries: Vec<ShellHookEntry>
24//! ```
25
26pub mod overlays;
27pub mod profiles;
28pub mod shellhooks;
29pub mod utils;