Home

Nix

Nix is a cross-platform package manager and build system that uses a purely functional deployment model. It manages software on Linux, macOS, and other Unix-like systems and serves as the foundation for the NixOS Linux distribution.

The core idea is that software packages and their dependencies are built in isolation and described with

Nix provides tools such as nix-env for user environments and nix-build to build derivations, along with nix-store

The Nix project was initiated by Eelco Dolstra in the early 2000s. NixOS emerged as a distribution

Beyond its original scope, Nix is used for reproducible environments, continuous integration workflows, and configuration management

the
Nix
expression
language.
Packages
are
stored
in
a
content-addressed
store
at
/nix/store,
where
each
item
includes
a
cryptographic
hash
of
its
inputs.
This
enables
multiple
versions
and
configurations
to
coexist
without
conflicts,
supports
reproducible
builds,
and
makes
upgrades
atomic
with
straightforward
rollbacks.
for
store
management
and
the
Nix
daemon
for
multi-user
operation.
NixOS
integrates
the
package
manager
with
a
declarative
system
configuration,
where
the
entire
system
state
is
described
in
configuration
files
and
can
be
rebuilt
deterministically.
built
on
top
of
the
Nix
package
manager,
emphasizing
reproducibility
and
isolation.
The
Nix
language
is
a
lazy,
purely
functional
language
used
to
describe
package
derivations
and
system
configurations.
in
various
forms,
with
ongoing
development
and
additions
such
as
the
Flakes
feature
to
improve
composability
and
reproducibility.