Applications: Difference between revisions

imported>Mic92
add nix-bitcoin project
other: add nixos-cli
 
(74 intermediate revisions by 36 users not shown)
Line 1: Line 1:
This article lists applications built for and with Nix; it constitutes a listing of what may be called the *extended Nix Ecosystem*.
<languages/>
<translate>
{{Merge|Nix ecosystem|reason=While the scopes are different, an article with the "official tools" as its first section and "built with nix" as a further section under it may be much more fitting.}}


== Nix Derivatives ==
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]].
== Non-NixOS Distributions == <!--T:3-->
<!--T:4-->
Various applications built on top of Nix:
Various applications built on top of Nix:


* [https://github.com/fractalide/fractalide fractalide] - Reusable Reproducible Composable Software
<!--T:5-->
* [https://github.com/musnix/musnix musnix] - real-time audio modules for NixOS
* [https://github.com/matthewbauer/nix-bundle nix-bundle] - package Nix attributes into single-file executables.
* [https://github.com/LnL7/nix-darwin nix-darwin] - NixOS modules for Darwin
* [https://github.com/lethalman/nix-user-chroot nix-user-chroot] - install Nix as an unpriviliged user on any system
* [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 == <!--T:6-->
<!--T:7-->
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/chrisfarms/nixos-shell nixos-shell] - like nix-shell, but for NixOS modules. Buildable version can be found [https://github.com/wavewave/nixos-shell/tree/submodule in this fork]
* [https://github.com/PapenfussLab/bionix bionix] - manage and execute bioinformatics pipelines
* [https://github.com/nixcloud/nixcloud-webservices nixcloud-webservices] - nixpkgs extension for web-related technologies
* [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://cgit.krebsco.de/krops/about/ krops] - a stateless alternative to nixops with improved secret management.
* [https://gitlab.com/simple-nixos-mailserver/nixos-mailserver nixos-mailserver] - A complete and Simple NixOS Mailserver
* [https://github.com/DBCDK/morph morph] - a stateless alternative to nixops, deployment files mostly compatible to nixops's none backend
* [https://github.com/nixbitcoin/nix-bitcoin/ nix-bitcoin] - Set of NixOS modules to install a bitcoin node with emphasis on security


== Nix Tooling ==
== Nix Platform == <!--T:9-->


Various tools built for working with the Nix Ecosystem:
<!--T:10-->
Projects which add support (e.g. for extra platforms or major capabilities) to Nix.


* [https://github.com/madjar/nox nox] - Tools to make Nix easier to use
<!--T:11-->
* [https://github.com/Mic92/nix-review nix-review] - Review nixpkgs pull requests (the fast edition)
* [https://github.com/LnL7/nix-darwin nix-darwin] - NixOS modules for Darwin
* [https://github.com/FRidh/niff niff] - Compare two Nix expressions to determine what attributes changes  
* [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
 
== Nix Tooling == <!--T:12-->
 
<!--T:13-->
Various tools built for working with the Nix Ecosystem (e.g. enhancements or alternatives to core Nix tools).
 
=== General configuration === <!--T:14-->
 
<!--T:15-->
* [https://github.com/nix-community/home-manager home-manager] - System for managing a user environment using Nix
* [https://github.com/nix-community/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/gytis-ivaskevicius/flake-utils-plus flake-utils-plus] - Flake templates and helper library. Extension of below
* [https://github.com/numtide/flake-utils flake-utils] - Set of flake-building utility functions
* [https://github.com/hercules-ci/flake-parts flake-parts] - Simplify Nix Flakes with the module system
* [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
 
=== Clustering === <!--T:21-->
 
<!--T:22-->
* [https://github.com/awakesecurity/nix-delegate nix-delegate] - Convenient utility for distributed Nix builds
 
=== Comparison === <!--T:23-->
 
<!--T:24-->
* [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://gitlab.com/khumba/nvd nvd] - Nix/NixOS package version diff tool
* [https://github.com/tgirlcloud/lix-diff lix-diff] - Nix/NixOS closure diffing tool
 
=== Dependencies === <!--T:25-->
 
<!--T:26-->
* [https://github.com/utdemir/nix-tree nix-tree] - Interactive dependency browser for Nix derivations
* [https://github.com/craigmbooth/nix-visualize nix-visualize] - Visualize the dependencies of a given package as a graph
* [https://github.com/nmattia/niv niv] - Painless dependencies for Nix projects
 
=== Nix lang comprehension === <!--T:27-->
 
<!--T:28-->
* [https://github.com/astro/deadnix deadnix] - Removes unused code from .nix files
 
<!--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/NixOS/nixfmt nixfmt] - The official formatter for Nix code
* [https://github.com/nix-community/nixpkgs-fmt nixpkgs-fmt] - Alternative code formatter, originally used in [[Nixpkgs]].
 
=== Package maintenance === <!--T:30-->
 
<!--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
 
=== 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/symphorien/nixseparatedebuginfod nixseparatedebuginfod] - Fetches debug symbols and source files for debuginfod-capables tools like gdb
 
=== 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/awakesecurity/nix-delegate nix-delegate] - Convenient utility for distributed Nix builds
* [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/peterhoeg/nix-upgrade-scripts nix-upgrade-scripts] - Tools for Nixpkgs maintainers to upgrade packages
* [https://github.com/flyingcircusio/userscan userscan] - Scans directories containing manually compiled programs and registers them with the Nix garbage collector
* [https://github.com/grafted-in/nixops-manager nixops-manager] - NixOps wrapper for Git repositories
* [https://github.com/peterldowns/nix-search-cli nix-search-cli] - CLI for searching packages on search.nixos.org
* [https://github.com/taktoa/narfuse narfuse] - FUSE filesystem for mounting Nix archive (NAR) files as a virtual Nix store
 
* [https://github.com/craigmbooth/nix-visualize nix-visualize] - Visualize the dependencies of a given package
=== Shell === <!--T:36-->
* [https://github.com/rycee/home-manager home-manager] - System for managing a user environment using Nix
 
* [https://github.com/sheenobu/nix-home nix-home] - Utilities for working with user configurations in Nix
<!--T:37-->
* [https://github.com/guibou/nixGL nixGl] - A wrapper to run OpenGL applications outside of NixOS
* [https://github.com/holidaycheck/nix-venient nix-venient] - A collection of convenient commands for working with nix/nixpkgs
* [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/flyingcircusio/userscan userscan] - Scans directories containing manually compiled programs and registers them with the Nix garbage collector
* [https://github.com/Mic92/nixos-shell nixos-shell (Mic92)] - Spawns lightweight nixos vms in a shell (like vagrant)
* [https://github.com/chrisfarms/nixos-shell nixos-shell (chrisfarms)] - like nix-shell, but for NixOS modules. Buildable version can be found [https://github.com/wavewave/nixos-shell/tree/submodule in this fork]
* [https://github.com/erikarvstedt/extra-container extra-container] - Run declarative NixOS containers from the command line. Similar to nixos-shell (chrisfarms)
 
=== Other === <!--T:38-->
 
<!--T:39-->
* [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/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/nix-community/nixos-cli nixos-cli] - an all-in-one tool to manage any NixOS installation with ease, combining the features of all the `nixos-*` commands. 


== Nix Operations ==
== Nix Operations == <!--T:40-->


<!--T:41-->
Operations tools for the Nix Ecosystem:
Operations tools for the Nix Ecosystem:


=== 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 (but unmaintained) tool for deploying to NixOS machines in a network or the cloud.
=== Deployment === <!--T:44-->
<!--T:45-->
* [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
<!--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/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
=== Docker === <!--T:48-->
<!--T:49-->
* [https://github.com/hercules-ci/arion Arion] - configure Docker Compose with Nix modules
* [https://nixery.dev Nixery ] - ad-hoc container images from Nix
=== 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
* [https://github.com/svanderburg/disnix Disnix] - a microservice architecture built with Nix.
* [https://github.com/TaktInc/hail Hail] - a service for pull-based continuous deployment.
* [https://github.com/DBCDK/morph Morph] - a NixOS deployment tool
* [https://nixery.dev Nixery ] - ad-hoc container images from Nix
* [https://github.com/hercules-ci/arion#readme Arion] - configure Docker Compose with Nix modules


== Alternative nix implementations & parser ==
== 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://gitlab.com/jD91mZM2/rnix 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/gen/java/org/nixos/idea/lang nix-idea] (java, parser)
* [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]].
 
<!--T:56-->
; [https://cachix.org Cachix]: binary caches as a service. Free for public caches, subscription for private token-protected caches.
; [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-->


== See also ==
<!--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


* [[Language-specific package helpers]]
</translate>
* [[Alternative Package Sets]]
[[Category:Software]]
* [[Configuration Collection|Get inspiration from other peoples NixOS configuration]]
[[Category:Guide]]
* [https://nixos.org/nixos/packages.html NixOS Packages Search] for searching through NixOS packages
[[Category:Nix{{#translation:}}]]