Lix contributors
Information you might want if you're thinking about contributing to Lix
Lix Beta Guide
Thank you for choosing to help us in our beta! There is a lot of work-in-progress documentation a...
Information organisation
Lix has a lot of information as a project, and we want to make it accessible in a way that it can...
Why Lix?
(page under construction. editor's note: parts of https://pad.lix.systems/lix-manifesto (PRIVATE)...
Style Guide
Not just about code, a style guide is a list of decisions we've made, that we want to be consiste...
Language and terminology
Language Most existing Lix documentation is written in British English. We intend to continue wit...
Code
Code changes Tests If at all practicable, all new code should be tested to some extent. If writin...
Operations
Operational Conventions Code Review Self Stamping and Merging On our Gerrit, core members have pe...
Gerrit
Everything about Gerrit: how to get started, advanced tips and tricks, and more!
Getting Started with Gerrit
Thanks for showing interest in contributing to Lix! Gerrit can seem daunting at first, but it is ...
Review Flow
The review flow is quite similar to how Github does it, but there are a few differences here too....
Why Gerrit?
Gerrit produces better code: Gerrit enforces good commit messages. "PR message" and "commit mess...
Gerrit with Jujutsu
Jujutsu has a very similar model to Gerrit! How nice it would be to integrate them! Unfortunately...
Tips and Tricks
SSH Tuning Add these lines to your ~/.ssh/config: Host gerrit.lix.systems User YOUR_GERRIT_US...
Advanced Features
If you feel confident in your Gerrit-fu, this page is for you. Perhaps you've already noticed how...
Troubleshooting
"Remote Unpack Failed" on push Run a git fetch and try again. Re-run a CI Do an empty commit amen...
Working in the Lix codebase
See also: See also: https://git.lix.systems/lix-project/lix/src/branch/main/doc/manual/src/contri...
Codebase overview
The Lix system is constituted of two broad parts, the evaluator and the store daemon. The two pie...
Freezes and recommended contributions
Suggested contributions Consider taking an issue marked E-help wanted: assign it to yourself and ...
Bug tracker organisation
We have a repo of directly imported nix bugs at https://git.lix.systems/nixos/nix. Please don't f...
Gerrit
What is Gerrit and why do people like it? Gerrit is a code review system from Google in a similar...
Improving build times
Setup Use a clang stdenv: nix develop .#native-clangStdenvPackages Then delete build/ if you were...
Commit porting (cherry-picking) guide
This guide is primarily about CppNix->Lix commit ports and was written when we were doing a lot o...
Misc tips
pyright is not dealing with import paths correctly for functional2 I don't know why it's doing th...
Building Locally
See hacking.md in the Lix repo for the main documentation. Extra tips can go here.
RISC-V support
Goal: install lix on a riscv64-linux system The target is a DevTerm R-01, so it's an AllWinner D1...
Branches
The Lix repository contains multiple releases in parallel. The branches work as follows: main. ...
Working Groups
What are they? Lix doesn't have a very formal development structure - ice cream isn't a stranger ...
Design documents
This category contains design documents written by the Lix team, which may or may not be implemen...
regexp engine investigation
nix uses libstdc++'s std::regex. it uses whatever version of libstdc++ the host system has. which...
Dreams
This page documents the dreams of the Lix team. These are features which we have generally not ro...
Language versioning
This document is extremely a draft. It needs some editing and discussion before it can be made in...
Docs rewrite plans
Here, for now (public edit link): https://pad.lix.systems/lix-docs-planning
Nix lang v2
The Nix language unfortunately is full of little and big design accidents. Only so much can be fi...
Flake stabilisation proposal
Preface FIXME: this page hasn't been reviewed by Lix Core team members, so it's effectively a dra...
Observability and Protocol Design
jade: I think that we should start protocol design by thinking about who needs what information, ...
Replacement CLI design & Profiles
Draft pads: https://pad.lix.systems/lix-cli-design https://pad.lix.systems/lix-profiles
Nix bootstrapping
Pad: https://pad.lix.systems/VjA-WMSQS42dh-ghL98Uow
Roadmap 2026
Lix's roadmap for 2026
IFD Improvement Discussion
Pad: https://pad.lix.systems/Xd5Xyt5cToyYxIv-lNdehA
Release names
Release names are the names of frozen desserts. There's a list on Wikipedia of frozen desserts, b...
Easy Drive-by Contributions
This page lists easy contributions to do without additional context. Perfect to do on a quiet wee...