flk/lib.rs
1//! # flk - Core Library
2//!
3//! This crate provides the core functionality for the `flk` CLI tool, which manages
4//! Nix flake-based development environments.
5//!
6//! ## Modules
7//!
8//! - [`flake`] - Flake file generation, parsing, and manipulation
9//! - [`flake::generator`] - Template-based flake generation
10//! - [`flake::parsers`] - Nom-based parsers for Nix file sections
11//! - [`flake::interfaces`] - Data structures representing flake components
12//! - [`flake::nix_render`] - Safe Nix string/attribute rendering
13//!
14//! - [`devbox`] - Parsing and normalization of Devbox `devbox.json` manifests
15//!
16//! - [`utils`] - Shared utilities
17//! - [`utils::backup`] - Lock file backup and restore functionality
18//! - [`utils::visual`] - Terminal output formatting and progress indicators
19//!
20//! ## Example
21//!
22//! ```rust,ignore
23//! use flk::flake::parsers::flake::parse_flake;
24//! use flk::flake::generator::generate_flake;
25//!
26//! // Parse an existing flake configuration
27//! let config = parse_flake("flake.nix")?;
28//!
29//! // Generate a new profile template
30//! let rust_profile = generate_flake("rust")?;
31//! ```
32
33pub mod devbox;
34pub mod flake;
35pub mod utils;