Applications: Difference between revisions

From NixOS Wiki
imported>Jbedo
No edit summary
imported>Nix
add much more structure to document
Line 6: Line 6:


* [https://github.com/fractalide/fractalide fractalide] - Reusable Reproducible Composable Software  
* [https://github.com/fractalide/fractalide fractalide] - Reusable Reproducible Composable Software  
* [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 ==
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/Mic92/nixos-shell nixos-shell (Mic92)] - Spawns lightweight nixos vms in a shell (like vagrant)
* [https://github.com/PapenfussLab/bionix bionix] - manage and execute bioinformatics pipelines
* [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)
== Nix Platform ==
 
Projects which add support (e.g. for extra platforms or major capabilities) to Nix.
 
* [https://github.com/LnL7/nix-darwin nix-darwin] - NixOS modules for Darwin
* [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
 
== Deployment ==
 
Projects which focus on deployment cases for Nix.
 
* [https://github.com/nixcloud/nixcloud-webservices nixcloud-webservices] - nixpkgs extension for web-related technologies
* [https://github.com/nixcloud/nixcloud-webservices nixcloud-webservices] - nixpkgs extension for web-related technologies
* [https://cgit.krebsco.de/krops/about/ krops] - a stateless alternative to nixops with improved secret management.
* [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
* [https://github.com/PapenfussLab/bionix bionix] - manage and execute bioinformatics pipelines


== Nix Tooling ==
== Nix Tooling ==


Various tools built for working with the Nix Ecosystem:
Various tools built for working with the Nix Ecosystem (e.g. enhancements or alternatives to core Nix tools).
 
=== General configuration ===
* [https://github.com/rycee/home-manager home-manager] - System for managing a user environment using Nix


* [https://github.com/Mic92/nixpkgs-review nixpkgs-review] - Review nixpkgs pull requests
=== Toolboxes ===
* [https://github.com/madjar/nox nox] - Tools to make Nix easier to use
* [https://github.com/Mic92/nix-update nix-update] - Swiss army knife for updating nix packages
* [https://github.com/Mic92/nix-update nix-update] - Swiss army knife for updating nix packages
* [https://github.com/madjar/nox nox] - Tools to make Nix easier to use
* [https://github.com/holidaycheck/nix-venient nix-venient] - A collection of convenient commands for working with nix/nixpkgs
 
=== Archives ===
* [https://github.com/taktoa/narfuse narfuse] - FUSE filesystem for mounting Nix archive (NAR) files as a virtual Nix store
 
=== Clustering ===
* [https://github.com/awakesecurity/nix-delegate nix-delegate] - Convenient utility for distributed Nix builds
 
=== Comparison ===
* [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://github.com/Mic92/nixpkgs-review nixpkgs-review] - Review nixpkgs pull requests
=== Dependencies ===
* [https://github.com/craigmbooth/nix-visualize nix-visualize] - Visualize the dependencies of a given package
* [https://github.com/nmattia/niv niv] - Painless dependencies for Nix projects
=== Nix lang comprehension ===
* [https://github.com/serokell/nixfmt nixfmt] - A formatter for Nix code
=== Package maintenance ===
* [https://github.com/peterhoeg/nix-upgrade-scripts nix-upgrade-scripts] - Tools for Nixpkgs maintainers to upgrade packages
=== Search ===
* [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/taktoa/narfuse narfuse] - FUSE filesystem for mounting Nix archive (NAR) files as a virtual Nix store
=== Shell ===
* [https://github.com/craigmbooth/nix-visualize nix-visualize] - Visualize the dependencies of a given package
* [https://github.com/rycee/home-manager home-manager] - System for managing a user environment using Nix
* [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/nmattia/niv niv] - Painless dependencies for Nix projects
* [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/serokell/nixfmt nixfmt] - A formatter for Nix code
* [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 ===
* [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


== Nix Operations ==
== Nix Operations ==
Line 50: Line 83:
Operations tools for the Nix Ecosystem:
Operations tools for the Nix Ecosystem:


=== Official ===
* [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] - Nix's official tool for deploying to NixOS machines in a network or the cloud.
=== Deployment ===
* [https://github.com/serokell/deploy-rs deploy-rs] - a simple multi-profile Nix-flake deploy tool
* [https://github.com/TaktInc/hail Hail] - a service for pull-based continuous deployment.
* [https://github.com/DBCDK/morph Morph] - a NixOS deployment tool
=== Docker ===
* [https://github.com/hercules-ci/arion Arion] - configure Docker Compose with Nix modules
* [https://nixery.dev Nixery ] - ad-hoc container images from Nix
=== Kubernetes ===
* [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
=== Microservices ===
* [https://github.com/svanderburg/disnix Disnix] - a microservice architecture built with 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
=== NixOps related ===
* [https://nixery.dev Nixery ] - ad-hoc container images from Nix
* [https://github.com/grafted-in/nixops-manager nixops-manager] - NixOps wrapper for Git repositories
* [https://github.com/hercules-ci/arion#readme Arion] - configure Docker Compose with Nix modules
* [https://cgit.krebsco.de/krops/about/ krops] - a stateless alternative to nixops with improved secret management.
* [https://github.com/serokell/deploy-rs deploy-rs] - a simple multi-profile Nix-flake deploy tool
* [https://github.com/DBCDK/morph morph] - a stateless alternative to nixops, deployment files mostly compatible to nixops's none backend


== Alternative nix implementations & parser ==
== Alternative nix implementations & parser ==

Revision as of 04:43, 20 September 2021

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

Nix Derivatives

Various applications built on top of Nix:

  • fractalide - Reusable Reproducible Composable Software
  • 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

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

Deployment

Projects which focus on deployment cases for Nix.

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

Toolboxes

  • nox - Tools to make Nix easier to use
  • nix-update - Swiss army knife for updating nix packages
  • nix-venient - A collection of convenient commands for working with nix/nixpkgs

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
  • nixpkgs-review - Review nixpkgs pull requests

Dependencies

  • nix-visualize - Visualize the dependencies of a given package
  • niv - Painless dependencies for Nix projects

Nix lang comprehension

  • nixfmt - A formatter for Nix code

Package maintenance

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

Nix Operations

Operations tools for the Nix Ecosystem:

Official

  • Hydra - Nix's official continuous integration and build system.
  • [1] - Nix's official tool for deploying to NixOS machines in a network or the cloud.

Deployment

  • deploy-rs - a simple multi-profile Nix-flake deploy tool
  • Hail - a service for pull-based continuous deployment.
  • Morph - a 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

Microservices

  • Disnix - a microservice architecture built with 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