# Useful tools for working with NixOS

<p class="callout info">This article was originally published at [https://gist.github.com/joepie91/67316a114a860d4ac6a9480a6e1d9c5c](https://gist.github.com/joepie91/67316a114a860d4ac6a9480a6e1d9c5c). Some links have been removed, as they no longer exist, or are no longer updated.</p>

### Online things[<svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewbox="0 0 16 16" width="16"></svg>](https://gist.github.com/joepie91/67316a114a860d4ac6a9480a6e1d9c5c#online-things)

- [Package search](https://nixos.org/nixos/packages.html)
- [Options search](https://nixos.org/nixos/options.html)
- [A list of channels, and when they were last updated](https://status.nixos.org/)

### Development tooling[<svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewbox="0 0 16 16" width="16"></svg>](https://gist.github.com/joepie91/67316a114a860d4ac6a9480a6e1d9c5c#development-tooling)

- [A `.drv` file parser in JS](https://www.npmjs.com/package/drv)
- [rnix](https://gitlab.com/jD91mZM2/rnix), a Nix (language) parser in Rust

### (Reference) documentation[<svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewbox="0 0 16 16" width="16"></svg>](https://gist.github.com/joepie91/67316a114a860d4ac6a9480a6e1d9c5c#reference-documentation)

- [Nix manual](https://nixos.org/nix/manual/)
- [A *complete* list of Nix operators](https://wiki.slightly.tech/books/miscellaneous-notes/page/a-complete-listing-of-operators-in-nix-and-their-predence "A *complete* listing of operators in Nix, and their predence.") (the list in the official manual is incomplete)
- [nixpkgs manual](https://nixos.org/nixpkgs/manual/)
- [NixOS manual](https://nixos.org/nixos/manual/)
- [Official NixOS wiki](https://wiki.nixos.org/)

### Tutorials and examples[<svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewbox="0 0 16 16" width="16"></svg>](https://gist.github.com/joepie91/67316a114a860d4ac6a9480a6e1d9c5c#tutorials-and-examples)

- [Step-by-step walkthrough of the Nix language](https://medium.com/@MrJamesFisher/nix-by-example-a0063a1a4c55)
- [A shorter primer of the Nix language](http://www.binaryphile.com/nix/2018/07/22/nix-language-primer.html) (probably a better option if you already know another programming language)
- [Nix pills](https://lethalman.blogspot.nl/2014/07/nix-pill-1-why-you-should-give-it-try.html) (a series of articles about different aspects of Nix; ongoing work on a compact edition can be found [here](https://github.com/deepfire/nix-pills-compact-edition))
- [Example configurations](https://nixos.wiki/wiki/Configuration_Collection)
- [Hardware configurations](https://github.com/NixOS/nixos-hardware) (includes configurations for dealing with quirks on specific hardware and models)

### Community and support[<svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewbox="0 0 16 16" width="16"></svg>](https://gist.github.com/joepie91/67316a114a860d4ac6a9480a6e1d9c5c#community-and-support)

- [The Nix forum](https://discourse.nixos.org/)
- [The Matrix space](https://matrix.to/#/#community:nixos.org)

### Miscellaneous notes and troubleshooting[<svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewbox="0 0 16 16" width="16"></svg>](https://gist.github.com/joepie91/67316a114a860d4ac6a9480a6e1d9c5c#miscellaneous-notes-and-troubleshooting)

- My Nix and NixOS notes: see the rest of the articles in this chapter!
- My [Hydra setup notes](https://wiki.slightly.tech/books/miscellaneous-notes/page/setting-up-hydra "Setting up Hydra")