Applications: Difference between revisions

From NixOS Wiki
Kenji (talk | contribs)
Minor rewording; dropped sensitive-and-outdated projects
Line 2: Line 2:
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).
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).


== Nix Derivatives ==
== Non-NixOS Distributions ==


Various applications built on top of Nix:
Various applications built on top of Nix:
Line 12: Line 12:
Projects which leverage Nix.
Projects which leverage Nix.


* [https://github.com/nixbitcoin/nix-bitcoin/ nix-bitcoin] - Set of NixOS modules to install a bitcoin node with emphasis on security
* [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
* [https://gitlab.com/simple-nixos-mailserver/nixos-mailserver nixos-mailserver] - A complete and Simple NixOS Mailserver


== Nix Platform ==
== Nix Platform ==
Line 34: Line 33:


=== Flakes ===
=== Flakes ===
* [https://github.com/hlissner/dotfiles dotfiles] - Popular flake-based NixOS configuration template. Has '''hey''' management command
* [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 102: Line 100:
* [https://github.com/zhaofengli/colmena colmena] - a NixOS deployment tool  
* [https://github.com/zhaofengli/colmena colmena] - a NixOS deployment tool  
* [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 stateles 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/Infinisil/nixus Nixus] - an experimental NixOS deployment tool
* [https://github.com/Infinisil/nixus Nixus] - an experimental NixOS deployment tool
Line 121: Line 119:
* [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/gen/java/org/nixos/idea/lang nix-idea] (java, parser)
== See also ==
== See also ==



Revision as of 00:08, 5 April 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).

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

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

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

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 stateless 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

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