Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-nix

😎 A curated list of the best resources in the Nix community [maintainer=@cyntheticfox]
https://github.com/nix-community/awesome-nix

Last synced: 3 days ago
JSON representation

  • Resources

    • Discovery

      • Hound - Handily search across all or selected Nix-related repositories. -->
      • 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.
      • Noogle - Nix API search engine allowing to search functions based on their types and other attributes.
      • Hound - Handily search across all or selected Nix-related repositories.
      • Home Manager Option Search - Search through all 2000+ Home Manager options and read how to use them.
      • NΓΌschtOS Search - Simple and fast static-page NixOS option search.
      • Searchix - Search Nix packages and options from NixOS, Darwin and Home Manager.
    • Learning

      • Building a Rust service with Nix - An in-depth blog series about creating a Rust application with Nix.
      • How to Learn Nix - It's like a Let's Play, but for obscure software documentation.
      • Nix - A One Pager - A one page introduction to the Nix language.
      • Nix from First Principles: Flake Edition - A modern crash-course to using Nix features, Flakes, and developing with Nix.
      • Nix Pills - The best way to learn, with examples.
      • 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.
      • Wombat's Book of Nix - A book-length introduction to Nix and flakes.
      • Zero to Nix - A flake-centric guide to Nix and its concepts created by Determinate Systems to quickly onboard beginners.
      • Tour of Nix - An online interactive tutorial on Nix language constructs.
      • Nix Notes - A collection of short notes about Nix, each contributing to the same virtual machine image.
      • Nix Shorts - A collection of short notes about how to use Nix, updated for Nix Flakes.
      • NixOS & Flakes Book - An unofficial and opinionated NixOS & Flakes book for beginners.
      • Explainix - Explain Nix syntax visually.
      • Nix in 100 Seconds - A YouTube video from Fireship presenting Nix in 100 seconds.
      • NixOS Asia Tutorial Series - A series of high-level tutorials on using Nix Flakes, NixOS, home-manager, etc.
  • Channel History

    • Discovery

      • Channel History - Get historical git commits for Nix channels.
      • Nix Infra Status - Get the age and current git commit of each Nix channel.
      • nixpkgs PR tracker - A tracker for whether a PR has made it into a channel yet.
      • Channel History - Get historical git commits for Nix channels.
      • Nix Infra Status - Get the age and current git commit of each Nix channel.
      • Nix Review Tools Reports - Reports showing problematic dependencies (dependencies causing the most failed builds) for major Hydra jobsets.
      • Nixpkgs Bot - A Matrix bot to track when a Nixpkgs pull request reaches a relevant branch. -->
  • Deployment Tools

    • Discovery

      • krops - A lightweight toolkit to deploy NixOS systems, remotely or locally.
      • terranix - Use Nix and the NixOS module system to write your Terraform code.
      • terraform-nixos - A set of Terraform modules designed to deploy NixOS.
      • terranix - Use Nix and the NixOS module system to write your Terraform code.
      • Colmena - A simple, stateless NixOS deployment tool modeled after NixOps and morph.
      • comin - A deployment tool to continuously pull from Git repositories.
      • deploy-rs - A simple multi-profile Nix-flake deploy tool.
      • 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.
      • Nixinate - A Nix flake library to provide app outputs for managing existing NixOS hosts over SSH.
      • NixOps - The official Nix deployment tool, compatible with AWS, Hetzner, and more.
      • 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.
  • Command-Line Tools

    • Discovery

      • nix-output-monitor - A tool to produce useful graphs and statistics when building derivations.
      • nix-index - Quickly locate Nix packages with specific files.
      • alejandra - An opinionated Nix code formatter optimized for speed and consistency.
      • comma - Quickly run any binary; wraps together `nix run` and `nix-index`.
      • deadnix - Scan Nix files for dead code.
      • devenv - A Nix-based tool for creating developer shell environments quickly and reproducibly.
      • manix - Find configuration options and function documentation for Nixpkgs, NixOS, and Home Manager.
      • nh - Better output for `nix` `nixos-rebuild` and home-manger CLI using `nvd` and `nix-output-monitor`.
      • nixpkgs-fmt - Nix code formatter for nixpkgs.
      • nixpkgs-hammering - An opinionated linter for Nixpkgs package expressions.
      • nix-alien - Run unpatched binaries on Nix/NixOS easily.
      • nix-diff - A tool to explain why two Nix derivations differ.
      • nix-du - Visualise which gc-roots to delete to free some space in your Nix store.
      • nix-init - Generate Nix packages from URLs with hash prefetching, dependency inference, license detection, and more.
      • nix-melt - A ranger-like flake.lock viewer.
      • nix-output-monitor - A tool to produce useful graphs and statistics when building derivations.
      • nix-prefetch - A universal tool for updating source checksums.
      • nix-tree - Interactively browse the dependency graph of Nix derivations.
      • nurl - Generate Nix fetcher calls from repository URLs.
      • nvd - Diff package versions between two store paths; it's especially useful for comparing NixOS generations on rebuild.
      • nix-output-monitor - A tool to produce useful graphs and statistics when building derivations. -->
  • Development

    • Discovery

      • Cachix - Hosted binary cache service; free for open-source projects.
      • Cachix - Hosted binary cache service; free for open-source projects.
      • robotnix - A declarative and reproducible build system for Android (AOSP) images.
      • 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.
      • attic - Multi-tenant Nix Binary Cache.
      • Arion - Run `docker-compose` with help from Nix/NixOS.
      • cached-nix-shell - A `nix-shell` replacement that uses caching to open subsequent shells quickly.
      • devshell - `mkShell` with extra bits and a toml config option to be able to onboard non-nix users.
      • dream2nix - A framework for automatically converting packages from other build systems to Nix.
      • flake.parts - Minimal Nix modules framework for Flakes: split your flakes into modules and get things done with community modules.
      • flake-utils - Pure Nix flake utility functions to help with writing flakes.
      • flake-utils-plus - A lightweight Nix library flake for painless NixOS flake configuration.
      • flakelight - A modular flake framework aiming to minimize boilerplate.
      • flox - Manage and share development environments, package projects, and publish artifacts anywhere.
      • gitignore.nix - The most feature-complete and easy-to-use `.gitignore` integration.
      • haumea - Filesystem-based module system for the Nix language similar to traditional programming languages, with support for file hierarchy and visibility.
      • namaka - Snapshot testing for Nix based on haumea.
      • nil - NIx Language server, an incremental analysis assistent for writing in Nix.
      • nix-direnv - A fast loader and flake-compliant configuration for the direnv environment auto-loader.
      • nix-health - A program to check the health of your Nix install. Furthermore, individual projects can configure their own health checks in their `flake.nix`.
      • nix-update - Update versions/source hashes of nix packages.
      • nixd - Nix language server, based on Nix libraries.
      • nixpkgs-review - The best tool to verify that a pull-request in Nixpkgs is building properly.
      • rnix-lsp - A syntax-checking language server for Nix.
      • services-flake - A NixOS-like service configuration framework for Nix flakes.
      • Snowfall Lib - A library that makes it easy to manage your Nix flake by imposing an opinionated file structure.
      • templates - Project templates for many languages using Nix flakes.
      • Cachix - Hosted binary cache service; free for open-source projects.
      • compose2nix - Generate a NixOS config from a Docker Compose project.
      • npins - A simple tool for handling different types of dependencies in a Nix project. It is inspired by and comparable to Niv.
      • Devbox - Instant, portable, and predictable development environments.
  • NixOS Configuration Editors

    • Webinterface

      • MyNixOS - 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.
    • Desktop apps

  • Community

  • Programming Languages

    • Ruby

      • ruby-nix - Generates reproducible ruby/bundler app environment with Nix.
      • Bundix - Generates a Nix expression for your Bundler-managed application.
    • Rust

      • naersk - Build Rust packages directly from `Cargo.lock`. No conversion step needed.
      • cargo2nix - Granular caching, development shell, Nix & Rust integration.
      • crane - A Nix library for building Cargo projects with incremental artifact caching.
      • fenix - Rust toolchains and Rust analyzer nightly for nix.
      • 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.
    • Arduino

      • nixduino - Nix-based tool to help build Arduino sketches.
    • Clojure

      • clj-nix - Nix helper functions for Clojure projects.
    • Crystal

      • crystal2nix - Convert `shard.lock` into Nix expressions.
    • Elm

      • elm2nix - Convert `elm.json` into Nix expressions.
    • Haskell

      • cabal2nix - Converts a Cabal file into a Nix build expression.
      • haskell-flake - A `flake-parts` Nix module for Haskell development.
      • haskell.nix - Alternative Haskell Infrastructure for Nixpkgs.
      • nix-haskell-mode - Automatic Haskell setup in Emacs.
      • nixkell - A Haskell project template using Nix and direnv.
    • Haxe

      • haxix - Nix flake to build haxe/Heaps.io projects.
      • kebab - Haxe packages for Nix.
    • 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.
    • OCaml

      • opam2nix - Generate Nix expressions from opam packages.
    • 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).
    • PureScript

      • Easy PureScript Nix - A project to easily use PureScript and other tools with Nix.
      • purs-nix - 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.
    • Python

      • poetry2nix - Build Python packages directly from [Poetry's](https://python-poetry.org/) `poetry.lock`. No conversion step needed.
    • Scala

    • Zig

      • zon2nix - Convert the dependencies in `build.zig.zon` to a Nix expression.
    • Gleam

      • nix-gleam - Generic Nix builder for Gleam applications.
    • Lean

      • lean4-nix - Nix flake build for Lean 4, and `lake2nix`.
  • Installation Media

    • Discovery

      • nixos-generators - Take a NixOS config and build multiple different images types including VirtualBox VMs, Azure images, and installation ISOs.
      • nixos-infect - Replace a running non-NixOS Linux host with NixOS.
      • nixos-up - Super easy NixOS installer that can be used from the installation ISO.
      • nix-installer - Opinionated alternative to the official Nix install scripts.
      • nix-installer-scripts - 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.
      • nixos-anywhere - Install NixOS everywhere via SSH.
  • Virtualisation

    • Discovery

      • nixos-shell - Simple headless VM configuration using Nix (similar to Vagrant).
      • extra-container - Run declarative NixOS containers from the command line.
      • microvm - NixOS-based MicroVMs.
  • DevOps

    • Discovery

      • Makes - A Nix-based CI/CD pipeline framework for building, testing, and releasing projects in any language, from anywhere.
      • Standard - An opinionated Nix Flakes framework to keep Nix code in large projects organized, accompanied by a friendly CLI/TUI optized for DevOps scenarios.
      • nixidy - Kubernetes GitOps with Nix and Argo CD.
  • NixOS Modules

    • Zig

      • base16.nix - Flake way to theme programs in [base16](https://github.com/chriskempson/base16) colorschemes, mustache template support included.
      • Home Manager - Manage your user configuration just like NixOS.
      • nix-darwin - Manage macOS configuration just like on 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.
      • nix-bitcoin - Modules and packages for Bitcoin nodes with higher-layer protocols with an emphasis on security.
      • nix-topology - Generate infrastructure and network diagrams directly from your NixOS configuration.
      • impermanence - Lets you choose what files and directories you want to keep between reboots.
      • Self Host Blocks - Modular server management based on NixOS modules and focused on best practices.
      • nix-mineral - Conveniently and reasonably harden NixOS.
      • NixOS-WSL - Modules for running NixOS on the Windows Subsystem for Linux.
  • Overlays

    • Webinterface

      • awesome-nix-hpc - High Performance Computing package sets.
      • chaotic-nyx - Daily bumped bleeding edge packages like `mesa_git` & others that aren't yet in Nixpkgs. Created by the makers of [Chaotic-AUR](https://github.com/chaotic-aur/).
      • nixpkgs-firefox-darwin - Automatically updated Firefox binary packages for macOS.
      • nixpkgs-wayland - Bleeding-edge Wayland packages.
      • System Manager - A non-NixOS Linux system configuration tool built on Nix.
  • Distributions

    • Webinterface

      • NixNG - A GNU/Linux distribution similar to NixOS, defining difference is a focus on containers and lightweightness.
      • nixbsd - A NixOS fork with a FreeBSD kernel.
      • SnowflakeOS - A NixOS-based Linux distribution focused on beginner friendliness and ease of use.