Jump to content

Applications: Difference between revisions

From Official NixOS Wiki
Ardenet (talk | contribs)
Marked this version for translation
Tags: Mobile edit Mobile web edit
Malix (talk | contribs)
Package maintenance: feat: nixpkgs-hammering
 
(9 intermediate revisions by 6 users not shown)
Line 49: Line 49:
* [https://github.com/nix-community/home-manager home-manager] - System for managing a user environment using Nix
* [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
* [https://github.com/nix-community/plasma-manager plasma-manager] - manage KDE Plasma with Home-manager
== About == <!--T:16-->


=== Flakes === <!--T:17-->
=== Flakes === <!--T:17-->
Line 76: Line 74:
* [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
* [https://khumba.net/projects/nvd/ nvd] - Nix/NixOS package version diff tool
* [https://github.com/tgirlcloud/lix-diff lix-diff] - Nix/NixOS closure diffing tool
* [https://github.com/tgirlcloud/lix-diff lix-diff] - Nix/NixOS closure diffing tool


Line 84: Line 82:
* [https://github.com/utdemir/nix-tree nix-tree] - Interactive dependency browser for Nix derivations
* [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/craigmbooth/nix-visualize nix-visualize] - Visualize the dependencies of a given package as a graph
* [https://github.com/andir/npins npins] - Simple tool for handling different types of dependencies in a Nix project
* [https://github.com/nmattia/niv niv] - Painless dependencies for Nix projects
* [https://github.com/nmattia/niv niv] - Painless dependencies for Nix projects
* [https://nixtamal.toast.al/ Nixtamal] - Fulfilling input pinning for Nix
=== Nix language tools === <!--T:27-->
==== Language servers ====
* [https://github.com/oxalica/nil nil] - Nix language server, an incremental analysis assistant for writing in Nix.
* [https://github.com/nix-community/nixd nixd] - Nix language server, newer than nil, with more features.


=== Nix lang comprehension === <!--T:27-->
==== Static analysis / linters ====


<!--T:28-->
* [https://github.com/astro/deadnix deadnix] - Removes unused code from .nix files
* [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
* [https://github.com/inclyc/nixf-diagnose nixf-diagnose] - Linter - CLI wrapper around nixf-tidy (part of the [https://github.com/nix-community/nixd nixd] project).


<!--T:29-->
==== Formatters ====
* [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/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]].
* [https://github.com/kamadorueda/alejandra alejandra] - Unofficial Nix code formatter


=== Package maintenance === <!--T:30-->
=== Package maintenance === <!--T:30-->
Line 102: Line 108:
* [https://github.com/Mic92/nix-update/ nix-update] - Swiss-knife for updating nix packages.  
* [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
* [https://github.com/nix-community/nix-init nix-init] - Generate Nix packages from URLs
* [https://github.com/jtojnar/nixpkgs-hammering nixpkgs-hammering] - Enforce a set of nit-picky rules that aim to point out and explain common mistakes in nixpkgs package pull requests


=== Debugging === <!--T:32-->
=== Debugging === <!--T:32-->
Line 152: Line 160:
<!--T:46-->
<!--T:46-->
* [https://github.com/zhaofengli/colmena colmena] - a NixOS deployment tool
* [https://github.com/zhaofengli/colmena colmena] - a NixOS deployment tool
* comin - A deployment tool to continuously pull from Git repositories.
* [https://github.com/nlewo/comin 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


Line 183: Line 191:
* [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/main/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)
* [https://lix.systems/ lix] (c++, fork of [https://github.com/NixOS/nix NixOS/nix])
* [https://snix.dev/ snix] (rust, cli & evaluator & store)


== Additional unofficial ecosystem == <!--T:54-->
== Additional unofficial ecosystem == <!--T:54-->

Latest revision as of 22:40, 6 April 2026

⤟︎
This article or section is a candidate for merging with Nix ecosystem. 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. Further information may be found in the relevant discussion page.

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.

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

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
  • lix-diff - Nix/NixOS closure diffing tool

Dependencies

  • nix-tree - Interactive dependency browser for Nix derivations
  • nix-visualize - Visualize the dependencies of a given package as a graph
  • npins - Simple tool for handling different types of dependencies in a Nix project
  • niv - Painless dependencies for Nix projects
  • Nixtamal - Fulfilling input pinning for Nix

Nix language tools

Language servers

  • nil - Nix language server, an incremental analysis assistant for writing in Nix.
  • nixd - Nix language server, newer than nil, with more features.

Static analysis / linters

  • deadnix - Removes unused code from .nix files
  • statix - Linter and suggestions for the nix programming language
  • nixf-diagnose - Linter - CLI wrapper around nixf-tidy (part of the nixd project).

Formatters

  • nixfmt - The official formatter for Nix code
  • alejandra - Unofficial Nix code formatter

Package maintenance

  • nix-update - Swiss-knife for updating nix packages.
  • nixpkgs-review - Review nixpkgs pull requests
  • nix-init - Generate Nix packages from URLs
  • nixpkgs-hammering - Enforce a set of nit-picky rules that aim to point out and explain common mistakes in nixpkgs package 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
  • 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

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.
  • nixos-cli - an all-in-one tool to manage any NixOS installation with ease, combining the features of all the `nixos-*` commands.

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

  • Arion - configure Docker Compose with Nix modules
  • Nixery - ad-hoc container images from Nix

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)
  • lix (c++, fork of NixOS/nix)
  • snix (rust, cli & evaluator & store)

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