Difference between revisions of "Applications"

From NixOS Wiki
Jump to: navigation, search
(→‎Nix lang comprehension: add statix and nixpkgs-fmt)
(→‎Deployment: Add nixus)
Line 100: Line 100:
 
* [https://github.com/TaktInc/hail Hail] - a service for pull-based continuous deployment.
 
* [https://github.com/TaktInc/hail Hail] - a service for pull-based continuous deployment.
 
* [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/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
  

Revision as of 14:47, 30 January 2022

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

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

  • DevOS - Popular flake-based NixOS configuraton template, building on several libraries
  • dotfiles - Popular flake-based NixOS configuration template. Has hey management command
  • deploy-rs - Nix flake deployment tool
  • digga - Flake utility library, based on flake-utils-plus
  • flake-utils-plus - Flake templates and helper library. Extension of below
  • flake-utils - Set of flake-building utility functions

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

Dependencies

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

Nix lang comprehension

  • rnix-lsp - A language server which can provide in your text editor...
    • Syntax checking, completion, renaming, go to definition, code formatting (with nixpkgs-fmt), etc.
    • Supported in vim/neovim, Emacs, VSCode, Kakoune
  • statix - Linter and suggestions for the nix programming language
  • nixfmt - A formatter for Nix code
  • nixpkgs-fmt - Nix code formatter for nixpkgs
  • deadnix - Removes unused code from .nix files

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.
  • NixOps - Nix's official 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
  • Hail - a service for pull-based continuous deployment.
  • Morph - a NixOS deployment tool
  • Nixus - an experimental NixOS deployment tool
  • nixcloud-webservices - nixpkgs extension for web-related technologies

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