Jump to content

Lix

From Official NixOS Wiki
Redirect page

'''Lix''' is an alternate C++ implementation of the Nix package manager focused on correctness, developer experience, and community-driven governance.

Installation

On NixOS & nix-darwin there are two primary methods for installing Lix. The simpler method can be added to ones configuration.nix as follows.

{ pkgs, ... }:
{
  nix.package = pkgs.lixPackageSets.stable.lix;
}

A more advanced, and robust change, uses an overlay to rewire other tools that depend on Nix, allowing for consistency across ones setup. To enable this change one could add the following to their configuration.nix file.

{ pkgs, ... }:
{
  nixpkgs.overlays = [ (final: prev: {
    inherit (prev.lixPackageSets.stable)
      nixpkgs-review
      nix-eval-jobs
      nix-fast-build
      colmena;
  }) ];

  nix.package = pkgs.lixPackageSets.stable.lix;
}

after installation one can verify that the tool is functional by running the follow command:

$ nix --version
nix (Lix, like Nix) 2.96.0

Features & Key Differences

  • Community Governance: A primary appeal of this tool is a governance model that is driven by a transparent community based decision making process.
  • Codebase Health: The Lix package manager has refactored to focus on memory safety, warning cleanliness (an overhauled error reporter), and modern C++20 standards
  • Enhanced Diagnostics: Lix has improved error messaging, detailed trace outputs, and strict evaluation checks.

Usage & Command Compatability

Lix serves as a drop-in replacement for the standard nix CLI and classical commands (nix-build, nix-shell, nix-env). Commands run identically to upstream Nix without changing ones workflow or the command syntax.

See also