Contributing
This is the main information hub for drive-by contributors and regular developers alike. Everyone is encouraged to partake in documenting our project in here. Feeling insecure about an edit? Ask for affirmation in our Matrix channel :)
Running Lix main
Thank you for choosing to help us dogfood in our daily development! If you run into any issues, y...
Information organisation
Lix has a lot of information as a project, and we want to make it accessible in a way that it can...
Intro to 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 and natively supports sending Gerrit changes! You’ll n...
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: https://git.lix.systems/lix-project/lix/src/branch/main/doc/manual/src/contributing/hac...
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
FIXME: this page is duplicating a lot of content from the Gerrit section and should be considered...
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 ...
Dealing with CI
Logging in to CI for restarts Go via https://buildkite.com/sso/lix-project and use your Lix accou...
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...
Discussion notes
If you have a discussion or a meeting and are writing things down and want the meeting notes to p...
Discussion notes template
Date: Participants: Topic: Conclusion / Action items Metting notes / Discussion
2024-04-29 – Lix Release Bootstrapping
Agenda Prohibited items: Nix foundation politics, for everyone's safety Core Agenda: Figure ou...
2025-06-27 Wiki work
Date: 2025-06-27 Present: jade, piegames Topic: Information organization in the wiki and the hom...
2025-06-26 Lix NixOS Module
Date: 2025-06-26 Participants: Niko, k900, piegames, Raito Topic: The current state of the Lix N...
Contributor permissions and Code Owners
One might wonder how permissions work on Lix and how one can help out with certain tasks. This is...