Building and packaging applications with Flox. Use for manifest builds, Nix expression builds, sandbox modes, multi-stage builds, and packaging assets.
The Flox skill provides a powerful build system designed to automate the process of building and packaging applications. It solves the problem of ensuring reproducibility and modularity during the build process by supporting two primary build modes: manifest builds and Nix expression builds. This system is particularly useful in scenarios where there is a need for precise control over dependencies, sandboxed environments, and multi-stage builds. By leveraging Flox, developers can achieve clean separation between development and runtime environments, ensuring that the source code and build tools do not interfere with the deployed product.
You can start building by using the `flox build` command. This will trigger the build process based on the configuration in your project, and you can specify the targets or build directories as needed.
Manifest builds are based on declarative TOML files and are easier to integrate with existing workflows, while Nix expression builds guarantee build-time reproducibility by being both isolated and purely functional. The latter has a steeper learning curve as it requires proficiency with the Nix language.
Yes, both approaches can be used within the same project, but it is important to ensure that package names remain unique across both types of builds.
Separating these environments provides several benefits: it reduces the size of the runtime environment, enhances security by preventing source code exposure, clarifies the distinction between building and consuming, and allows for easy rollback of runtime environments without affecting the development environment.
Quick Setup:
.claude/skills/Repository
flox/flox-agentic