Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

51 total results found

Lix contributors

Information you might want if you're thinking about contributing to Lix

Lix infrastructure guide

Information about adminstering Lix's infrastructure.

Lix organisation

Information related to the Lix project organisation.

Common issues

This book exists as a simple knowledge base of common issues and their resolutions. They may be migrated to other documentation as required.

Style Guide

Lix contributors

Not just about code, a style guide is a list of decisions we've made, that we want to be consistent about going forwards. It does not need to be comprehensive of all possible issues, nor does it need to confine itself to trivial topics such as formatting. It's...

Working in the Lix codebase

Lix contributors

See also: See also: https://git.lix.systems/lix-project/lix/src/branch/main/doc/manual/src/contributing/hacking.md

Design documents

Lix contributors

This category contains design documents written by the Lix team, which may or may not be implemented.

Auth/SSO systems

Lix infrastructure guide

A major part of Lix infrastructure is the authentication/SSO systems. Here, you can find information about how to run them.

Tooling improvements

Lix infrastructure guide

We use a lot of tooling. There are papercuts we run into with our use cases that we would really like to have fixed.

Postmortems

Lix infrastructure guide

Lix Beta Guide

Lix contributors

Thank you for choosing to help us in our beta! There is a lot of work-in-progress documentation and a lot of it is work in progress or awaiting move to the wiki. Our apologies for this state, let us know if there is something you need. If you run into any fric...

Information organisation

Lix contributors

Lix has a lot of information as a project, and we want to make it accessible in a way that it can be found later if necessary. There are various tools for keeping information in the project, and they have different purposes Chat Chat is good for: Information ...

Code

Lix contributors Style Guide

Code changes Tests If at all practicable, all new code should be tested to some extent. If writing a test is hard, we need to prioritize making it easier, and potentially block features if that is the case. Documentation Reference documentation should be added...

Language and terminology

Lix contributors Style Guide

Language Most existing Lix documentation is written in British English. We intend to continue with that. Terminology (FIXME: unsure if this should be in the style guide but ... it kinda should be -jade) Nix language - Use this to refer to the language which ...

Misc tips

Lix contributors Working in the Lix codebase

buildbot user style to make the pulsing pills bearable @keyframes pulse_animation { 0% { transform:scale(.9) } 50% { transform:scale(1) } to { transform:scale(.9) } } .pulse { animation-duration: 10s !important; } FIXME: someone should PR this, now...

Bug tracker organisation

Lix contributors Working in the Lix codebase

We have a repo of directly imported nix bugs at https://git.lix.systems/nixos/nix. Please don't file bugs in there, we want the IDs to match. When we import a bug, we might put notes on there as we triage it, and potentially close it. Bug labels on NixOS/nix ...

Gerrit

Lix contributors Working in the Lix codebase

What is Gerrit and why do people like it? Gerrit is a code review system from Google in a similar style to Google's internal Critique tool, but based on Git, and publicly available as open source. It hosts a Git repo with the ability to submit changes for revi...

Improving build times

Lix contributors Working in the Lix codebase

Setup Use a clang stdenv: nix develop .#native-clangStdenvPackages Then delete build/ if you were using gcc before. Enable build-time profiling with: just setup; meson configure build -Dprofile-build=enabled Then run the build: just compile. Enabling build-tim...

Freezes and recommended contributions

Lix contributors Working in the Lix codebase

Suggested contributions Consider taking an issue marked E-help wanted: assign it to yourself and have a go. Feel free to ask for help in the development channel. The Lix team wants these issues fixed, but they are not high on our agenda to fix ourselves. When ...

Why Lix?

Lix contributors

(page under construction. editor's note: parts of https://pad.lix.systems/lix-manifesto (PRIVATE) are ported, parts need review before posting here) (editor's note (ii): this page wants to be a contributor facing page, as opposed to the website page that maybe...

Changing names, emails, etc

Lix infrastructure guide Auth/SSO systems

The Lix project endeavours to not deadname people, because we believe in human decency. However, some of our software has other ideas. This page documents the workarounds to manually fix profile updates that don't get conducted because various software is bust...

regexp engine investigation

Lix contributors Design documents

nix uses libstdc++'s std::regex. it uses whatever version of libstdc++ the host system has. which it invokes in both std::regex_replace std::regex_match modes. nix occasionally uses the flags std::regex::extended and std::regex::icase which determine the avail...

Dreams

Lix contributors Design documents

This page documents the dreams of the Lix team. These are features which we have generally not roadmapped yet, and which may not have complete and thoroughly thought-through plans, and which we would like to think about more completely before implementing. We ...

Machine and service overview

Lix infrastructure guide

The Lix infrastructure is maintained with Nix code at https://git.lix.systems/lix-project/web-services. That repository is the source of truth for what's serving where, but we attempt to reflect that here as well for ease of reference. This page is the source ...

Backport guide

Lix contributors Working in the Lix codebase

Don't forget, using Gerrit is a bit different than other systems. single commits try git cherry-pick -x first. if this works, excellent. if not, apply the usual cherry-picking procedures: track down apply failures to intermediate changes. maybe cherry-pick th...

How accounts work

Lix infrastructure guide Auth/SSO systems

Lix has one source of truth for authentication: Keycloak (identity.lix.systems). Most services are bound to Keycloak for authentication via OAuth2, although it supports SAML as well. GitHub vs Local accounts GitHub accounts are used at Lix for two reasons: Ea...

Codebase overview

Lix contributors Working in the Lix codebase

The Lix system is constituted of two broad parts, the evaluator and the store daemon. The two pieces may run on the same machine or on different machines. For example, in a remote build setup like https://hydra.nixos.org, one node is running several evaluators...

Buildbot runbook

Lix infrastructure guide

Our buildbot instance has a habit of breaking due to excess load. Restarting the worker If the worker (primary, handling nix evaluations) explodes, it can be restarted. ssh root@buildbot.lix.systems 'systemctl restart buildbot-worker.service' Re-trying spuriou...

Operations

Lix contributors Style Guide

Operational Conventions Code Review Self Stamping and Merging On our Gerrit, core members have permissions to +2 any arbitrary CL, because sometimes we should be able to get something in quickly, and talk about it afterwards. In almost every case, the author o...

Language versioning

Lix contributors Design documents

This document is extremely a draft. It needs some editing and discussion before it can be made into a useful thing. It's been simply copy pasted out of the pad in its current form. See also FIXME: piegames langver ideas musings puck: honestly, having languag...