Curated list of awesome lists
Awesome Nix
A curated list of the best resources in the Nix community.
Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible.
Please read the contribution guidelines before contributing.
Contents
Resources
Learning
-
How to Learn Nix - It's like a Let's Play, but for obscure software documentation.
-
Nix Notes - A collection of short notes about Nix, each contributing to the same virtual machine image.
-
Nix Pills - The best way to learn, with examples.
-
Nix Shorts - A collection of short notes about Nix.
-
nix.dev - An opinionated guide for developers about getting things done using the Nix ecosystem.
-
Tour of Nix - An online interactive tutorial on Nix language constructs.
Discovery
-
Hound - Handily search across all or selected Nix-related repositories.
-
Nix Package Versions - Find all versions of a package that were available in a channel and the revision you can download it from.
-
Pkgs on Nix - A database with Nix packages at all versions, from all channels.
Newsletters
-
NixOS Weekly - The newsletter to stay informed about community updates.
-
nixos-generators - Take a NixOS config and build multiple different images types including VirtualBox VMs, Azure images, and installation ISOs.
-
nixos-up - Super easy NixOS installer that can be used from the installation ISO.
Channel History
-
Colmena - A simple, stateless NixOS deployment tool modeled after NixOps and morph.
-
deploy-rs - A simple multi-profile Nix-flake deploy tool.
-
krops - A lightweight toolkit to deploy NixOS systems, remotely or locally.
-
KubeNix - A Kubernetes resource builder using Nix.
-
KuberNix - Single-dependency Kubernetes clusters via Nix packages.
-
morph - A tool for managing existing NixOS hosts.
-
Nixery - A Docker-compatible container registry which builds images ad-hoc via Nix.
-
NixOps - The official Nix deployment tool, compatible with AWS, Hetzner, and more.
-
nixos-shell - Simple headless VM configuration using Nix (similar to Vagrant).
-
pushnix - Simple cli utility that pushes NixOS configuration and triggers a rebuild using ssh.
-
terraform-nixos - A set of Terraform modules designed to deploy NixOS.
-
terranix - Use Nix and the NixOS module system to write your Terraform code.
-
alejandra - An opinionated Nix code formatter optimized for speed and consistency.
-
comma - Quickly run any binary; wraps together
nix run
and nix-index
.
-
nixfmt - A formatter for Nix code, intended to easily apply a uniform style.
-
nixpkgs-fmt - Nix code formatter for nixpkgs.
-
nixpkgs-hammering - Beat your package expressions into a shape.
-
nix-alien - Run unpatched binaries on Nix/NixOS easily.
-
nix-diff - A tool to explain why two Nix derivations differ.
-
nix-index - Quickly locate Nix packages with specific files.
-
nix-prefetch - A universal tool for updating source checksums.
-
nix-tree - Interactively browse the dependency graph of Nix derivations.
-
statix - A linter/fixer to check for and fix antipatterns in Nix code.
Development
-
Arion - Run
docker-compose
with help from Nix/NixOS.
-
cached-nix-shell - A
nix-shell
replacement that uses caching to open subsequent shells quickly.
-
Cachix - Hosted binary cache service; free for open-source projects.
-
devshell -
mkShell
with extra bits and a toml config option to be able to onboard non-nix users.
-
flake-utils - Pure Nix flake utility functions to help with writing flakes.
-
gitignore.nix - The most feature-complete and easy-to-use
.gitignore
integration.
-
lorri - A much better
nix-shell
for development that augments direnv.
-
Makes - A Nix-based CI/CD pipeline framework for building, testing, and releasing projects in any language, from anywhere.
-
niv - Easy dependency management for Nix projects with package pinning.
-
nix-direnv - A fast loader and flake-compliant configuration for the direnv environment auto-loader.
-
nixpkgs-review - The best tool to verify that a pull-request in Nixpkgs is building properly.
-
pre-commit-hooks.nix - Run linters/formatters at commit time and on your CI.
-
robotnix - A declarative and reproducible build system for Android (AOSP) images.
Programming Languages
Arduino
-
nixduino - Nix-based tool to help build Arduino sketches.
Crystal
Elm
-
elm2nix - Convert
elm.json
into Nix expressions.
Haskell
-
cabal2nix - Converts a Cabal file into a Nix build expression.
-
haskell.nix - Alternative Haskell Infrastructure for Nixpkgs.
-
nix-haskell-mode - Automatic Haskell setup in Emacs.
-
nixkell - A Haskell project template using Nix and direnv.
-
stack2nix - Generate nix expressions for Haskell projects.
Node.js
-
Napalm - Support for building npm packages in Nix with a lightweight npm registry.
-
node2nix - Generate Nix expression from a
package.json
(or package-lock.json
) (to be stored as files).
-
npmlock2nix - Generate Nix expressions from a
package-lock.json
(in-memory), primarily for web projects.
-
yarn2nix - Generate Nix expressions from a
yarn.lock
file.
PHP
-
composer2nix - Generate Nix expressions to build composer packages.
-
composer-plugin-nixify - Composer plugin to help with Nix packaging.
-
composition-c4 - Support for building composer packages from a
composer.lock
(using IFD).
-
nix-phps - Flake containing old and unmaintained PHP versions (intended for CI use).
-
nix-shell - Nix shells for PHP development.
PureScript
Python
-
mach-nix - Tool to create highly reproducible python environments.
-
poetry2nix - Build Python packages directly from Poetry's
poetry.lock
. No conversion step needed.
-
pypi2nix - Generate Nix expressions for Python packages.
Ruby
-
Bundix - Generates a Nix expression for your Bundler-managed application.
Rust
-
fenix - Rust toolchains and Rust analyzer nightly for nix.
-
naersk - Build Rust packages directly from
Cargo.lock
. No conversion step needed.
-
nix-cargo-integration - A library that allows easy and effortless integration for Cargo projects.
-
nixpkgs-mozilla - Mozilla's overlay with Rust toolchains and Firefox.
-
rust-nix-templater - Generates Nix build and development files for Rust projects.
-
rust-overlay - Pure and reproducible nix overlay of binary distributed Rust toolchains.
Scala
-
sbt-derivation - mkDerivation for sbt, similar to buildGoModule.
-
sbt-nix.g8 - giter8 template for new Scala projects with Nix support.
NixOS Modules
-
base16.nix - Flake way to theme programs in base16 colorschemes, mustache template support included.
-
Home Manager - Manage your user configuration just like NixOS.
-
musnix - Do real-time audio work in NixOS.
-
nixcloud-webservices - A Nixpkgs extension with a focus on ease of deployment of web-related technologies.
-
NixVim - A NeoVim distribution built with Nix modules and Nixpkgs.
-
Simple Nixos Mailserver - A complete mailserver, managed with NixOS modules.
-
Stylix - System-wide colorscheming and typography for NixOS.
Overlays
-
awesome-nix-hpc - High Performance Computing package sets.
-
nix-bitcoin - Nix packages and NixOS modules for Bitcoin nodes with higher-layer protocols with an emphasis on security.
-
nix-darwin - Manage macOS configuration just like on NixOS.
-
nixpkgs-firefox-darwin - Automatically updated Firefox binary packages for macOS.
-
nixpkgs-wayland - Bleeding-edge Wayland packages.
-
NUR - Nix User Repositories. The mother of all overlays, allowing access to user repositories and installing packages via attributes.