632 lines
30 KiB
HTML
632 lines
30 KiB
HTML
<h1 id="awesome-nix-awesome">Awesome Nix <a
|
||
href="https://awesome.re"><img src="https://awesome.re/badge.svg"
|
||
alt="Awesome" /></a></h1>
|
||
<p><a href="https://nixos.org"> <picture>
|
||
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nixos.svg">
|
||
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nixos-white.png">
|
||
<img src="https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nixos.svg" align="right" width="250" alt="NixOS logo">
|
||
</picture> </a></p>
|
||
<blockquote>
|
||
<p>A curated list of the best resources in the Nix community.</p>
|
||
</blockquote>
|
||
<p><br></p>
|
||
<p><a href="https://github.com/nixos/nix">Nix</a> is a powerful package
|
||
manager for Linux and other Unix systems that makes package management
|
||
reliable and reproducible.</p>
|
||
<p><em>Please read the <a href="CONTRIBUTING.md">contribution
|
||
guidelines</a> before contributing.</em></p>
|
||
<h2 id="contents">Contents</h2>
|
||
<ul>
|
||
<li><a href="#resources">Resources</a>
|
||
<ul>
|
||
<li><a href="#learning">Learning</a></li>
|
||
<li><a href="#discovery">Discovery</a></li>
|
||
</ul></li>
|
||
<li><a href="#installation-media">Installation Media</a></li>
|
||
<li><a href="#channel-history">Channel History</a></li>
|
||
<li><a href="#deployment-tools">Deployment Tools</a></li>
|
||
<li><a href="#virtualisation">Virtualisation</a></li>
|
||
<li><a href="#command-line-tools">Command-Line Tools</a></li>
|
||
<li><a href="#development">Development</a></li>
|
||
<li><a href="#devops">DevOps</a></li>
|
||
<li><a href="#programming-languages">Programming Languages</a>
|
||
<ul>
|
||
<li><a href="#arduino">Arduino</a></li>
|
||
<li><a href="#clojure">Clojure</a></li>
|
||
<li><a href="#crystal">Crystal</a></li>
|
||
<li><a href="#elm">Elm</a></li>
|
||
<li><a href="#gleam">Gleam</a></li>
|
||
<li><a href="#haskell">Haskell</a></li>
|
||
<li><a href="#haxe">Haxe</a></li>
|
||
<li><a href="#lean">Lean</a></li>
|
||
<li><a href="#nodejs">Node.js</a></li>
|
||
<li><a href="#ocaml">OCaml</a></li>
|
||
<li><a href="#php">PHP</a></li>
|
||
<li><a href="#purescript">PureScript</a></li>
|
||
<li><a href="#python">Python</a></li>
|
||
<li><a href="#ruby">Ruby</a></li>
|
||
<li><a href="#rust">Rust</a></li>
|
||
<li><a href="#scala">Scala</a></li>
|
||
<li><a href="#zig">Zig</a></li>
|
||
</ul></li>
|
||
<li><a href="#nixos-modules">NixOS Modules</a></li>
|
||
<li><a href="#nixos-configuration-editors">NixOS Configuration
|
||
Editors</a></li>
|
||
<li><a href="#overlays">Overlays</a></li>
|
||
<li><a href="#distributions">Distributions</a></li>
|
||
<li><a href="#community">Community</a></li>
|
||
</ul>
|
||
<h2 id="resources">Resources</h2>
|
||
<h3 id="learning">Learning</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://fasterthanli.me/series/building-a-rust-service-with-nix">Building
|
||
a Rust service with Nix</a> - An in-depth blog series about creating a
|
||
Rust application with Nix.</li>
|
||
<li><a href="https://zaynetro.com/explainix">Explainix</a> - Explain Nix
|
||
syntax visually.</li>
|
||
<li><a href="https://ianthehenry.com/posts/how-to-learn-nix/">How to
|
||
Learn Nix</a> - It’s like a Let’s Play, but for obscure software
|
||
documentation.</li>
|
||
<li><a href="https://code.tvl.fyi/about/nix/nix-1p">Nix - A One
|
||
Pager</a> - A one page introduction to the Nix language.</li>
|
||
<li><a
|
||
href="https://tonyfinn.com/blog/nix-from-first-principles-flake-edition/">Nix
|
||
from First Principles: Flake Edition</a> - A modern crash-course to
|
||
using Nix features, Flakes, and developing with Nix.</li>
|
||
<li><a href="https://youtu.be/FJVFXsNzYZQ?si=lf_HgLiHYAnX-_vx">Nix in
|
||
100 Seconds</a> - A YouTube video from Fireship presenting Nix in 100
|
||
seconds.</li>
|
||
<li><a href="https://github.com/noteed/nix-notes">Nix Notes</a> - A
|
||
collection of short notes about Nix, each contributing to the same
|
||
virtual machine image.</li>
|
||
<li><a href="https://nixos.org/guides/nix-pills/">Nix Pills</a> - The
|
||
best way to learn, with examples.</li>
|
||
<li><a href="https://github.com/alper/nix-shorts">Nix Shorts</a> - A
|
||
collection of short notes about how to use Nix, updated for Nix
|
||
Flakes.</li>
|
||
<li><a href="https://github.com/Misterio77/nix-starter-configs">Nix
|
||
Starter Config</a> - A few simple Nix Flake templates for getting
|
||
started with NixOS + home-manager.</li>
|
||
<li><a href="https://nix.dev/">nix.dev</a> - An opinionated guide for
|
||
developers about getting things done using the Nix ecosystem.</li>
|
||
<li><a href="https://github.com/ryan4yin/nixos-and-flakes-book">NixOS
|
||
& Flakes Book</a> - An unofficial and opinionated NixOS & Flakes
|
||
book for beginners.</li>
|
||
<li><a href="https://nixos.asia/en/tutorial">NixOS Asia Tutorial
|
||
Series</a> - A series of high-level tutorials on using Nix Flakes,
|
||
NixOS, home-manager, etc.</li>
|
||
<li><a href="https://nixcloud.io/tour">Tour of Nix</a> - An online
|
||
interactive tutorial on Nix language constructs.</li>
|
||
<li><a href="https://mhwombat.codeberg.page/nix-book/">Wombat’s Book of
|
||
Nix</a> - A book-length introduction to Nix and flakes.</li>
|
||
<li><a href="https://zero-to-nix.com/">Zero to Nix</a> - A flake-centric
|
||
guide to Nix and its concepts created by Determinate Systems to quickly
|
||
onboard beginners.</li>
|
||
</ul>
|
||
<h3 id="discovery">Discovery</h3>
|
||
<!-- * [Hound](https://search.nix.gsc.io) - Handily search across all or selected Nix-related repositories. -->
|
||
<ul>
|
||
<li><a href="https://lazamar.co.uk/nix-versions/">Nix Package
|
||
Versions</a> - Find all versions of a package that were available in a
|
||
channel and the revision you can download it from.</li>
|
||
<li><a
|
||
href="https://github.com/3timeslazy/nix-search-tv">nix-search-tv</a> -
|
||
CLI fuzzy finder for packages and options from Nixpkgs, Home Manager,
|
||
and more.</li>
|
||
<li><a href="https://noogle.dev/">Noogle</a> - Nix API search engine
|
||
allowing to search functions based on their types and other
|
||
attributes.</li>
|
||
<li><a href="https://mipmip.github.io/home-manager-option-search/">Home
|
||
Manager Option Search</a> - Search through all 2000+ Home Manager
|
||
options and read how to use them.</li>
|
||
<li><a href="https://github.com/NuschtOS/search">NüschtOS Search</a> -
|
||
Simple and fast static-page NixOS option search.</li>
|
||
<li><a href="https://searchix.alanpearce.eu/">Searchix</a> - Search Nix
|
||
packages and options from NixOS, Darwin and Home Manager.</li>
|
||
</ul>
|
||
<h2 id="installation-media">Installation Media</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/nix-community/nixos-anywhere">nixos-anywhere</a>
|
||
- Install NixOS everywhere via SSH.</li>
|
||
<li><a
|
||
href="https://github.com/nix-community/nixos-generators">nixos-generators</a>
|
||
- Take a NixOS config and build multiple different images types
|
||
including VirtualBox VMs, Azure images, and installation ISOs.</li>
|
||
<li><a href="https://github.com/elitak/nixos-infect">nixos-infect</a> -
|
||
Replace a running non-NixOS Linux host with NixOS.</li>
|
||
<li><a href="https://github.com/samuela/nixos-up">nixos-up</a> - Super
|
||
easy NixOS installer that can be used from the installation ISO.</li>
|
||
<li><a
|
||
href="https://github.com/DeterminateSystems/nix-installer">nix-installer</a>
|
||
- Opinionated alternative to the official Nix install scripts.</li>
|
||
<li><a
|
||
href="https://github.com/dnkmmr69420/nix-installer-scripts">nix-installer-scripts</a>
|
||
- Runs the official installer but does some tweaking as well such as
|
||
adding fcontext for selinux and installing nix outside of the default
|
||
profile so you don’t accidently uninstall it.</li>
|
||
</ul>
|
||
<h2 id="channel-history">Channel History</h2>
|
||
<ul>
|
||
<li><a href="https://channels.nix.gsc.io">Channel History</a> - Get
|
||
historical git commits for Nix channels.</li>
|
||
<li><a href="https://status.nixos.org">Nix Infra Status</a> - Get the
|
||
age and current git commit of each Nix channel.</li>
|
||
<li><a href="https://malob.github.io/nix-review-tools-reports/">Nix
|
||
Review Tools Reports</a> - Reports showing problematic dependencies
|
||
(dependencies causing the most failed builds) for major Hydra jobsets.
|
||
<!-- * [Nixpkgs Bot](https://git.maralorn.de/nixos-config/tree/packages/nixpkgs-bot) - A Matrix bot to track when a Nixpkgs pull request reaches a relevant branch. --></li>
|
||
<li><a href="https://nixpk.gs/pr-tracker.html">nixpkgs PR tracker</a> -
|
||
A tracker for whether a PR has made it into a channel yet.</li>
|
||
</ul>
|
||
<h2 id="deployment-tools">Deployment Tools</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/rapenne-s/bento/">bento</a> - A KISS
|
||
deployment tool to keep your NixOS fleet (servers & workstations) up
|
||
to date.</li>
|
||
<li><a href="https://clan.lol">Clan</a> - A peer-to-peer deployment tool
|
||
with inbuilt support for secrets and a module system to manage
|
||
distributed networks.</li>
|
||
<li><a href="https://github.com/zhaofengli/colmena">Colmena</a> - A
|
||
simple, stateless NixOS deployment tool modeled after NixOps and
|
||
morph.</li>
|
||
<li><a href="https://github.com/nlewo/comin">comin</a> - A deployment
|
||
tool to continuously pull from Git repositories.</li>
|
||
<li><a href="https://github.com/serokell/deploy-rs">deploy-rs</a> - A
|
||
simple multi-profile Nix-flake deploy tool.</li>
|
||
<li><a href="https://cgit.krebsco.de/krops/about/">krops</a> - A
|
||
lightweight toolkit to deploy NixOS systems, remotely or locally.</li>
|
||
<li><a href="https://github.com/hall/kubenix">KubeNix</a> - A Kubernetes
|
||
resource builder using Nix.</li>
|
||
<li><a href="https://github.com/saschagrunert/kubernix">KuberNix</a> -
|
||
Single-dependency Kubernetes clusters via Nix packages.</li>
|
||
<li><a href="https://github.com/DBCDK/morph">morph</a> - A tool for
|
||
managing existing NixOS hosts.</li>
|
||
<li><a href="https://github.com/tazjin/nixery">Nixery</a> - A
|
||
Docker-compatible container registry which builds images ad-hoc via
|
||
Nix.</li>
|
||
<li><a href="https://github.com/MatthewCroughan/nixinate">Nixinate</a> -
|
||
A Nix flake library to provide app outputs for managing existing NixOS
|
||
hosts over SSH.</li>
|
||
<li><a href="https://github.com/NixOS/nixops">NixOps</a> - The official
|
||
Nix deployment tool, compatible with AWS, Hetzner, and more.</li>
|
||
<li><a href="https://github.com/arnarg/pushnix">pushnix</a> - Simple cli
|
||
utility that pushes NixOS configuration and triggers a rebuild using
|
||
ssh.</li>
|
||
<li><a
|
||
href="https://github.com/tweag/terraform-nixos">terraform-nixos</a> - A
|
||
set of Terraform modules designed to deploy NixOS.</li>
|
||
<li><a href="https://terranix.org">terranix</a> - Use Nix and the NixOS
|
||
module system to write your Terraform code.</li>
|
||
</ul>
|
||
<h2 id="virtualisation">Virtualisation</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/Mic92/nixos-shell">nixos-shell</a> -
|
||
Simple headless VM configuration using Nix (similar to Vagrant).</li>
|
||
<li><a
|
||
href="https://github.com/erikarvstedt/extra-container">extra-container</a>
|
||
- Run declarative NixOS containers from the command line.</li>
|
||
<li><a href="https://github.com/astro/microvm.nix">microvm</a> -
|
||
NixOS-based MicroVMs.</li>
|
||
</ul>
|
||
<h2 id="command-line-tools">Command-Line Tools</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/kamadorueda/alejandra">alejandra</a> -
|
||
An opinionated Nix code formatter optimized for speed and
|
||
consistency.</li>
|
||
<li><a href="https://github.com/nix-community/comma">comma</a> - Quickly
|
||
run any binary; wraps together <code>nix run</code> and
|
||
<code>nix-index</code>.</li>
|
||
<li><a href="https://github.com/astro/deadnix">deadnix</a> - Scan Nix
|
||
files for dead code.</li>
|
||
<li><a href="https://github.com/cachix/devenv">devenv</a> - A Nix-based
|
||
tool for creating developer shell environments quickly and
|
||
reproducibly.</li>
|
||
<li><a href="https://github.com/mlvzk/manix">manix</a> - Find
|
||
configuration options and function documentation for Nixpkgs, NixOS, and
|
||
Home Manager.</li>
|
||
<li><a href="https://github.com/viperML/nh">nh</a> - Better output for
|
||
<code>nix</code> <code>nixos-rebuild</code> and home-manager CLI using
|
||
<code>nvd</code> and <code>nix-output-monitor</code>.</li>
|
||
<li><a href="https://github.com/NixOS/nixfmt">nixfmt</a> - A formatter
|
||
for Nix code, intended to easily apply a uniform style.</li>
|
||
<li><a
|
||
href="https://github.com/jtojnar/nixpkgs-hammering">nixpkgs-hammering</a>
|
||
- An opinionated linter for Nixpkgs package expressions.</li>
|
||
<li><a href="https://github.com/thiagokokada/nix-alien">nix-alien</a> -
|
||
Run unpatched binaries on Nix/NixOS easily.</li>
|
||
<li><a href="https://github.com/Gabriella439/nix-diff">nix-diff</a> - A
|
||
tool to explain why two Nix derivations differ.</li>
|
||
<li><a href="https://github.com/symphorien/nix-du">nix-du</a> -
|
||
Visualise which gc-roots to delete to free some space in your Nix
|
||
store.</li>
|
||
<li><a href="https://github.com/bennofs/nix-index">nix-index</a> -
|
||
Quickly locate Nix packages with specific files.</li>
|
||
<li><a href="https://github.com/nix-community/nix-init">nix-init</a> -
|
||
Generate Nix packages from URLs with hash prefetching, dependency
|
||
inference, license detection, and more.</li>
|
||
<li><a href="https://github.com/nix-community/nix-melt">nix-melt</a> - A
|
||
ranger-like flake.lock viewer.</li>
|
||
<li><a
|
||
href="https://github.com/maralorn/nix-output-monitor">nix-output-monitor</a>
|
||
- A tool to produce useful graphs and statistics when building
|
||
derivations.</li>
|
||
<li><a href="https://github.com/msteen/nix-prefetch">nix-prefetch</a> -
|
||
A universal tool for updating source checksums.</li>
|
||
<li><a href="https://github.com/utdemir/nix-tree">nix-tree</a> -
|
||
Interactively browse the dependency graph of Nix derivations.</li>
|
||
<li><a href="https://github.com/nix-community/nurl">nurl</a> - Generate
|
||
Nix fetcher calls from repository URLs.</li>
|
||
<li><a href="https://git.sr.ht/~khumba/nvd">nvd</a> - Diff package
|
||
versions between two store paths; it’s especially useful for comparing
|
||
NixOS generations on rebuild.</li>
|
||
<li><a href="https://github.com/nerdypepper/statix">statix</a> - A
|
||
linter/fixer to check for and fix antipatterns in Nix code.</li>
|
||
</ul>
|
||
<h2 id="development">Development</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/zhaofengli/attic">attic</a> -
|
||
Multi-tenant Nix Binary Cache.</li>
|
||
<li><a href="https://github.com/hercules-ci/arion">Arion</a> - Run
|
||
<code>docker-compose</code> with help from Nix/NixOS.</li>
|
||
<li><a
|
||
href="https://github.com/xzfc/cached-nix-shell">cached-nix-shell</a> - A
|
||
<code>nix-shell</code> replacement that uses caching to open subsequent
|
||
shells quickly.</li>
|
||
<li><a href="https://cachix.org/">Cachix</a> - Hosted binary cache
|
||
service; free for open-source projects.</li>
|
||
<li><a href="https://github.com/aksiksi/compose2nix">compose2nix</a> -
|
||
Generate a NixOS config from a Docker Compose project.</li>
|
||
<li><a href="https://ratson.github.io/conflake/">Conflake</a> - A
|
||
batteries included, autoload files, convention-based configuration
|
||
framework for <code>flake.nix</code>.</li>
|
||
<li><a href="https://github.com/jetpack-io/devbox">Devbox</a> - Instant,
|
||
portable, and predictable development environments.</li>
|
||
<li><a href="https://github.com/numtide/devshell">devshell</a> -
|
||
<code>mkShell</code> with extra bits and a toml config option to be able
|
||
to onboard non-nix users.</li>
|
||
<li><a href="https://github.com/nix-community/dream2nix">dream2nix</a> -
|
||
A framework for automatically converting packages from other build
|
||
systems to Nix.</li>
|
||
<li><a href="https://github.com/hercules-ci/flake-parts">flake.parts</a>
|
||
- Minimal Nix modules framework for Flakes: split your flakes into
|
||
modules and get things done with community modules.</li>
|
||
<li><a href="https://github.com/numtide/flake-utils">flake-utils</a> -
|
||
Pure Nix flake utility functions to help with writing flakes.</li>
|
||
<li><a
|
||
href="https://github.com/gytis-ivaskevicius/flake-utils-plus">flake-utils-plus</a>
|
||
- A lightweight Nix library flake for painless NixOS flake
|
||
configuration.</li>
|
||
<li><a href="https://github.com/nix-community/flakelight">flakelight</a>
|
||
- A modular flake framework aiming to minimize boilerplate.</li>
|
||
<li><a href="https://github.com/flox/flox">flox</a> - Manage and share
|
||
development environments, package projects, and publish artifacts
|
||
anywhere.</li>
|
||
<li><a
|
||
href="https://github.com/hercules-ci/gitignore.nix">gitignore.nix</a> -
|
||
The most feature-complete and easy-to-use <code>.gitignore</code>
|
||
integration.</li>
|
||
<li><a href="https://github.com/nix-community/haumea">haumea</a> -
|
||
Filesystem-based module system for the Nix language similar to
|
||
traditional programming languages, with support for file hierarchy and
|
||
visibility.</li>
|
||
<li><a href="https://github.com/nix-community/lorri/">lorri</a> - A much
|
||
better <code>nix-shell</code> for development that augments direnv.</li>
|
||
<li><a href="https://github.com/utensils/mcp-nixos">MCP-NixOS</a> - An
|
||
MCP server that provides AI assistants with accurate information about
|
||
NixOS packages, options, Home Manager, and nix-darwin
|
||
configurations.</li>
|
||
<li><a href="https://github.com/nix-community/namaka">namaka</a> -
|
||
Snapshot testing for Nix based on haumea.</li>
|
||
<li><a href="https://github.com/oxalica/nil">nil</a> - NIx Language
|
||
server, an incremental analysis assistent for writing in Nix.</li>
|
||
<li><a href="https://github.com/nmattia/niv/">niv</a> - Easy dependency
|
||
management for Nix projects with package pinning.</li>
|
||
<li><a href="https://github.com/nix-community/nix-direnv">nix-direnv</a>
|
||
- A fast loader and flake-compliant configuration for the direnv
|
||
environment auto-loader.</li>
|
||
<li><a href="https://github.com/juspay/nix-health">nix-health</a> - A
|
||
program to check the health of your Nix install. Furthermore, individual
|
||
projects can configure their own health checks in their
|
||
<code>flake.nix</code>.</li>
|
||
<li><a href="https://github.com/Mic92/nix-update">nix-update</a> -
|
||
Update versions/source hashes of nix packages.</li>
|
||
<li><a href="https://github.com/nix-community/nixd">nixd</a> - Nix
|
||
language server, based on Nix libraries.</li>
|
||
<li><a href="https://github.com/Mic92/nixpkgs-review">nixpkgs-review</a>
|
||
- The best tool to verify that a pull-request in Nixpkgs is building
|
||
properly.</li>
|
||
<li><a href="https://github.com/andir/npins">npins</a> - A simple tool
|
||
for handling different types of dependencies in a Nix project. It is
|
||
inspired by and comparable to Niv.</li>
|
||
<li><a
|
||
href="https://github.com/cachix/pre-commit-hooks.nix">pre-commit-hooks.nix</a>
|
||
- Run linters/formatters at commit time and on your CI.</li>
|
||
<li><a href="https://github.com/nix-community/rnix-lsp">rnix-lsp</a> - A
|
||
syntax-checking language server for Nix.</li>
|
||
<li><a href="https://github.com/danielfullmer/robotnix">robotnix</a> - A
|
||
declarative and reproducible build system for Android (AOSP)
|
||
images.</li>
|
||
<li><a
|
||
href="https://github.com/juspay/services-flake">services-flake</a> - A
|
||
NixOS-like service configuration framework for Nix flakes.</li>
|
||
<li><a href="https://github.com/snowfallorg/lib">Snowfall Lib</a> - A
|
||
library that makes it easy to manage your Nix flake by imposing an
|
||
opinionated file structure.</li>
|
||
<li><a href="https://github.com/nix-community/templates">templates</a> -
|
||
Project templates for many languages using Nix flakes.</li>
|
||
<li><a href="https://github.com/numtide/treefmt-nix">treefmt-nix</a> - A
|
||
formatter that allows formatting all your project files with a single
|
||
command, all via a single <code>.nix</code> file.</li>
|
||
</ul>
|
||
<h2 id="devops">DevOps</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/fluidattacks/makes">Makes</a> - A
|
||
Nix-based CI/CD pipeline framework for building, testing, and releasing
|
||
projects in any language, from anywhere.</li>
|
||
<li><a href="https://github.com/arnarg/nixidy">nixidy</a> - Kubernetes
|
||
GitOps with Nix and Argo CD.</li>
|
||
<li><a href="https://gitlab.com/technofab/nix-gitlab-ci">Nix GitLab
|
||
CI</a> - Define GitLab CI pipelines in pure Nix with full access to all
|
||
Nix packages (incl. caching).</li>
|
||
<li><a href="https://github.com/divnix/std">Standard</a> - An
|
||
opinionated Nix Flakes framework to keep Nix code in large projects
|
||
organized, accompanied by a friendly CLI/TUI optized for DevOps
|
||
scenarios.</li>
|
||
</ul>
|
||
<h2 id="programming-languages">Programming Languages</h2>
|
||
<h3 id="arduino">Arduino</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/boredom101/nixduino">nixduino</a> -
|
||
Nix-based tool to help build Arduino sketches.</li>
|
||
</ul>
|
||
<h3 id="clojure">Clojure</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/jlesquembre/clj-nix">clj-nix</a> - Nix
|
||
helper functions for Clojure projects.</li>
|
||
</ul>
|
||
<h3 id="crystal">Crystal</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/nix-community/crystal2nix">crystal2nix</a> -
|
||
Convert <code>shard.lock</code> into Nix expressions.</li>
|
||
</ul>
|
||
<h3 id="elm">Elm</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/cachix/elm2nix">elm2nix</a> - Convert
|
||
<code>elm.json</code> into Nix expressions.</li>
|
||
</ul>
|
||
<h3 id="gleam">Gleam</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/arnarg/nix-gleam">nix-gleam</a> -
|
||
Generic Nix builder for Gleam applications.</li>
|
||
</ul>
|
||
<h3 id="haskell">Haskell</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/NixOS/cabal2nix">cabal2nix</a> -
|
||
Converts a Cabal file into a Nix build expression.</li>
|
||
<li><a href="https://github.com/srid/haskell-flake">haskell-flake</a> -
|
||
A <code>flake-parts</code> Nix module for Haskell development.</li>
|
||
<li><a
|
||
href="https://github.com/input-output-hk/haskell.nix">haskell.nix</a> -
|
||
Alternative Haskell Infrastructure for Nixpkgs.</li>
|
||
<li><a
|
||
href="https://github.com/matthewbauer/nix-haskell-mode">nix-haskell-mode</a>
|
||
- Automatic Haskell setup in Emacs.</li>
|
||
<li><a href="https://github.com/pwm/nixkell">nixkell</a> - A Haskell
|
||
project template using Nix and direnv.</li>
|
||
</ul>
|
||
<h3 id="haxe">Haxe</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/MadMcCrow/haxix">haxix</a> - Nix flake
|
||
to build haxe/Heaps.io projects.</li>
|
||
<li><a href="https://github.com/bwkam/kebab">kebab</a> - Haxe packages
|
||
for Nix.</li>
|
||
</ul>
|
||
<h3 id="lean">Lean</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/lenianiva/lean4-nix">lean4-nix</a> - Nix
|
||
flake build for Lean 4, and <code>lake2nix</code>.</li>
|
||
</ul>
|
||
<h3 id="node.js">Node.js</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/nix-community/napalm">Napalm</a> -
|
||
Support for building npm packages in Nix with a lightweight npm
|
||
registry.</li>
|
||
<li><a href="https://github.com/svanderburg/node2nix">node2nix</a> -
|
||
Generate Nix expression from a <code>package.json</code> (or
|
||
<code>package-lock.json</code>) (to be stored as files).</li>
|
||
<li><a
|
||
href="https://github.com/nix-community/npmlock2nix">npmlock2nix</a> -
|
||
Generate Nix expressions from a <code>package-lock.json</code>
|
||
(in-memory), primarily for web projects.</li>
|
||
</ul>
|
||
<h3 id="ocaml">OCaml</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/timbertson/opam2nix">opam2nix</a> -
|
||
Generate Nix expressions from opam packages.</li>
|
||
</ul>
|
||
<h3 id="php">PHP</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/svanderburg/composer2nix">composer2nix</a> -
|
||
Generate Nix expressions to build composer packages.</li>
|
||
<li><a
|
||
href="https://github.com/stephank/composer-plugin-nixify">composer-plugin-nixify</a>
|
||
- Composer plugin to help with Nix packaging.</li>
|
||
<li><a
|
||
href="https://github.com/fossar/composition-c4">composition-c4</a> -
|
||
Support for building composer packages from a <code>composer.lock</code>
|
||
(using IFD).</li>
|
||
<li><a href="https://github.com/fossar/nix-phps">nix-phps</a> - Flake
|
||
containing old and unmaintained PHP versions (intended for CI use).</li>
|
||
<li><a href="https://github.com/loophp/nix-shell/">nix-shell</a> - Nix
|
||
shells for PHP development.</li>
|
||
</ul>
|
||
<h3 id="purescript">PureScript</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/justinwoo/easy-purescript-nix">Easy
|
||
PureScript Nix</a> - A project to easily use PureScript and other tools
|
||
with Nix.</li>
|
||
<li><a href="https://github.com/purs-nix/purs-nix">purs-nix</a> - CLI
|
||
and library combo designed for managing PureScript projects using Nix.
|
||
It provides a Nix API that can be used within your projects, as well as
|
||
a command-line interface for managing your development process.</li>
|
||
</ul>
|
||
<h3 id="python">Python</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/nix-community/poetry2nix">poetry2nix</a>
|
||
- Build Python packages directly from <a
|
||
href="https://python-poetry.org/">Poetry’s</a> <code>poetry.lock</code>.
|
||
No conversion step needed.</li>
|
||
</ul>
|
||
<h3 id="ruby">Ruby</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/nix-community/bundix">Bundix</a> -
|
||
Generates a Nix expression for your Bundler-managed application.</li>
|
||
<li><a href="https://github.com/sagittaros/ruby-nix">ruby-nix</a> -
|
||
Generates reproducible ruby/bundler app environment with Nix.</li>
|
||
</ul>
|
||
<h3 id="rust">Rust</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/cargo2nix/cargo2nix">cargo2nix</a> -
|
||
Granular caching, development shell, Nix & Rust integration.</li>
|
||
<li><a href="https://github.com/ipetkov/crane">crane</a> - A Nix library
|
||
for building Cargo projects with incremental artifact caching.</li>
|
||
<li><a href="https://github.com/nix-community/fenix">fenix</a> - Rust
|
||
toolchains and Rust analyzer nightly for nix.</li>
|
||
<li><a href="https://github.com/nmattia/naersk">naersk</a> - Build Rust
|
||
packages directly from <code>Cargo.lock</code>. No conversion step
|
||
needed.</li>
|
||
<li><a
|
||
href="https://github.com/yusdacra/nix-cargo-integration">nix-cargo-integration</a>
|
||
- A library that allows easy and effortless integration for Cargo
|
||
projects.</li>
|
||
<li><a
|
||
href="https://github.com/mozilla/nixpkgs-mozilla">nixpkgs-mozilla</a> -
|
||
Mozilla’s overlay with Rust toolchains and Firefox.</li>
|
||
<li><a
|
||
href="https://github.com/yusdacra/rust-nix-templater">rust-nix-templater</a>
|
||
- Generates Nix build and development files for Rust projects.</li>
|
||
<li><a href="https://github.com/oxalica/rust-overlay">rust-overlay</a> -
|
||
Pure and reproducible nix overlay of binary distributed Rust
|
||
toolchains.</li>
|
||
</ul>
|
||
<h3 id="scala">Scala</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/zaninime/sbt-derivation">sbt-derivation</a> -
|
||
mkDerivation for sbt, similar to buildGoModule.</li>
|
||
</ul>
|
||
<h3 id="zig">Zig</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/nix-community/zon2nix">zon2nix</a> -
|
||
Convert the dependencies in <code>build.zig.zon</code> to a Nix
|
||
expression.</li>
|
||
</ul>
|
||
<h2 id="nixos-modules">NixOS Modules</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/SenchoPens/base16.nix">base16.nix</a> -
|
||
Flake way to theme programs in <a
|
||
href="https://github.com/chriskempson/base16">base16</a> colorschemes,
|
||
mustache template support included.</li>
|
||
<li><a href="https://github.com/nix-community/home-manager">Home
|
||
Manager</a> - Manage your user configuration just like NixOS.</li>
|
||
<li><a href="https://github.com/LnL7/nix-darwin">nix-darwin</a> - Manage
|
||
macOS configuration just like on NixOS.</li>
|
||
<li><a href="https://github.com/nix-community/NixOS-WSL">NixOS-WSL</a> -
|
||
Modules for running NixOS on the Windows Subsystem for Linux.</li>
|
||
<li><a href="https://github.com/musnix/musnix">musnix</a> - Do real-time
|
||
audio work in NixOS.</li>
|
||
<li><a href="https://github.com/nix-community/nixvim">NixVim</a> - A
|
||
NeoVim distribution built with Nix modules and Nixpkgs.</li>
|
||
<li><a href="https://github.com/ibizaman/selfhostblocks">Self Host
|
||
Blocks</a> - Modular server management based on NixOS modules and
|
||
focused on best practices.</li>
|
||
<li><a
|
||
href="https://gitlab.com/simple-nixos-mailserver/nixos-mailserver">Simple
|
||
Nixos Mailserver</a> - A complete mailserver, managed with NixOS
|
||
modules.</li>
|
||
<li><a href="https://github.com/nix-community/stylix">Stylix</a> -
|
||
System-wide colorscheming and typography for NixOS.</li>
|
||
<li><a href="https://github.com/fort-nix/nix-bitcoin">nix-bitcoin</a> -
|
||
Modules and packages for Bitcoin nodes with higher-layer protocols with
|
||
an emphasis on security.</li>
|
||
<li><a href="https://github.com/cynicsketch/nix-mineral">nix-mineral</a>
|
||
- Conveniently and reasonably harden NixOS.</li>
|
||
<li><a href="https://github.com/oddlama/nix-topology">nix-topology</a> -
|
||
Generate infrastructure and network diagrams directly from your NixOS
|
||
configuration.</li>
|
||
<li><a
|
||
href="https://github.com/nix-community/impermanence">impermanence</a> -
|
||
Lets you choose what files and directories you want to keep between
|
||
reboots.</li>
|
||
</ul>
|
||
<h2 id="nixos-configuration-editors">NixOS Configuration Editors</h2>
|
||
<h3 id="desktop-apps">Desktop apps</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/vlinkz/nixos-conf-editor">NixOS
|
||
Configuration Editor</a> - Graphical editor for NixOS configuration.
|
||
Desktop app in Rust and GTK.</li>
|
||
<li><a href="https://github.com/vlinkz/nix-software-center">Nix Software
|
||
Center</a> - Install and manage Nix packages. Desktop app in Rust and
|
||
GTK.</li>
|
||
</ul>
|
||
<h3 id="webinterface">Webinterface</h3>
|
||
<ul>
|
||
<li><a href="https://mynixos.com/">MyNixOS</a> - Graphical editor for
|
||
Nix flakes. Create and manage configurations and modules for NixOS and
|
||
Nix home-manager. Rather a Nix generator than a Nix editor, because it
|
||
does not allow to import Nix files.</li>
|
||
</ul>
|
||
<h2 id="overlays">Overlays</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/freuk/awesome-nix-hpc">awesome-nix-hpc</a> -
|
||
High Performance Computing package sets.</li>
|
||
<li><a href="https://github.com/chaotic-cx/nyx">chaotic-nyx</a> - Daily
|
||
bumped bleeding edge packages like <code>mesa_git</code> & others
|
||
that aren’t yet in Nixpkgs. Created by the makers of <a
|
||
href="https://github.com/chaotic-aur/">Chaotic-AUR</a>.</li>
|
||
<li><a
|
||
href="https://github.com/bandithedoge/nixpkgs-firefox-darwin">nixpkgs-firefox-darwin</a>
|
||
- Automatically updated Firefox binary packages for macOS.</li>
|
||
<li><a
|
||
href="https://github.com/nix-community/nixpkgs-wayland">nixpkgs-wayland</a>
|
||
- Bleeding-edge Wayland packages.</li>
|
||
<li><a href="https://github.com/nix-community/NUR/">NUR</a> - Nix User
|
||
Repositories. The mother of all overlays, allowing access to user
|
||
repositories and installing packages via attributes.</li>
|
||
<li><a href="https://github.com/numtide/system-manager">System
|
||
Manager</a> - A non-NixOS Linux system configuration tool built on
|
||
Nix.</li>
|
||
</ul>
|
||
<h2 id="distributions">Distributions</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/nixos-bsd/nixbsd">nixbsd</a> - A NixOS
|
||
fork with a FreeBSD kernel.</li>
|
||
<li><a href="https://github.com/nix-community/NixNG">NixNG</a> - A
|
||
GNU/Linux distribution similar to NixOS, defining difference is a focus
|
||
on containers and lightweightness.</li>
|
||
<li><a href="https://snowflakeos.org/">SnowflakeOS</a> - A NixOS-based
|
||
Linux distribution focused on beginner friendliness and ease of
|
||
use.</li>
|
||
</ul>
|
||
<h2 id="community">Community</h2>
|
||
<ul>
|
||
<li><a href="https://matrix.to/#/#nix:nixos.org">#nix:nixos.org</a></li>
|
||
<li><a href="https://web.libera.chat/?nick=Guest?#nixos">#nixos on
|
||
Libera.Chat</a></li>
|
||
<li><a href="https://discord.gg/BMUCQx6">Discord - Nix/Nixos
|
||
(Unofficial)</a></li>
|
||
<li><a href="https://discourse.nixos.org/">Discourse</a> - The best
|
||
place to get help and discuss Nix-related topics.</li>
|
||
<li><a href="https://nixcon.org/">NixCon</a> - The annual community
|
||
conference for contributors and users of Nix and NixOS.</li>
|
||
<li><a href="https://wiki.nixos.org">Wiki (Official)</a></li>
|
||
<li><a href="https://nixos.wiki">Wiki (Unofficial)</a></li>
|
||
</ul>
|
||
<p><a href="https://github.com/nix-community/awesome-nix">nix.md
|
||
Github</a></p>
|