---
title: "What Is Nix"
description: "Nix is presented as a way to make software’s usually implicit dependency graph explicit, motivated by the difficulty of quickly conveying its concepts and by Shopify’s ongoing use of it to rebuild developer tooling. Its core model has four building blocks: the immutable Nix Store, derivations, sandboxing, and the Nix language. The Store acts as a graph database whose nodes are immutable files or directories, while path hashes and embedded references represent dependencies and support transitive-closure queries. Derivations record build instructions and explicitly named inputs; the Nix language evaluates these descriptions and has essentially one side effect, creating derivation files, leaving other tools to build outputs. Nixpkgs is described as a lazily evaluated Nix program containing many derivations, and the article concludes with introductory resources and a discussion of Shopify’s use of Nix."
---

# What Is Nix

[Shopify](https://yomu.fyi/company/shopify) · 2023-10-18 · May 19, 2020

**Type:** Explainer

## Summary

Nix is presented as a way to make software’s usually implicit dependency graph explicit, motivated by the difficulty of quickly conveying its concepts and by Shopify’s ongoing use of it to rebuild developer tooling. Its core model has four building blocks: the immutable Nix Store, derivations, sandboxing, and the Nix language. The Store acts as a graph database whose nodes are immutable files or directories, while path hashes and embedded references represent dependencies and support transitive-closure queries. Derivations record build instructions and explicitly named inputs; the Nix language evaluates these descriptions and has essentially one side effect, creating derivation files, leaving other tools to build outputs. Nixpkgs is described as a lazily evaluated Nix program containing many derivations, and the article concludes with introductory resources and a discussion of Shopify’s use of Nix.

## Context

The author wanted to explain Shopify’s use and planned future use of Nix, but found that existing introductory material did not quickly convey what Nix is, how to think about it, or why it matters.

## Approach / What changed

The article builds a conceptual model around four components: the Nix Store, derivations, sandboxing, and the Nix language. It explains the Store as an immutable dependency graph, shows how derivations describe builds, and describes how the language creates derivations for other Nix tools to build.

## Takeaways

- The Nix Store is described as a graph database of immutable files and directories, with cryptographic hashes and embedded store-path references representing dependency edges.
- A derivation is a special Nix Store node containing build instructions and explicit paths to everything required for the build; its path hash reflects the derivation’s contents.
- The Nix language is largely free of side effects and does not build software itself. Its central side effect is creating .drv files, which other Nix tools later use to produce outputs.

**Tags:** [Nix](https://yomu.fyi/topic/nix)

- Source: [Shopify](https://shopify.engineering/what-is-nix)
- Source URL: https://shopify.engineering/what-is-nix
- Ingested by Yomu: 2026-08-31T01:12:41.484Z

[Read original post](https://shopify.engineering/what-is-nix)
