AEduardo-dev/flk
{ "createdAt": "2025-10-24T09:55:00Z", "defaultBranch": "main", "description": "Flakes development environments management tool", "fullName": "AEduardo-dev/flk", "homepage": "https://aeduardo-dev.github.io/flk/", "language": "Rust", "name": "flk", "pushedAt": "2026-03-21T09:41:10Z", "stargazersCount": 8, "topics": [], "updatedAt": "2026-03-04T16:28:11Z", "url": "https://github.com/AEduardo-dev/flk"}flk ๐
Section titled โflk ๐โA modern CLI tool for managing Nix flake development environments with the simplicity of Devbox
flk makes managing Nix flakes feel like using a package manager. No more manually editing flake.nix files โ just use simple commands to add packages, create custom shell commands, and manage your development environment.
โจ Features
Section titled โโจ Featuresโ- ๐ฏ Smart Initialization โ Auto-detects your project type (Rust, Python, Node.js, Go)
- ๐ฆ Easy Package Management โ Add/remove packages, pin specific versions
- โก Custom Shell Commands โ Define reusable commands for your workflow
- ๐ Environment Variables โ Manage per-project variables through the CLI
- ๐ค Multi-Profile Support โ Maintain separate configurations within one project
- ๐ Lock File Management โ Backup, preview, and restore your
flake.lock - ๐ณ Container Export โ Export environments to Docker, Podman, or JSON
- ๐ Hot Reload โ Shell hooks for instant
refreshandswitchbetween profiles
โก Quick Start
Section titled โโก Quick Startโcargo install flk # install via cargo (or see table below)
flk init # scaffold a flake (auto-detects language)flk add ripgrep # add a packageflk cmd add test "cargo test --all"flk env add DB_URL "postgres://localhost/dev"flk activate # enter the dev shellSee the Getting Started guide for a full walkthrough.
๐ฆ Installation
Section titled โ๐ฆ InstallationโPrerequisites: Nix with flakes enabled โ recommended via Lix or the Determinate installer.
| Method | Command |
|---|---|
| Cargo | cargo install flk |
| Nix (run) | nix run github:AEduardo-dev/flk#flk |
| Nix (install) | nix profile install github:AEduardo-dev/flk#flk |
| From source | git clone โฆ && cd flk && cargo install --path . |
| Binaries | GitHub Releases |
| Cachix | cachix use flk-cache (prebuilt Nix binaries) |
For Nix flake input, overlay, and Home Manager options see the Installation guide.
Shell Hook (optional)
Section titled โShell Hook (optional)โEnable hot-reload (refresh) and profile switching (switch):
eval "$(flk hook bash)" # or zsh; Fish: flk hook fish | source๐ Commands
Section titled โ๐ Commandsโ| Command | Description |
|---|---|
flk init | Initialize a new flake environment |
flk add / remove | Add or remove packages (--version to pin) |
flk search / deep-search | Search nixpkgs |
flk list / show | List packages or pretty-print full config |
flk cmd add|remove|list | Manage custom shell commands |
flk env add|remove|list | Manage environment variables |
flk profile add|remove|list|set-default | Manage profiles |
flk activate | Enter the dev shell |
flk update | Update flake inputs (auto-backup) |
flk lock show|history|restore | Manage flake.lock snapshots |
flk export | Export to Docker, Podman, or JSON |
flk direnv init|attach|detach | Direnv integration |
flk hook <shell> | Generate shell hooks |
flk completions | Generate shell completions |
Most commands accept -p, --profile <NAME> to target a specific profile.
Full command reference โ Commands documentation
๐ ๏ธ Development
Section titled โ๐ ๏ธ Developmentโgit clone https://github.com/AEduardo-dev/flk.git && cd flknix develop # or ensure Rust 1.83+ is available
cargo build # debug buildcargo test # all testscargo fmt --all -- --check && cargo clippy -- -D warnings # lintSee the Development guide for project structure, testing details, and CI info.
๐ Documentation
Section titled โ๐ Documentationโ| Resource | Link |
|---|---|
| User Guide (mdBook) | aeduardo-dev.github.io/flk |
| API Reference | docs.rs/flk |
Build locally:
# User guide โ serve with live reloadcd flk-book && mdbook serve # http://localhost:3000
# Rust API docscargo doc --no-deps --open
# Both via Nixnix build .#docs๐บ๏ธ Roadmap
Section titled โ๐บ๏ธ Roadmapโ๐ค Contributing
Section titled โ๐ค ContributingโContributions welcome! See [CONTRIBUTING.md]!(CONTRIBUTING.md) for details. For bugs, please open an issue with reproduction steps and environment info.
๐ Related Projects
Section titled โ๐ Related Projectsโ- Devbox โ Instant, portable dev environments (inspiration for flk)
- devenv โ Fast, declarative developer environments
- Flox โ Developer environments you can take with you
- direnv โ Shell extension for loading environments
๐ License
Section titled โ๐ LicenseโMIT โ see [LICENSE]!(LICENSE) for details.
๐ Acknowledgments
Section titled โ๐ Acknowledgmentsโ- The Nix community for creating an amazing ecosystem
- Jetify for the Devbox inspiration
- Special mention to @vic for nix-versions
- All contributors and users of flk
Made with โค๏ธ by AEduardo-dev