2021-03-24 09:33:20 +00:00
# Awesome Nix [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [<img src="https://nixos.org/logo/nixos-logo-only-hires.png" width="200" align="right" alt="NixOS">](https://nixos.org)
2019-05-15 15:18:48 +00:00
2021-03-22 23:35:33 +00:00
> A curated list of the best resources in the Nix community.
2019-05-15 15:21:11 +00:00
2021-03-23 09:30:01 +00:00
[Nix ](https://github.com/nixos/nix ) is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible.
2019-05-16 09:11:16 +00:00
*Please read the [contribution guidelines ](CONTRIBUTING.md ) before contributing.*
2019-05-15 15:18:48 +00:00
2021-03-23 00:00:21 +00:00
## Contents
* [Resources ](#resources )
* [Learning ](#learning )
2021-03-24 23:33:59 +00:00
* [Discovery ](#discovery )
2021-03-23 00:00:21 +00:00
* [Newsletters ](#newsletters )
* [Installation Media ](#installation-media )
* [Channel History ](#channel-history )
2021-03-24 23:33:59 +00:00
* [Deployment Tools ](#deployment-tools )
2021-03-23 00:00:21 +00:00
* [Command-Line Tools ](#command-line-tools )
* [Development ](#development )
* [Programming Languages ](#programming-languages )
2021-03-30 15:08:45 +00:00
* [Arduino ](#arduino )
2021-03-31 14:23:32 +00:00
* [Crystal ](#crystal )
2021-03-23 00:00:21 +00:00
* [Elm ](#elm )
* [Haskell ](#haskell )
2021-03-23 07:55:34 +00:00
* [Node.js ](#nodejs )
2021-06-14 18:47:17 +00:00
* [PHP ](#php )
2021-03-23 00:00:21 +00:00
* [PureScript ](#purescript )
* [Python ](#python )
* [Ruby ](#ruby )
* [Rust ](#rust )
* [NixOS Modules ](#nixos-modules )
* [Overlays ](#overlays )
* [Community ](#community )
2019-05-15 15:18:48 +00:00
## Resources
### Learning
2019-12-18 18:21:48 +00:00
* [Nix Notes ](https://github.com/noteed/nix-notes ) - A collection of short notes about Nix, each contributing to the same virtual machine image.
2021-03-24 10:44:22 +00:00
* [Nix Pills ](https://nixos.org/nixos/nix-pills/ ) - The best way to learn, with examples.
2019-10-10 12:36:11 +00:00
* [Nix Shorts ](https://github.com/justinwoo/nix-shorts/ ) - A collection of short notes about Nix.
2021-03-24 10:44:22 +00:00
* [nix.dev ](https://nix.dev/ ) - An opinionated guide for developers about getting things done using the Nix ecosystem.
* [Tour of Nix ](https://nixcloud.io/tour ) - An online interactive tutorial on Nix language constructs.
2019-05-15 15:18:48 +00:00
2021-03-24 23:33:59 +00:00
### Discovery
2019-11-01 08:05:56 +00:00
2021-03-24 10:44:22 +00:00
* [Hound ](https://search.nix.gsc.io ) - Handily search across all or selected Nix-related repositories.
2021-06-14 20:53:40 +00:00
* [NixDB ](https://4shells.com/nixdb ) - A database with Nix packages at all versions, from all channels.
2019-11-01 08:05:56 +00:00
2019-05-15 15:18:48 +00:00
### Newsletters
2021-03-24 10:44:22 +00:00
* [NixOS Weekly ](https://weekly.nixos.org/ ) - *The* newsletter to stay informed about community updates.
2019-05-15 15:18:48 +00:00
2019-11-01 07:59:09 +00:00
## Installation Media
2019-11-01 08:05:56 +00:00
2021-03-24 10:44:22 +00:00
* [nixos-generators ](https://github.com/nix-community/nixos-generators ) - Take a NixOS config and build multiple different images types including VirtualBox VMs, Azure images, and installation ISOs.
2021-04-14 10:53:10 +00:00
* [nixos-up ](https://github.com/samuela/nixos-up ) - Super easy NixOS installer that can be used from the installation ISO.
2019-11-01 07:59:09 +00:00
2021-03-24 10:44:22 +00:00
## Channel History
2019-11-01 08:05:56 +00:00
2021-03-23 08:11:10 +00:00
* [Channel History ](https://channels.nix.gsc.io ) - Get historical git commits for Nix channels.
2021-03-24 10:44:22 +00:00
* [Nix Infra Status ](https://status.nixos.org ) - Get the age and current git commit of each Nix channel.
2021-07-12 09:30:49 +00:00
* [nixpkgs PR tracker ](https://nixpk.gs/pr-tracker.html ) - A tracker for whether a PR has made it into a channel yet.
2019-11-01 07:59:09 +00:00
2021-03-24 23:33:59 +00:00
## Deployment Tools
2019-05-15 15:18:48 +00:00
2021-03-31 14:23:32 +00:00
* [Colmena ](https://github.com/zhaofengli/colmena ) - A simple, stateless NixOS deployment tool modeled after NixOps and morph.
2021-03-24 10:44:22 +00:00
* [krops ](https://cgit.krebsco.de/krops/about/ ) - A lightweight toolkit to deploy NixOS systems, remotely or locally.
2021-03-24 21:08:15 +00:00
* [KubeNix ](https://github.com/xtruder/kubenix ) - A Kubernetes resource builder using Nix.
2021-03-24 11:04:51 +00:00
* [KuberNix ](https://github.com/saschagrunert/kubernix ) - Single-dependency Kubernetes clusters via Nix packages.
2019-09-12 19:56:54 +00:00
* [morph ](https://github.com/DBCDK/morph ) - A tool for managing existing NixOS hosts.
2021-03-24 21:08:15 +00:00
* [Nixery ](https://github.com/google/nixery ) - A Docker-compatible container registry which builds images ad-hoc via Nix.
* [NixOps ](https://github.com/NixOS/nixops ) - The official Nix deployment tool, compatible with AWS, Hetzner, and more.
2020-02-17 21:15:00 +00:00
* [nixos-shell ](https://github.com/Mic92/nixos-shell ) - Simple headless VM configuration using Nix (similar to Vagrant).
2021-04-10 14:02:32 +00:00
* [pushnix ](https://github.com/arnarg/pushnix ) - Simple cli utility that pushes NixOS configuration and triggers a rebuild using ssh.
2021-03-24 10:44:22 +00:00
* [terraform-nixos ](https://github.com/tweag/terraform-nixos ) - A set of Terraform modules designed to deploy NixOS.
2019-09-12 19:58:23 +00:00
* [terranix ](https://terranix.org ) - Use Nix and the NixOS module system to write your Terraform code.
2019-05-15 15:18:48 +00:00
2021-03-23 07:55:34 +00:00
## Command-Line Tools
2019-05-15 15:18:48 +00:00
2020-07-21 11:59:18 +00:00
* [comma ](https://github.com/Shopify/comma ) - Quickly run any binary; wraps together `nix run` and `nix-index` .
2021-03-22 22:33:03 +00:00
* [nixfmt ](https://github.com/serokell/nixfmt ) - A formatter for Nix code, intended to easily apply a uniform style.
2021-04-10 14:09:31 +00:00
* [nixpkgs-fmt ](https://github.com/nix-community/nixpkgs-fmt ) - Nix code formatter for nixpkgs.
2021-05-03 00:09:04 +00:00
* [nixpkgs-hammering ](https://github.com/jtojnar/nixpkgs-hammering ) - Beat your package expressions into a shape.
2021-03-24 10:44:22 +00:00
* [nix-diff ](https://github.com/Gabriel439/nix-diff ) - A tool to explain why two Nix derivations differ.
2021-03-24 09:33:20 +00:00
* [nix-index ](https://github.com/bennofs/nix-index ) - Quickly locate Nix packages with specific files.
2021-03-24 10:44:22 +00:00
* [nix-prefetch ](https://github.com/msteen/nix-prefetch ) - A universal tool for updating source checksums.
2021-04-07 06:24:05 +00:00
* [nix-tree ](https://github.com/utdemir/nix-tree ) - Interactively browse the dependency graph of Nix derivations.
2019-05-15 15:00:21 +00:00
2019-05-15 15:39:15 +00:00
## Development
2021-03-24 21:08:15 +00:00
* [Arion ](https://github.com/hercules-ci/arion ) - Run `docker-compose` with help from Nix/NixOS.
2021-03-24 10:44:22 +00:00
* [cached-nix-shell ](https://github.com/xzfc/cached-nix-shell ) - A `nix-shell` replacement that uses caching to open subsequent shells quickly.
* [Cachix ](https://cachix.org/ ) - Hosted binary cache service; free for open-source projects.
2021-07-12 09:02:03 +00:00
* [devshell ](https://github.com/numtide/devshell ) - `mkShell` with extra bits and a toml config option to be able to onboard non-nix users.
2021-07-12 09:00:36 +00:00
* [flake-utils ](https://github.com/numtide/flake-utils ) - Pure Nix flake utility functions to help with writing flakes.
2021-03-24 10:44:22 +00:00
* [gitignore.nix ](https://github.com/hercules-ci/gitignore.nix ) - The most feature-complete and easy-to-use `.gitignore` integration.
* [lorri ](https://github.com/target/lorri/ ) - A much better `nix-shell` for development that augments direnv.
* [niv ](https://github.com/nmattia/niv/ ) - Easy dependency management for Nix projects with package pinning.
2021-03-22 22:33:56 +00:00
* [nix-direnv ](https://github.com/nix-community/nix-direnv ) - A fast loader and flake-compliant configuration for the direnv environment auto-loader.
2021-03-24 21:08:15 +00:00
* [nixpkgs-review ](https://github.com/Mic92/nixpkgs-review ) - The best tool to verify that a pull-request in Nixpkgs is building properly.
2021-04-01 22:52:57 +00:00
* [pre-commit-hooks.nix ](https://github.com/cachix/pre-commit-hooks.nix ) - Run linters/formatters at commit time and on your CI.
2019-05-15 15:39:15 +00:00
2021-03-23 07:55:34 +00:00
## Programming Languages
2019-05-15 15:00:21 +00:00
2021-03-30 15:08:45 +00:00
### Arduino
* [nixduino ](https://github.com/boredom101/nixduino ) - Nix-based tool to help build Arduino sketches.
2021-03-31 14:23:32 +00:00
### Crystal
* [crystal2nix ](https://github.com/nix-community/crystal2nix ) - Convert `shard.lock` into Nix expressions.
2019-05-15 15:00:21 +00:00
### Elm
2021-03-31 14:23:32 +00:00
* [elm2nix ](https://github.com/hercules-ci/elm2nix ) - Convert `elm.json` into Nix expressions.
2019-05-15 15:03:46 +00:00
### Haskell
2021-03-22 22:33:03 +00:00
* [cabal2nix ](https://github.com/NixOS/cabal2nix ) - Converts a Cabal file into a Nix build expression.
2021-03-22 23:35:33 +00:00
* [haskell.nix ](https://github.com/input-output-hk/haskell.nix ) - Alternative Haskell Infrastructure for Nixpkgs.
2021-05-25 18:52:48 +00:00
* [nix-haskell-mode ](https://github.com/matthewbauer/nix-haskell-mode ) - Automatic Haskell setup in Emacs.
2021-05-25 18:49:37 +00:00
* [nixkell ](https://github.com/pwm/nixkell ) - A Haskell project template using Nix and direnv.
2021-05-25 18:52:48 +00:00
* [stack2nix ](https://github.com/input-output-hk/stack2nix ) - Generate nix expressions for Haskell projects.
2019-05-15 15:03:46 +00:00
2021-03-23 07:55:34 +00:00
### Node.js
2019-05-15 15:18:48 +00:00
2021-03-24 21:08:15 +00:00
* [Napalm ](https://github.com/nmattia/napalm ) - Support for building npm packages in Nix with a lightweight npm registry.
2021-07-08 23:20:27 +00:00
* [node2nix ](https://github.com/svanderburg/node2nix ) - Generate Nix expression from a `package.json` (or `package-lock.json` ) (to be stored as files).
2021-07-08 00:36:01 +00:00
* [npmlock2nix ](https://github.com/tweag/npmlock2nix ) - Generate Nix expressions from a `package-lock.json` (in-memory), primarily for web projects.
2021-03-24 21:08:15 +00:00
* [yarn2nix ](https://github.com/nix-community/yarn2nix ) - Generate Nix expressions from a `yarn.lock` file.
2019-05-15 15:18:48 +00:00
2021-06-14 18:47:17 +00:00
### PHP
* [composer2nix ](https://github.com/svanderburg/composer2nix ) - Generate Nix expressions to build composer packages.
* [composition-c4 ](https://github.com/fossar/composition-c4 ) - Support for building composer packages from a `composer.lock` (using IFD).
* [nix-phps ](https://github.com/fossar/nix-phps ) - Flake containing old and unmaintained PHP versions (intended for CI use).
2019-12-10 00:06:00 +00:00
### PureScript
2021-03-24 21:08:15 +00:00
* [Easy PureScript Nix ](https://github.com/justinwoo/easy-purescript-nix ) - A project to easily use PureScript and other tools with Nix.
2019-12-10 00:06:00 +00:00
2019-05-15 15:03:46 +00:00
### Python
2021-03-22 23:35:33 +00:00
* [mach-nix ](https://github.com/DavHau/mach-nix ) - Tool to create highly reproducible python environments.
2021-03-24 08:38:42 +00:00
* [poetry2nix ](https://github.com/nix-community/poetry2nix ) - Build Python packages directly from [Poetry's ](https://python-poetry.org/ ) `poetry.lock` . No conversion step needed.
2021-03-22 23:35:33 +00:00
* [pypi2nix ](https://github.com/nix-community/pypi2nix ) - Generate Nix expressions for Python packages.
2019-05-15 15:03:46 +00:00
### Ruby
2021-03-24 21:08:15 +00:00
* [Bundix ](https://github.com/nix-community/bundix ) - Generates a Nix expression for your Bundler-managed application.
2019-05-15 15:18:48 +00:00
### Rust
2021-05-12 17:01:16 +00:00
* [fenix ](https://github.com/nix-community/fenix ) - Rust toolchains and rust analyzer nightly for nix.
2021-03-24 08:38:42 +00:00
* [naersk ](https://github.com/nmattia/naersk ) - Build Rust packages directly from `Cargo.lock` . No conversion step needed.
2021-07-12 15:38:41 +00:00
* [nixpkgs-mozilla ](https://github.com/mozilla/nixpkgs-mozilla ) - Mozilla's overlay with bleeding-edge Rust and Firefox.
2021-03-27 10:52:37 +00:00
* [rust-nix-templater ](https://github.com/yusdacra/rust-nix-templater ) - Generates Nix build and development files for Rust projects.
2021-07-12 15:38:41 +00:00
* [rust-overlay ](https://github.com/oxalica/rust-overlay ) - A compatible replacement for Mozilla's overlay that's pure and reproducible.
2019-05-15 15:29:57 +00:00
2021-03-23 07:55:34 +00:00
## NixOS Modules
2019-09-16 08:29:56 +00:00
2021-03-24 21:08:15 +00:00
* [musnix ](https://github.com/musnix/musnix ) - Do real-time audio work in NixOS.
2021-03-24 10:44:22 +00:00
* [nixcloud-webservices ](https://github.com/nixcloud/nixcloud-webservices ) - A Nixpkgs extension with a focus on ease of deployment of web-related technologies.
* [Simple Nixos Mailserver ](https://gitlab.com/simple-nixos-mailserver/nixos-mailserver ) - A complete mailserver, managed with NixOS modules.
2019-09-16 08:29:56 +00:00
2019-05-16 11:42:31 +00:00
## Overlays
2021-03-22 23:35:33 +00:00
* [awesome-nix-hpc ](https://github.com/freuk/awesome-nix-hpc ) - High Performance Computing package sets.
2021-03-24 21:08:15 +00:00
* [Home Manager ](https://github.com/nix-community/home-manager ) - Manage your user configuration just like NixOS.
2021-03-24 10:44:22 +00:00
* [nix-bitcoin ](https://github.com/fort-nix/nix-bitcoin ) - Nix packages and NixOS modules for Bitcoin nodes with higher-layer protocols with an emphasis on security.
2019-05-16 11:42:31 +00:00
* [nix-darwin ](https://github.com/LnL7/nix-darwin ) - Manage macOS configuration just like on NixOS.
2021-03-24 10:44:22 +00:00
* [nixpkgs-wayland ](https://github.com/colemickens/nixpkgs-wayland ) - Bleeding-edge Wayland packages.
* [NUR ](https://github.com/nix-community/NUR/ ) - Nix User Repositories. The mother of all overlays, allowing access to user repositories and installing packages via attributes.
2019-05-16 11:42:31 +00:00
2019-05-15 15:29:57 +00:00
## Community
2021-05-25 18:59:52 +00:00
* [#nix:nixos.org ](https://matrix.to/#/#nix:nixos.org )
2021-05-25 19:06:29 +00:00
* [#nixos on Libera.Chat ](ircs://irc.libera.chat:6697/nixos/nixos )
2019-09-07 22:48:25 +00:00
* [Discord - Nix/Nixos (Unofficial) ](https://discord.gg/BMUCQx6 )
2021-03-24 10:44:22 +00:00
* [Discourse ](https://discourse.nixos.org/ ) - The best place to get help and discuss Nix-related topics.
2021-03-26 23:18:23 +00:00
* [NixCon ](https://nixcon.org/ ) - The annual community conference for contributors and users of Nix and NixOS.
2019-09-16 08:52:43 +00:00
* [Wiki (Unofficial) ](https://nixos.wiki )