Content Skeleton

This Page

Previous topic

OpenStack Intro

Next topic


Package Management

Cross platform management systems ?


Nix is a purely functional package manager. This means that it treats packages like values in purely functional programming languages such as Haskell. They are built by functions that dont have side-effects, and they never change after they have been built. Nix stores packages in the Nix store, usually the directory /nix/store, where each package has its own unique subdirectory such as /nix/store/nlc4z5y1hm8w9s8vm6m1f5hy962xjmp5-firefox-12.0 where nlc4z5... is a unique identifier for the package that captures all its dependencies (its a cryptographic hash of the packages build dependency graph). This enables many powerful features.

  1. Uses directories named by dependency tree hashes to keep things more tightly controlled.
  2. Also allows non-root installation.
  3. Uses its own expression language, devised for software dependency handling
  4. should run on most Unix systems, including Linux, FreeBSD and Mac OS X.