Applications

Revision as of 06:56, 2 April 2024 by Mic92 (talk | contribs) (Link to nix awesome list)

This article lists applications built for and with Nix; it constitutes a listing of what may be called the Extended Nix Ecosystem.

Also see the nix awesome list

Nix Derivatives

Various applications built on top of Nix:

  • not-os - build a system firmware for embedded devices

Built with Nix

Projects which leverage Nix.

  • nix-bitcoin - Set of NixOS modules to install a bitcoin node with emphasis on security
  • 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

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

Flakes

  • dotfiles - Popular flake-based NixOS configuration template. Has hey management command
  • 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

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

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

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.

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

  • colmena - a NixOS deployment tool
  • deploy-rs - a simple multi-profile Nix-flake deploy tool
  • lollypops - a parallel and stateles NixOS deployment tool
  • Morph - a NixOS deployment tool
  • Nixus - an experimental NixOS deployment tool
  • Bento - a NixOS fleet manager supporting remote systems not up 24/7

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

NixOps related

  • nixops-manager - NixOps wrapper for Git repositories
  • krops - a stateless alternative to nixops with improved secret management.
  • morph - a stateless alternative to nixops, deployment files mostly compatible to nixops's none backend

Alternative nix implementations & parser

  • hnix (haskell, parser & evaluator)
  • rnix (rust, parser)
  • go-nix (go, parser & nix-compatible file hasher)
  • nix-idea (java, parser)


See also