Lix
Redirect to:
'''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
- Tvix – A modular Rust re-implementation of the Nix package manager and evaluator.
- Official Lix Website
- Lix Git Repository