NGI Forge 0.1 released
We are excited to announce the initial release of NGI Forge, our new software packaging and distribution system for projects supported by the Next Generation Internet (NGI) initiative via NLnet.
NGI Forge tries to lower the barrier to software packaging, making it more accessible to a wider developer audience while preserving all the power of Nix.
Our most important goal is to build a platform which is both attractive and accessible enough to be used by upstream NGI software authors. We expect this to significantly increase the sustainability of packaging, especially with regards to maintenance and usability of those hundreds of NLnet supported projects and also help us increase Nix adoption.
Features
NGI Forge packages and applications are defined by human-readable, type-checked recipes (see e.g. Mox package and Mox application). Currently, we support packages written in C/C++, Python, Go, Rust and we will extend support for other languages as we keep on adding more packages.
Applications support three runtimes: a shell environment for CLI and GUI programs, OCI compatible containers, and NixOS for system services.
A nice Web UI lets users browse available NGI software and run it using simple commands.
Recipes can be generated and maintained with AI assistance by following the instructions in the AGENTS.md file.
NGI Forge is built to be reusable for other projects and should be very easy to self-host using the
Provider Flake template.
Future plans
- Add all kinds of documentation and learning materials
- Add NixOS deployment workflow
- Add support for more programming languages
- Add support for application configuration via portable NixOS modules
- Provide development environments for upstream projects.
- Migrate projects from Ngipkgs repository to NGI Forge and Nixpkgs
Browse the list of open user stories to see more.
Try it out
Visit NGI Forge to browse and test the first available applications.
Source code is available on GitHub and any feedback or PRs are highly appreciated.