Applications: Difference between revisions
Appearance
Marked this version for translation Tags: Mobile edit Mobile web edit |
m remove periods from line endings for consistency |
||
| (13 intermediate revisions by 7 users not shown) | |||
| Line 35: | Line 35: | ||
<!--T:11--> | <!--T:11--> | ||
* [https://github.com/ | * [https://github.com/nix-darwin/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/ | * [https://github.com/nix-community/nixGL nixGl] - A wrapper to run OpenGL applications outside of NixOS | ||
== Nix Tooling == <!--T:12--> | == Nix Tooling == <!--T:12--> | ||
| 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 | ||
* [https://github.com/nix-community/nixvim Nixvim] - A Neovim distribution built around Nix modules | |||
* [https://github.com/NotAShelf/nvf nvf] - Modular, extensible and portable Neovim configuration framework | |||
=== Flakes === <!--T:17--> | === Flakes === <!--T:17--> | ||
| Line 76: | Line 76: | ||
* [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:// | * [https://khumba.net/projects/nvd/ nvd] - Nix/NixOS package version diff tool | ||
* [https://github.com/ | * [https://github.com/isabelroses/lix-diff lix-diff] - Nix/NixOS closure diffing tool | ||
=== Dependencies === <!--T:25--> | === Dependencies === <!--T:25--> | ||
| Line 84: | Line 84: | ||
* [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 | |||
=== | ==== Static analysis / linters ==== | ||
* [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/oppiliappan/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) | |||
==== Formatters ==== | |||
* [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/ | * [https://github.com/kamadorueda/alejandra alejandra] - Unofficial Nix code formatter | ||
=== Package maintenance === <!--T:30--> | === Package maintenance === <!--T:30--> | ||
| Line 102: | Line 110: | ||
* [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 112: | Line 122: | ||
<!--T:35--> | <!--T:35--> | ||
* [https://github.com/ | * [https://github.com/nix-community/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 | ||
| Line 129: | Line 139: | ||
<!--T:39--> | <!--T:39--> | ||
* [https://github.com/ | * [https://github.com/nix-community/nix-bundle nix-bundle] - package Nix attributes into single-file executables | ||
* [https://github.com/ | * [https://github.com/lucabrunox/nix-user-chroot nix-user-chroot] - install Nix as an unpriviliged user on any system | ||
* [https://github.com/ | * [https://github.com/nix-community/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. | * [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. | ||
| Line 142: | Line 152: | ||
<!--T:43--> | <!--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 | * [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--> | === Deployment === <!--T:44--> | ||
| Line 152: | Line 162: | ||
<!--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 159: | Line 169: | ||
* [https://github.com/pinpox/lollypops lollypops] - a parallel and stateless NixOS deployment tool | * [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 | * [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> | * <code>nixos-build --target-host</code> | ||
* [https://github.com/Infinisil/nixus Nixus] - an experimental NixOS deployment tool | * [https://github.com/Infinisil/nixus Nixus] - an experimental NixOS deployment tool | ||
| Line 179: | Line 188: | ||
<!--T:53--> | <!--T:53--> | ||
* [https://github.com/ | * [https://github.com/haskell-nix/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/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 20:22, 20 May 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
- home-manager - System for managing a user environment using Nix
- plasma-manager - manage KDE Plasma with Home-manager
- Nixvim - A Neovim distribution built around Nix modules
- nvf - Modular, extensible and portable Neovim configuration framework
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
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
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
- 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- 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)
- 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
- awesome-nix
- Language-specific package helpers
- Alternative Package Sets
- Get inspiration from other peoples NixOS configuration
- NixOS Packages Search for searching through NixOS packages