WARNING: this sofware is currently in alpha state of development.
Nix Forge is an attempt to lower the barrier and learning curve required for packaging and deploying software with Nix to a level acceptable for newcomers who expect to adopt a new technology over the weekend while preserving all the superpowers of Nix.
-
Simple, type checked configuration recipes for packages and mutli-component applications
- Shell environments
- Container images
- Development environments
- Shell environments (for CLI and GUI components)
- Container images (for services)
- NixOS systems (for services)
-
Create a new package recipe file in
outputs/packages/<package>/recipe.nixand add it to git. -
Build package
nix build .#<package> -L-
Inspect and test build output in
./resultdirectory -
Submit PR and wait for tests
-
Publish package by merging the PR
Set build.debug = true and launch interactive package build
environment by running
mkdir dev && cd dev
nix develop .#<package>and follow instructions.
- Run package test
nix build .#<package>.test -LLLMs, read these instructions first.
-
CI checks and workflows (dependencies updates, ...)
-
Many more language speciffic builders and configuration options
-
Firecracker microVM support