mirror of
https://github.com/nix-community/awesome-nix.git
synced 2024-11-28 12:08:51 +03:00
😎 A curated list of the best resources in the Nix community [maintainer=@cyntheticfox]
.github/workflows | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md |
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
- Installation Media
- Channel History
- Deployment Tools
- Command-Line Tools
- Development
- Programming Languages
- NixOS Modules
- Overlays
- Community
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, 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.
- Nixpkgs Database - A database with Nix packages at all versions, from all channels.
Newsletters
- NixOS Weekly - The newsletter to stay informed about community updates.
Installation Media
- nixos-generators - Take a NixOS config and build multiple different images types including VirtualBox VMs, Azure images, and installation ISOs.
Channel History
- Channel History - Get historical git commits for Nix channels.
- Nix Infra Status - Get the age and current git commit of each Nix channel.
Deployment Tools
- 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).
- terraform-nixos - A set of Terraform modules designed to deploy NixOS.
- terranix - Use Nix and the NixOS module system to write your Terraform code.
Command-Line Tools
- comma - Quickly run any binary; wraps together
nix run
andnix-index
. - nixfmt - A formatter for Nix code, intended to easily apply a uniform style.
- 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.
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.
- gitignore.nix - The most feature-complete and easy-to-use
.gitignore
integration. - lorri - A much better
nix-shell
for development that augments direnv. - 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.
Programming Languages
Elm
- elm2nix - Convert elm.json into Nix expressions.
Haskell
- cabal2nix - Converts a Cabal file into a Nix build expression.
- stack2nix - Generate nix expressions for Haskell projects.
- nix-haskell-mode - Automatic Haskell setup in Emacs.
- haskell.nix - Alternative Haskell Infrastructure for Nixpkgs.
Node.js
- Napalm - Support for building npm packages in Nix with a lightweight npm registry.
- node2nix - Generate Nix expressions from a
package.lock
npm file. - yarn2nix - Generate Nix expressions from a
yarn.lock
file.
PureScript
- Easy PureScript Nix - A project to easily use PureScript and other tools with Nix.
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
- carnix - A compiler from the
Cargo.lock
files produced by cargo to Nix expressions. - fenix - Rust nightly toolchains and rust analyzer nightly for nix.
- naersk - Build Rust packages directly from
Cargo.lock
. No conversion step needed.
NixOS Modules
- musnix - Do real-time audio work in NixOS.
- nixcloud-webservices - A Nixpkgs extension with a focus on ease of deployment of web-related technologies.
- Simple Nixos Mailserver - A complete mailserver, managed with NixOS modules.
Overlays
- awesome-nix-hpc - High Performance Computing package sets.
- Home Manager - Manage your user configuration just like NixOS.
- 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-mozilla - Mozilla's overlay with bleeding-edge Rust and Firefox.
- 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.
Community
- #nix:matrix.org (Unofficial)
- #nixos on FreeNode
- Discord - Nix/Nixos (Unofficial)
- Discourse - The best place to get help and discuss Nix-related topics.
- Wiki (Unofficial)