awesome-nix/README.md
2020-10-13 20:55:27 +00:00

7.5 KiB

awesome-nix Awesome nixos

A curated list of the best resources in the Nix community

Please read the contribution guidelines before contributing.

Resources

Learning

  • Nix Notes - A collection of short notes about Nix, each contributing to the same virtual machine image.
  • Nix Pills - The best way to learn by examples.
  • Nix Shorts - A collection of short notes about Nix.
  • nix.dev - An opinionated guide for developers getting things done using the Nix ecosystem.
  • Tour of Nix - Online interactive tutorial on Nix language constructs.

Grokking

  • Hound - Handy search across all or selected nix related repos.

Newsletters

  • NixOS Weekly - The best newsletter to stay informed about community updates.

Installation Media

  • nixos-generators - Take a nixos config and build multile usage images including VirtualBox, Azure, installation iso among other formats.

Channel History

Cloud stuff

  • krops - A lightweigt toolkit to deploy NixOS systems, remotely or locally.
  • kubenix - Kubernetes resource builder using nix.
  • morph - A tool for managing existing NixOS hosts.
  • nixery - Container registry which builds images ad-hoc via Nix
  • nixops - Deploy using Nix.
  • nixos-shell - Simple headless VM configuration using Nix (similar to Vagrant).
  • terraform-nixos - A set of Terraform modules that are designed to deploy NixOS.
  • terranix - Use Nix and the NixOS module system to write your Terraform code.

High Performance Computing

Command-line tools

  • 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.
  • nix-diff - Explain why two Nix derivations differ.
  • nix-index - Quickly locate nix packages with specific files.
  • nix-prefetch - Universal tool to update source checksums

Development

  • lorri - A much better nix-shell for development.
  • cached-nix-shell - A nix-shell replacementt that uses caching to open subsequent shells quickly.
  • nix-review - The best tool to verify that a pull-request in nixpkgs is building properly.
  • niv - Easy dependency management for Nix projects.
  • pre-commit-hooks.nix - Run linters/formatters at commit time and on your CI
  • gitignore.nix - Most feature complete and easy to use .gitignore integration
  • arion - Run docker-compose with help from Nix/NixOS
  • Cachix - Hosted binary cache service

Programming languages

Elm

  • Nix Elm Tools - Elm language community tooling for Nix and NixOS users.
  • elm2nix - Convert elm.json into Nix expressions

Haskell

  • cabal2nix - Converts a Cabal file into a Nix build expression.
  • snack - Nix-based incremental build tool for Haskell projects.
  • stack2nix - Generate nix expressions for Haskell projects.
  • nix-haskell-mode - Automatic Haskell setup in Emacs
  • haskell.nix - Alternative Haskell Infrastructure for Nixpkgs

NodeJS

  • napalm - Support for building npm packages in Nix and lightweight npm registry.
  • yarn2nix - Generate nix expressions from a yarn.lock file.
  • node2nix

PureScript

Python

  • mach-nix - Tool to create highly reproducible python environments
  • pypi2nix - Generate Nix expressions for Python packages
  • poetry2nix - Build Python packages directly from Poetry's poetry.lock. No conversion step needed.

Ruby

  • bundix - Generates a Nix expression for your Bundler-managed application.

Rust

  • naersk - Build Rust packages directly from Cargo.lock. No conversion step needed.
  • carnix - Carnix is a compiler from the Cargo.lock files produced by cargo to Nix expressions.

NixOS modules

Overlays

  • NUR - Nix User Repositories. The mother of all overlays.
  • home-manager - Manager user configuration just like NixOS.
  • nix-darwin - Manage macOS configuration just like on NixOS.
  • nixpkgs-mozilla - Mozilla's overlay with bleeding Rust and Firefox.
  • nixpkgs-wayland - Bleeding edge Wayland packages.
  • nix-bitcoin - Nix packages and nixos modules for Bitcoin nodes with higher layer protocols with an emphasis on security.
  • awesome-nix-hpc - High Performance Computing package sets

Community

License

CC0