Applications: Difference between revisions
m adjusted wording for nh |
Phanirithvij (talk | contribs) m fix the broken link |
||
(24 intermediate revisions by 12 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> | |||
<translate> | |||
<!--T:1--> | |||
This article lists applications built for and with Nix; it constitutes a listing of what may be called the '''''Extended Nix Ecosystem''''' (see [[Special:MyLanguage/Nix Ecosystem|Nix Ecosystem]] for the Core Nix Ecosystem). | |||
<!--T:2--> | |||
If you are looking for Linux software/applications you should look at [[:Category:Software|Software]] or its sub-article [[:Category:Software|Applications]]. | |||
== Non-NixOS Distributions == <!--T:3--> | |||
== | |||
<!--T:4--> | |||
Various applications built on top of Nix: | Various applications built on top of Nix: | ||
<!--T:5--> | |||
* [https://github.com/cleverca22/not-os not-os] - build a system firmware for embedded devices | * [https://github.com/cleverca22/not-os not-os] - build a system firmware for embedded devices | ||
== Built with Nix == | == Built with Nix == <!--T:6--> | ||
<!--T:7--> | |||
Projects which leverage Nix. | Projects which leverage Nix. | ||
<!--T:8--> | |||
* [https://github.com/styx-static/styx styx] - Static site generator in Nix expression language | * [https://github.com/styx-static/styx styx] - Static site generator in Nix expression language | ||
* [https://github.com/PapenfussLab/bionix bionix] - manage and execute bioinformatics pipelines | * [https://github.com/PapenfussLab/bionix bionix] - manage and execute bioinformatics pipelines | ||
* [https://nix-community.github.io/ethereum.nix/ ethereum.nix] - A collection of Nix packages and NixOS modules designed to make it easier to operate Ethereum related services and infrastructure | * [https://nix-community.github.io/ethereum.nix/ ethereum.nix] - A collection of Nix packages and NixOS modules designed to make it easier to operate Ethereum related services and infrastructure | ||
* [https://gitlab.com/simple-nixos-mailserver/nixos-mailserver nixos-mailserver] - A complete and Simple NixOS Mailserver | |||
== Nix Platform == | == Nix Platform == <!--T:9--> | ||
<!--T:10--> | |||
Projects which add support (e.g. for extra platforms or major capabilities) to Nix. | Projects which add support (e.g. for extra platforms or major capabilities) to Nix. | ||
<!--T:11--> | |||
* [https://github.com/LnL7/nix-darwin nix-darwin] - NixOS modules for Darwin | * [https://github.com/LnL7/nix-darwin nix-darwin] - NixOS modules for Darwin | ||
* [https://github.com/musnix/musnix musnix] - real-time audio modules for NixOS | * [https://github.com/musnix/musnix musnix] - real-time audio modules for NixOS | ||
* [https://github.com/guibou/nixGL nixGl] - A wrapper to run OpenGL applications outside of NixOS | * [https://github.com/guibou/nixGL nixGl] - A wrapper to run OpenGL applications outside of NixOS | ||
== Nix Tooling == | == Nix Tooling == <!--T:12--> | ||
<!--T:13--> | |||
Various tools built for working with the Nix Ecosystem (e.g. enhancements or alternatives to core Nix tools). | Various tools built for working with the Nix Ecosystem (e.g. enhancements or alternatives to core Nix tools). | ||
=== General configuration === | === General configuration === <!--T:14--> | ||
<!--T:15--> | |||
* [https://github.com/rycee/home-manager home-manager] - System for managing a user environment using Nix | * [https://github.com/rycee/home-manager home-manager] - System for managing a user environment using Nix | ||
* [https://github.com/pjones/plasma-manager plasma-manager] - manage KDE Plasma with Home-manager | |||
== About == <!--T:16--> | |||
=== Flakes === <!--T:17--> | |||
<!--T:18--> | |||
* [https://github.com/serokell/deploy-rs deploy-rs] - Nix flake deployment tool | * [https://github.com/serokell/deploy-rs deploy-rs] - Nix flake deployment tool | ||
* [https://github.com/gytis-ivaskevicius/flake-utils-plus flake-utils-plus] - Flake templates and helper library. Extension of below | * [https://github.com/gytis-ivaskevicius/flake-utils-plus flake-utils-plus] - Flake templates and helper library. Extension of below | ||
Line 43: | Line 58: | ||
* [https://snowfall.org/ snowfall] - Unified configuration for systems, packages, modules, shells, templates, and more with Nix Flakes. | * [https://snowfall.org/ snowfall] - Unified configuration for systems, packages, modules, shells, templates, and more with Nix Flakes. | ||
=== | === Archives === <!--T:19--> | ||
<!--T:20--> | |||
* [https://github.com/taktoa/narfuse narfuse] - FUSE filesystem for mounting Nix archive (NAR) files as a virtual Nix store | * [https://github.com/taktoa/narfuse narfuse] - FUSE filesystem for mounting Nix archive (NAR) files as a virtual Nix store | ||
=== Clustering === | === Clustering === <!--T:21--> | ||
<!--T:22--> | |||
* [https://github.com/awakesecurity/nix-delegate nix-delegate] - Convenient utility for distributed Nix builds | * [https://github.com/awakesecurity/nix-delegate nix-delegate] - Convenient utility for distributed Nix builds | ||
=== Comparison === | === Comparison === <!--T:23--> | ||
<!--T:24--> | |||
* [https://github.com/Gabriel439/nix-diff nix-diff] - Compare Nix derivations | * [https://github.com/Gabriel439/nix-diff nix-diff] - Compare Nix derivations | ||
* [https://github.com/FRidh/niff niff] - Compare two Nix expressions to determine what attributes changes | * [https://github.com/FRidh/niff niff] - Compare two Nix expressions to determine what attributes changes | ||
* [https://gitlab.com/khumba/nvd nvd] - Nix/NixOS package version diff tool | |||
=== Dependencies === <!--T:25--> | |||
<!--T:26--> | |||
* [https://github.com/craigmbooth/nix-visualize nix-visualize] - Visualize the dependencies of a given package | * [https://github.com/craigmbooth/nix-visualize nix-visualize] - Visualize the dependencies of a given package | ||
* [https://github.com/nmattia/niv niv] - Painless dependencies for Nix projects | * [https://github.com/nmattia/niv niv] - Painless dependencies for Nix projects | ||
=== Nix lang comprehension === | === Nix lang comprehension === <!--T:27--> | ||
* [https://github.com/ | |||
<!--T:28--> | |||
* [https://github.com/astro/deadnix deadnix] - Removes unused code from .nix files | |||
* [https://github.com/nerdypepper/statix statix] - Linter and suggestions for the nix programming language | |||
<!--T:29--> | |||
* [https://github.com/nerdypepper/statix statix] - Linter and suggestions for the nix programming language | |||
* [https://github.com/oxalica/nil nil] - Nix Language server, an incremental analysis assistant for writing in Nix. | |||
* [https://github.com/serokell/nixfmt nixfmt] - A formatter for Nix code | * [https://github.com/serokell/nixfmt nixfmt] - A formatter for Nix code | ||
* [https://github.com/nix-community/nixpkgs-fmt nixpkgs-fmt] - Nix code formatter for nixpkgs | * [https://github.com/nix-community/nixpkgs-fmt nixpkgs-fmt] - Nix code formatter for nixpkgs | ||
=== Package maintenance === | === Package maintenance === <!--T:30--> | ||
* [https://github.com/ | |||
<!--T:31--> | |||
* [https://github.com/Mic92/nix-update/ nix-update] - Swiss-knife for updating nix packages. | |||
* [https://github.com/Mic92/nixpkgs-review nixpkgs-review] - Review nixpkgs pull requests | * [https://github.com/Mic92/nixpkgs-review nixpkgs-review] - Review nixpkgs pull requests | ||
=== Debugging === | === Debugging === <!--T:32--> | ||
<!--T:33--> | |||
* [https://github.com/edolstra/dwarffs dwarffs] - Fetches DWARF debug info files for gdb automatically from cache.nixos.org | * [https://github.com/edolstra/dwarffs dwarffs] - Fetches DWARF debug info files for gdb automatically from cache.nixos.org | ||
* [https://github.com/symphorien/nixseparatedebuginfod nixseparatedebuginfod] - Fetches debug symbols and source files for debuginfod-capables tools like gdb | * [https://github.com/symphorien/nixseparatedebuginfod nixseparatedebuginfod] - Fetches debug symbols and source files for debuginfod-capables tools like gdb | ||
=== Search === | === Search === <!--T:34--> | ||
<!--T:35--> | |||
* [https://github.com/bennofs/nix-index nix-index] - Quickly locate nix packages with specific files | * [https://github.com/bennofs/nix-index nix-index] - Quickly locate nix packages with specific files | ||
* [https://github.com/symphorien/nix-du nix-du] - Find which gc-roots take disk space in a nix store | * [https://github.com/symphorien/nix-du nix-du] - Find which gc-roots take disk space in a nix store | ||
* [https://github.com/nix-hackers/nix-info nix-info] - Homebrew info querying for Nix | * [https://github.com/nix-hackers/nix-info nix-info] - Homebrew info querying for Nix | ||
* [https://github.com/flyingcircusio/userscan userscan] - Scans directories containing manually compiled programs and registers them with the Nix garbage collector | * [https://github.com/flyingcircusio/userscan userscan] - Scans directories containing manually compiled programs and registers them with the Nix garbage collector | ||
* [https://github.com/peterldowns/nix-search-cli nix-search-cli] - CLI for searching packages on search.nixos.org | |||
=== Shell === | === Shell === <!--T:36--> | ||
<!--T:37--> | |||
* [https://github.com/hedning/nix-bash-completions nix-bash-completions] - Bash completion for <code>nix*</code> commands | * [https://github.com/hedning/nix-bash-completions nix-bash-completions] - Bash completion for <code>nix*</code> commands | ||
* [https://github.com/Mic92/nixos-shell nixos-shell (Mic92)] - Spawns lightweight nixos vms in a shell (like vagrant) | * [https://github.com/Mic92/nixos-shell nixos-shell (Mic92)] - Spawns lightweight nixos vms in a shell (like vagrant) | ||
Line 92: | Line 121: | ||
* [https://github.com/erikarvstedt/extra-container extra-container] - Run declarative NixOS containers from the command line. Similar to nixos-shell (chrisfarms) | * [https://github.com/erikarvstedt/extra-container extra-container] - Run declarative NixOS containers from the command line. Similar to nixos-shell (chrisfarms) | ||
=== Other === | === Other === <!--T:38--> | ||
<!--T:39--> | |||
* [https://github.com/matthewbauer/nix-bundle nix-bundle] - package Nix attributes into single-file executables. | * [https://github.com/matthewbauer/nix-bundle nix-bundle] - package Nix attributes into single-file executables. | ||
* [https://github.com/lethalman/nix-user-chroot nix-user-chroot] - install Nix as an unpriviliged user on any system | * [https://github.com/lethalman/nix-user-chroot nix-user-chroot] - install Nix as an unpriviliged user on any system | ||
* [https://github.com/ViperML/nh nh] - a rewrite of nixos-rebuild featuring diffs with nvd and a tree of builds with nix-output-manager, as well as other quality of life features such as package searching. | * [https://github.com/ViperML/nh nh] - a rewrite of nixos-rebuild featuring diffs with nvd and a tree of builds with nix-output-manager, as well as other quality of life features such as package searching. | ||
== Nix Operations == | == Nix Operations == <!--T:40--> | ||
<!--T:41--> | |||
Operations tools for the Nix Ecosystem: | Operations tools for the Nix Ecosystem: | ||
=== Official === | === Official === <!--T:42--> | ||
<!--T:43--> | |||
* [https://github.com/nixos/hydra Hydra] - Nix's official continuous integration and build system. | * [https://github.com/nixos/hydra Hydra] - Nix's official continuous integration and build system. | ||
* [https://github.com/NixOS/nixops NixOps] - Nix's official tool for deploying to NixOS machines in a network or the cloud. | * [https://github.com/NixOS/nixops NixOps] - Nix's official (but unmaintained) tool for deploying to NixOS machines in a network or the cloud. | ||
=== Deployment === <!--T:44--> | |||
<!--T:45--> | |||
* [https://github.com/zhaofengli/colmena colmena] - a NixOS deployment tool | * [https://github.com/rapenne-s/bento Bento] - a NixOS fleet manager supporting remote systems not up 24/7 | ||
<!--T:46--> | |||
* [https://github.com/zhaofengli/colmena colmena] - a NixOS deployment tool | |||
* comin - A deployment tool to continuously pull from Git repositories. | |||
* [https://github.com/serokell/deploy-rs deploy-rs] - a simple multi-profile Nix-flake deploy tool | * [https://github.com/serokell/deploy-rs deploy-rs] - a simple multi-profile Nix-flake deploy tool | ||
* [https://github.com/pinpox/lollypops lollypops] - a parallel and | |||
<!--T:47--> | |||
* [[Special:MyLanguage/krops|krops]] - a lightweight toolkit to deploy NixOS systems, remotely or locally | |||
* [https://github.com/pinpox/lollypops lollypops] - a parallel and stateless NixOS deployment tool | |||
* [https://github.com/DBCDK/morph Morph] - a NixOS deployment tool | * [https://github.com/DBCDK/morph Morph] - a NixOS deployment tool | ||
* [https://github.com/MatthewCroughan/nixinate Nixinate] - A Nix flake library to provide app outputs for managing existing NixOS hosts over SSH. | |||
* <code>nixos-build --target-host</code> | |||
* [https://github.com/NixOS/nixops NixOps] - [Not recommended for new projects] a tool for deploying to NixOS machines in a network or cloud. | |||
* [https://github.com/Infinisil/nixus Nixus] - an experimental NixOS deployment tool | * [https://github.com/Infinisil/nixus Nixus] - an experimental NixOS deployment tool | ||
=== Docker === | === Docker === <!--T:48--> | ||
<!--T:49--> | |||
* [https://github.com/hercules-ci/arion Arion] - configure Docker Compose with Nix modules | * [https://github.com/hercules-ci/arion Arion] - configure Docker Compose with Nix modules | ||
* [https://nixery.dev Nixery ] - ad-hoc container images from Nix | * [https://nixery.dev Nixery ] - ad-hoc container images from Nix | ||
=== Kubernetes === | === Kubernetes === <!--T:50--> | ||
<!--T:51--> | |||
* [https://github.com/xtruder/kubenix kubenix] - Kubernetes resource builder written in Nix | * [https://github.com/xtruder/kubenix kubenix] - Kubernetes resource builder written in Nix | ||
* [https://github.com/xtruder/nix-kubernetes nix-kubernetes] - Kubernetes deployment manager written in nix | * [https://github.com/xtruder/nix-kubernetes nix-kubernetes] - Kubernetes deployment manager written in nix | ||
== | == Alternative nix implementations & parser == <!--T:52--> | ||
<!--T:53--> | |||
* [https://github.com/jwiegley/hnix hnix] (haskell, parser & evaluator) | * [https://github.com/jwiegley/hnix hnix] (haskell, parser & evaluator) | ||
* [https://github.com/nix-community/rnix-parser rnix] (rust, parser) | * [https://github.com/nix-community/rnix-parser rnix] (rust, parser) | ||
* [https://github.com/orivej/go-nix go-nix] (go, parser & nix-compatible file hasher) | * [https://github.com/orivej/go-nix go-nix] (go, parser & nix-compatible file hasher) | ||
* [https://github.com/NixOS/nix-idea/tree/master/src/ | * [https://github.com/NixOS/nix-idea/tree/master/src/main/java/org/nixos/idea/lang nix-idea] (java, parser) | ||
== Additional unofficial ecosystem == <!--T:54--> | |||
<!--T:55--> | |||
None of the services are required to use Nix. None of these services are affiliated with the [[Special:MyLanguage/NixOS Foundation|NixOS Foundation]]. | |||
* [[Language-specific package helpers]] | <!--T:56--> | ||
* [[Alternative Package Sets]] | ; [https://cachix.org Cachix]: binary caches as a service. Free for public caches, subscription for private token-protected caches. | ||
* [[Configuration Collection|Get inspiration from other peoples NixOS configuration]] | ; [https://hercules-ci.com Hercules CI]: simplify your CI setup with stateless build agents. Free for open source, per-user subscription for private repositories. | ||
; [https://garnix.io Garnix]: nix CI, caching (open beta) and cloud hosting (private alpha) based on Nix as a service. Currently free, but offers commerical plans. | |||
; [https://nixbuild.net/ nixbuild.net]: remote Nix builders as a service for x86_64 and AArch64. Pay-per-use. | |||
== See also == <!--T:57--> | |||
<!--T:58--> | |||
* [https://github.com/nix-community/awesome-nix awesome-nix] | |||
* [[Special:MyLanguage/Language-specific package helpers|Language-specific package helpers]] | |||
* [[Special:MyLanguage/Alternative Package Sets|Alternative Package Sets]] | |||
* [[Special:MyLanguage/Configuration Collection|Get inspiration from other peoples NixOS configuration]] | |||
* [https://search.nixos.org/packages NixOS Packages Search] for searching through NixOS packages | * [https://search.nixos.org/packages NixOS Packages Search] for searching through NixOS packages | ||
</translate> | |||
[[Category:Software]] | [[Category:Software]] | ||
[[Category:Guide]] | [[Category:Guide]] | ||
[[Category:Nix]] | [[Category:Nix{{#translation:}}]] |
Revision as of 08:38, 15 September 2024
This article lists applications built for and with Nix; it constitutes a listing of what may be called the Extended Nix Ecosystem (see Nix Ecosystem for the Core Nix Ecosystem).
If you are looking for Linux software/applications you should look at Software or its sub-article Applications.
Non-NixOS Distributions
Various applications built on top of Nix:
- not-os - build a system firmware for embedded devices
Built with Nix
Projects which leverage Nix.
- styx - Static site generator in Nix expression language
- bionix - manage and execute bioinformatics pipelines
- ethereum.nix - A collection of Nix packages and NixOS modules designed to make it easier to operate Ethereum related services and infrastructure
- nixos-mailserver - A complete and Simple NixOS Mailserver
Nix Platform
Projects which add support (e.g. for extra platforms or major capabilities) to Nix.
- nix-darwin - NixOS modules for Darwin
- musnix - real-time audio modules for NixOS
- nixGl - A wrapper to run OpenGL applications outside of NixOS
Nix Tooling
Various tools built for working with the Nix Ecosystem (e.g. enhancements or alternatives to core Nix tools).
General configuration
- home-manager - System for managing a user environment using Nix
- plasma-manager - manage KDE Plasma with Home-manager
About
Flakes
- deploy-rs - Nix flake deployment tool
- flake-utils-plus - Flake templates and helper library. Extension of below
- flake-utils - Set of flake-building utility functions
- flake-parts - Simplify Nix Flakes with the module system
- snowfall - Unified configuration for systems, packages, modules, shells, templates, and more with Nix Flakes.
Archives
- narfuse - FUSE filesystem for mounting Nix archive (NAR) files as a virtual Nix store
Clustering
- nix-delegate - Convenient utility for distributed Nix builds
Comparison
- nix-diff - Compare Nix derivations
- niff - Compare two Nix expressions to determine what attributes changes
- nvd - Nix/NixOS package version diff tool
Dependencies
- nix-visualize - Visualize the dependencies of a given package
- niv - Painless dependencies for Nix projects
Nix lang comprehension
- deadnix - Removes unused code from .nix files
- statix - Linter and suggestions for the nix programming language
- nil - Nix Language server, an incremental analysis assistant for writing in Nix.
- nixfmt - A formatter for Nix code
- nixpkgs-fmt - Nix code formatter for nixpkgs
Package maintenance
- nix-update - Swiss-knife for updating nix packages.
- nixpkgs-review - Review nixpkgs pull requests
Debugging
- dwarffs - Fetches DWARF debug info files for gdb automatically from cache.nixos.org
- nixseparatedebuginfod - Fetches debug symbols and source files for debuginfod-capables tools like gdb
Search
- nix-index - Quickly locate nix packages with specific files
- nix-du - Find which gc-roots take disk space in a nix store
- nix-info - Homebrew info querying for Nix
- userscan - Scans directories containing manually compiled programs and registers them with the Nix garbage collector
- nix-search-cli - CLI for searching packages on search.nixos.org
Shell
- nix-bash-completions - Bash completion for
nix*
commands - nixos-shell (Mic92) - Spawns lightweight nixos vms in a shell (like vagrant)
- nixos-shell (chrisfarms) - like nix-shell, but for NixOS modules. Buildable version can be found in this fork
- extra-container - Run declarative NixOS containers from the command line. Similar to nixos-shell (chrisfarms)
Other
- nix-bundle - package Nix attributes into single-file executables.
- nix-user-chroot - install Nix as an unpriviliged user on any system
- nh - a rewrite of nixos-rebuild featuring diffs with nvd and a tree of builds with nix-output-manager, as well as other quality of life features such as package searching.
Nix Operations
Operations tools for the Nix Ecosystem:
Official
- Hydra - Nix's official continuous integration and build system.
- NixOps - Nix's official (but unmaintained) tool for deploying to NixOS machines in a network or the cloud.
Deployment
- Bento - a NixOS fleet manager supporting remote systems not up 24/7
- colmena - a NixOS deployment tool
- comin - A deployment tool to continuously pull from Git repositories.
- deploy-rs - a simple multi-profile Nix-flake deploy tool
- krops - a lightweight toolkit to deploy NixOS systems, remotely or locally
- lollypops - a parallel and stateless NixOS deployment tool
- Morph - a NixOS deployment tool
- Nixinate - A Nix flake library to provide app outputs for managing existing NixOS hosts over SSH.
nixos-build --target-host
- NixOps - [Not recommended for new projects] a tool for deploying to NixOS machines in a network or cloud.
- Nixus - an experimental NixOS deployment tool
Docker
Kubernetes
- kubenix - Kubernetes resource builder written in Nix
- nix-kubernetes - Kubernetes deployment manager written in nix
Alternative nix implementations & parser
- hnix (haskell, parser & evaluator)
- rnix (rust, parser)
- go-nix (go, parser & nix-compatible file hasher)
- nix-idea (java, parser)
Additional unofficial ecosystem
None of the services are required to use Nix. None of these services are affiliated with the NixOS Foundation.
- Cachix
- binary caches as a service. Free for public caches, subscription for private token-protected caches.
- Hercules CI
- simplify your CI setup with stateless build agents. Free for open source, per-user subscription for private repositories.
- Garnix
- nix CI, caching (open beta) and cloud hosting (private alpha) based on Nix as a service. Currently free, but offers commerical plans.
- nixbuild.net
- remote Nix builders as a service for x86_64 and AArch64. Pay-per-use.
See also
- awesome-nix
- Language-specific package helpers
- Alternative Package Sets
- Get inspiration from other peoples NixOS configuration
- NixOS Packages Search for searching through NixOS packages