Code Monkey home page Code Monkey logo

awesome-nix's Introduction

Awesome Nix Awesome NixOS

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

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

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 and nix-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

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

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

awesome-nix's People

Contributors

0x4a6f avatar akirak avatar budevg avatar chrissound avatar cyntheticfox avatar domenkozar avatar dywedir avatar figsoda avatar freuk avatar fzakaria avatar jhedev avatar jnetod avatar jtrakk avatar kamadorueda avatar m0n4d1 avatar manveru avatar melkor333 avatar melsigl avatar mic92 avatar mrvandalo avatar noteed avatar srgom avatar tazjin avatar tfmoraes avatar timstott avatar toonn avatar xrelkd avatar zimbatm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.