mirror of
https://github.com/ngi-nix/forge.git
synced 2026-09-01 19:51:23 +00:00
Software distribution system for projects funded via Next Generation Internet (NGI)
https://ngi.nixos.org/
- Nix 55.2%
- Elm 27.3%
- Python 6.8%
- TypeScript 5.5%
- CSS 1.9%
- Other 3.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .github | ||
| docs | ||
| flake | ||
| forge | ||
| maintainers | ||
| recipes | ||
| templates | ||
| ui | ||
| .envrc.example | ||
| .gitignore | ||
| default.nix | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
| shell.nix | ||
NGI Forge
This software is in active development. Expect backwards incompatible changes.
Features
-
Simple, type checked configuration recipes for packages and multi-component applications using module system
-
Easy self hosting
Conceptual diagram
graph TB
subgraph NixosCommunity["NixOS Community"]
NIXPKGS(Nixpkgs)
NIXOS(NixOS)
end
subgraph Sources["Sources"]
SW1[Git Repository]
SW2[Tarball URL]
SW3[Local Path]
end
PKG[Package Recipe<br/>recipe.nix]
subgraph PackageOutputs["Packages"]
PO4[Nix Package]
PO1[Development Environment]
PO2[Shell Environment]
end
APP[Application Recipe<br/>recipe.nix]
subgraph AppOutputs["Applications"]
AO1[Shell Runtime<br/>for CLI and GUI components]
AO2[Container Runtime<br/>for services]
AO3[NixOS Runtime<br/>for services]
end
SW1 & SW2 & SW3 & NIXPKGS--> PKG
PKG --> PO1 & PO2 & PO4
PO4 & NIXPKGS & NIXOS --> APP
APP --> AO1
APP --> AO2
APP --> AO3
Self hosting
- Initiate new Nix Forge instance from template
nix flake init --template github:ngi-nix/forge#provider
-
Set
repositoryUrlattribute inflake.nixto your repository -
Add all new files to git
-
Start creating recipes in
recipesdirectory
Nixpkgs repository
We package and maintain some NGI software in Nixpkgs and re-use it in the Forge application recipes.
Get a list of packages maintained in Nixpkgs
nix eval --json -f maintainers/list-nixpkgs.nix packages
Credits
This software was originally started as a fork of imincik/nix-forge.