Skip to main content
Ctrl+K
nix.dev

Official documentation for getting things done with Nix.

Ctrl+K
  • Tutorials
    • Install Nix
    • First Steps
      • Ad hoc shell environments
      • Reproducible interpreted scripts
      • Nix language basics
      • Towards reproducibility: pinning Nixpkgs
      • Declarative and reproducible developer environments
      • Set up a development environment
    • Learning Journey
      • Creating shell environments
      • Sharing dependencies between default.nix and shell.nix
      • Packaging Existing Software With Nix
    • NixOS
      • Building and running Docker images
      • Building a bootable ISO image
      • Deploying NixOS using Terraform
      • Installing NixOS on a Raspberry Pi
      • NixOS virtual machines
      • Integration testing using virtual machines
      • Continuous Integration with GitHub Actions
    • Cross compilation
  • Recipes
    • Best practices
    • Frequently Asked Questions
    • Templates
    • Troubleshooting
  • Reference
    • Nix Reference Manual
    • Nixpkgs Manual
    • NixOS Manual
    • Pinning Nixpkgs
    • Glossary
    • Recommended reading
  • Concepts
    • Flakes
  • Contributing
    • How to contribute
    • How to get help
    • Contributing Documentation
      • Documentation framework
      • Style guide
      • How to write a tutorial
  • Acknowledgements
    • Sponsors

Email notifications

An occasional email about new tutorials, no spam.

  • Repository
  • Suggest edit
  • Open issue
  • .md

Concepts

Concepts#

These sections contains explanations of history and ideas in the Nix ecosystem.

  • Flakes
    • What are flakes?
    • Why are flakes controversial?

previous

Recommended reading

next

Flakes

By the nix.dev contributors.

© Copyright 2016-2023, NixOS Foundation.