Compare commits

..

1 commit

Author SHA1 Message Date
Rebecca Turner 69ec60125b
Remove trailing whitespace 2024-05-06 09:20:31 -07:00
12 changed files with 88 additions and 94 deletions

View file

@ -17,9 +17,9 @@ TODO List
- Create `/roadmap`.
- Create '/usability'.
- Create `/infrastructure`.
### Graphics
- Add nice images to the "/about" page.
- Replace the primary "hero" graphic with a Lix one.
- Monocolor the social media icons and then apply the color filter.

View file

@ -9,7 +9,7 @@ summaryLength: 20
params:
title: "Lix"
description: "Lix is an independent variant of the Nix package manager, developed by a team of open-source volunteers, and maintained by and for a passionate community of users."
images:
images:
- "images/hero-image.png"
logo: "lix_logo.png"

View file

@ -7,20 +7,20 @@ author: "Lix Team"
**Lix** is an implementation of the Nix _functional package management_ language. Originally
codified by [CppNix](https://github.com/NixOS/nix/), the Nix language allows you to create
packages that can be used for anything from **putting configuration files into place** to
**declaratively managing an entire system**.
packages that can be used for anything from **putting configuration files into place** to
**declaratively managing an entire system**.
That means that, with a few well-written Nix expressions, one
That means that, with a few well-written Nix expressions, one
can easily configure a system into a known state -- and the packages that are created this
way are guaranteed to run _exactly the same way_ on any system of the same architecture.
As a fork of CppNix, Lix is designed to be fully compatible with the original CppNix
As a fork of CppNix, Lix is designed to be fully compatible with the original CppNix
implementation -- but also designed to allow evolution of the language and tooling, so
its developers can improve usability and ergonomics without sacrificing correctness.
### Why use Nix?
If you're not familiar with the Nix approach, we recommend checking out some of the
If you're not familiar with the Nix approach, we recommend checking out some of the
[writing on the subject](https://nixos.org/guides/nix-pills/01-why-you-should-give-it-a-try.html).
@ -30,39 +30,39 @@ The **Nix language** is used for a variety of applications ranging from individu
to clusters of critical infrastructure. With this in mind, the Lix team has been working to
provide a collection of necessary improvements over CppNix:
- **Built for a community, not for a corporation.**
- **Built for a community, not for a corporation.** <br>
Lix is built by a team of open-source volunteers -- and exists to provide a alternative to the
commercial interests that have long plagued both upstream CppNix and corporate-authored forks.
We're proud to stand by our open [conflict of interest statements](/team#conflict-of-interest-statements),
and proud to listen to community voices on issues of sponsorship, direction, and moderation.
- **A safe community for developers of all backgrounds.**
- **A safe community for developers of all backgrounds.** <br>
Lix is developed by a diverse group of users -- and accordingly is committed to providing a
space that's safe for users and developers typically underrepresented in technical projects.
We take moderation seriously, and are committed to preventing bad actors from driving out
We take moderation seriously, and are committed to preventing bad actors from driving out
marginalized groups.
- **A correct implementation of the Nix language.**
- **A correct implementation of the Nix language.** <br>
Recent versions of the CppNix project have introduced significant regressions -- so much so
that the upstream [Nixpkgs](https://github.com/nixos/nixpkgs) team has opted to remain several
versions behind. Lix is forked from the last truly-stable version of CppNix -- but has both
introduced new features and backported a number of features from newer versions without
sacrificing correctness.
- **A more modern implementation of Nix.**
Lix is designed for evolution of its codebase. Lix already uses the more modern
[meson build system](https://mesonbuild.com/), which improves developer usability and decreases build times.
- **A more modern implementation of Nix.** <br>
Lix is designed for evolution of its codebase. Lix already uses the more modern
[meson build system](https://mesonbuild.com/), which improves developer usability and decreases build times.
Plans include a gradual, piecewise introduction of the memory-safe [Rust](https://www.rust-lang.org/)
programming language -- to both supplement and replace sections of the current C++ codebase.
programming language -- to both supplement and replace sections of the current C++ codebase.
- **A language with room to grow.**
- **A language with room to grow.** <br>
Unlike upstream Nix, Lix intends to be an evolving language -- a robust language versioning
system will allow the language to grow and evolve without sacrificing backwards-compatibility or correctness.
And room to grow means room for **usability and ergonomics improvements** -- both in the langauge and in
tooling.
<br>
## Community, Team & Governance
**Looking for information about the people behind the project?**
Check out our [community](/community) and [team](/team) pages.
**Looking for information about the people behind the project?** <br>
Check out our [community](/community) and [team](/team) pages.

View file

@ -20,7 +20,7 @@ Adding Lix to a flake-based configuration is relatively simple. First, add the L
# Add this section to your flake inputs!
#
# Note that this assumes you have a flake-input called nixpkgs,
# which is often the case. If you've named it something else,
# which is often the case. If you've named it something else,
# you'll need to change the `nixpkgs` below.
lix = {
url = "git+https://git@git.lix.systems/lix-project/lix?ref=refs/tags/2.90-beta.1";
@ -78,7 +78,7 @@ Add the Lix _NixOS Module_ to your configuration:
}
```
Finally, if you'd prefer not to build Lix yourself, you can add our binary cache.
Finally, if you'd prefer not to build Lix yourself, you can add our binary cache.
Add the following to any NixOS module in your configuration (e.g. `configuration.nix`):
```nix
@ -111,7 +111,7 @@ If you're not using flakes, you can set up your configuration to automatically p
Lix release tarball, and then add it to your `configuration.nix`.
Open your `/etc/nixos/configuration.nix` in the editor of your choice. Find the `imports`
section, and add the line provided in the configuration
section, and add the line provided in the configuration
<mark>
<b>This section is currently pending on a quick update.</b>
@ -128,17 +128,17 @@ section, and add the line provided in the configuration
# This is the core line -- it pulls down the Lix module and
# includes it in your configuration. It looks much nicer with a let
# binding -- but for clarity, we'll leave that as an exercise for the
# binding -- but for clarity, we'll leave that as an exercise for the
# reader. :)
#
# Note that the tag (e.g. v2.90) in the URL here is what determines
# which version of Lix you'll wind up with.
(import
(import
(
(fetchTarball { url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz"; }) + "/module.nix"
)
{
lix = fetchTarball { url = "https://git.lix.systems/lix-project/lix/archive/2.90-beta.1.tar.gz"; };
)
{
lix = fetchTarball { url = "https://git.lix.systems/lix-project/lix/archive/2.90-beta.1.tar.gz"; };
}
)
];
@ -147,7 +147,7 @@ section, and add the line provided in the configuration
}
```
Finally, if you'd prefer not to build Lix yourself, you can add our binary cache.
Finally, if you'd prefer not to build Lix yourself, you can add our binary cache.
Add the following to any NixOS module in your configuration (e.g. `configuration.nix`):
```nix
@ -175,8 +175,8 @@ great time to check out some of the [community's resources on Nix](/resources).
## Having Trouble?
**One quick thing to check:** have you set `nix.package` anywhere in your configuration?
If so, your configuration option will override the Lix module. You'll want to remove it, first --
**One quick thing to check:** have you set `nix.package` anywhere in your configuration? <br>
If so, your configuration option will override the Lix module. You'll want to remove it, first --
or, if you're feeling savvy, point it to the provided Lix package.
**Otherwise:** If you're having difficulty installing Lix, don't panic! Hop on over to our

View file

@ -30,7 +30,7 @@ governance.
## Engaging with the Community
The best way to engage with the community currently is to **join our Matrix space** -- a decentralized
The best way to engage with the community currently is to **join our Matrix space** -- a decentralized
chat platform commonly used among open-source projects.
### Lix Matrix

View file

@ -28,7 +28,7 @@ extension system for the tooling -- which will allow technologies like flakes, a
extensions -- to seamlessly act with the Lix core without needing to reside long-term in the Lix tree.
_Flakes are not the only way to write Nix language code in Lix, and we intend to provide a good experience
to those using flakes -- while also improving the experience for those not using them --
to those using flakes -- while also improving the experience for those not using them --
by evolving a compatible but more flexible flake-like abstraction in the periphery of the Lix system._
@ -57,9 +57,9 @@ to get started on, we have triaged some tasks
about which tasks we recommend taking on, see
[Freezes and recommended contributions](https://git.lix.systems/lix-project/lix/src/branch/main/CONTRIBUTING.md).
Feel free to ask for help in the Lix development channel. Especially feel free to ask for us to write down
more work that we would like help with, or to write contribution information that is missing;
it is a goal of the project for it to be easy to get up to speed. Also, if you need additional access to
Feel free to ask for help in the Lix development channel. Especially feel free to ask for us to write down
more work that we would like help with, or to write contribution information that is missing;
it is a goal of the project for it to be easy to get up to speed. Also, if you need additional access to
do some task, such as fixing a typo in the wiki, let us know and we will figure it out.
#### Q: How do I submit changes to the Lix project?
@ -80,9 +80,9 @@ it commit-by-commit.
Lix has a central accounts system for all its services. These accounts allow access to Forgejo (the Lix bug tracker
and repositories), Gerrit Code Review, the wiki and other collaboration software we use.
To get started contributing to Lix, you need a Lix account. The easiest way to obtain one is to use GitHub
To get started contributing to Lix, you need a Lix account. The easiest way to obtain one is to use GitHub
for login, as it will let you get started immediately. We also have local accounts available for those who
wish not to use GitHub; if you would like one, please speak to a member of the Lix team on Matrix and we
wish not to use GitHub; if you would like one, please speak to a member of the Lix team on Matrix and we
will gladly make you one manually.
#### Q: If Lix plans to adopt Rust, what makes it different from Tvix?

View file

@ -8,7 +8,7 @@ author: "Lix Team"
Whether you're a new or returning user, **we're thrilled you've decided to pick up Lix!**
Lix works out-of-the-box on most Linux and MacOS systems, including with system management tools
such as [home-manager](https://github.com/nix-community/home-manager) and
such as [home-manager](https://github.com/nix-community/home-manager) and
[nix-darwin](https://github.com/LnL7/nix-darwin) -- but, like any Nix-based system, some Nix background
knowledge is recommended before installation.
@ -18,9 +18,9 @@ first, to get familiar with how Nix works.
## On NixOS
If you haven't already installed NixOS, do so using any upstream
[install image](https://nixos.org/download/#NixOS) and the instructions in the
[NixOS Manual](https://nixos.org/manual/nixos/stable/#sec-installation). Then, follow
If you haven't already installed NixOS, do so using any upstream
[install image](https://nixos.org/download/#NixOS) and the instructions in the
[NixOS Manual](https://nixos.org/manual/nixos/stable/#sec-installation). Then, follow
the instructions for either:
- [flake-based configurations](/add-to-config#flake-based-configurations); or
@ -43,7 +43,7 @@ depending on how you prefer to configure your system.
## On Any Other Linux/MacOS System
You can either perform a **new install**, or choose to
You can either perform a **new install**, or choose to
**upgrade an existing install** to Lix.
### New Installs
@ -55,7 +55,7 @@ Open a terminal, and run the following command:
curl -sSf -L https://install.lix.systems/lix | sh -s -- install
```
The installer will guide you through installing Lix -- and once it's finished,
The installer will guide you through installing Lix -- and once it's finished,
you'll have a full, working installation. If you're not sure what to do, now is a
great time to check out some of the [community's resources on Nix](/resources).

View file

@ -8,9 +8,9 @@ tags = [
]
+++
Emoji can be enabled in a Hugo project in a number of ways.
Emoji can be enabled in a Hugo project in a number of ways.
<!--more-->
The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes).
The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes).
To enable emoji globally, set `enableEmoji` to `true` in your site's [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g.

View file

@ -13,7 +13,7 @@ In this example we will be using [KaTeX](https://katex.org/)
- Create a partial under `/layouts/partials/math.html`
- Within this partial reference the [Auto-render Extension](https://katex.org/docs/autorender.html) or host these scripts locally.
- Include the partial in your templates like so:
- Include the partial in your templates like so: <br>
```bash
{{ if or .Params.math .Site.Params.math }}
@ -45,5 +45,5 @@ Inline math: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\)
Block math:
$$
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
$$

View file

@ -17,41 +17,40 @@ tasks is to establish a lasting governance model -- and other teams to handle th
Members (in alphabetical order):
- **hexchen ([@hexchen](https://github.com/hexchen), she/her)**
- **hexchen ([@hexchen](https://github.com/hexchen), she/her)** <br>
hexchen is working primarily on maintaining and extending the Lix project infrastructure.
- **Irenes ([@IreneKnapp](https://github.com/IreneKnapp), they/them)**
- **Irenes ([@IreneKnapp](https://github.com/IreneKnapp), they/them)** <br>
Irenes are an outside-context problem. They are fond of cats.
- **jade ([@lf-](https://github.com/lf-), they/them)**
jade is working on packaging, testing, infrastructure, tooling, review, stability, and a large amount of
- **jade ([@lf-](https://github.com/lf-), they/them)** <br>
jade is working on packaging, testing, infrastructure, tooling, review, stability, and a large amount of
the writing in Lix. They recently graduated from a Computer Engineering program at UBC in Canada.
- **Kate Temkin ([@ktemkin](https://github.com/ktemkin), she/her [singular] or they/them [plural])**
A performance art piece written live by a collective of hardware hackers & low-level engineers.
- **Kate Temkin ([@ktemkin](https://github.com/ktemkin), she/her [singular] or they/them [plural])** <br>
A performance art piece written live by a collective of hardware hackers & low-level engineers.
Kate works on Lix as part of a commitment to helping you do cool things, and is seriously considering
rewriting every bit of documentation ever to cross paths with Nix.
<br>
- **Lily ([@lilyinstarlight](https://github.com/lilyinstarlight), she/they)**
- **Lunaphied ([@Lunaphied](https://github.com/lunaphied), she/her [singular] or they/them [plural])**
- **Lunaphied ([@Lunaphied](https://github.com/lunaphied), she/her [singular] or they/them [plural])** <br>
Lunaphied spend a disproportionate amount of their time considering how to get FPGAs as far from Earth as possible.
When they're not working on Space Stuff, they consider doing the same for Nix regressions.
- **pennae (aka "eldritch horrors", they/them)**
- **pennae (aka "eldritch horrors", they/them)** <br>
The shadow at the end of a dark hallway. An ancient, nameless evil. Likes cookies
- **puck ([@puckipedia](https://github.com/puckipedia), she/her [singular] or they/them [plural])**
- **Qyriad ([@Qyriad](https://github.com/Qyriad), she/her [singular] or they/them [plural])**
Build system experts who delve way, way too deep into tooling -- so you don't have to.
- **Qyriad ([@Qyriad](https://github.com/Qyriad), she/her [singular] or they/them [plural])** <br>
Build system experts who delve way, way too deep into tooling -- so you don't have to.
- **raito ([@RaitoBezarius](https://github.com/RaitoBezarius), he/him)**
Raito is working on nixpkgs packaging, infrastructure, and review in Lix.
- **raito ([@RaitoBezarius](https://github.com/RaitoBezarius), he/him)** <br>
Raito is working on nixpkgs packaging, infrastructure, and review in Lix.
They are a Tvix developer focusing on the store and the evaluator.
- **Rebecca Turner ([@9999years](https://github.com/9999years), she/her)**
Rebecca is working on the evaluator and error messages.
- **Rebecca Turner ([@9999years](https://github.com/9999years), she/her)**
<br/>
@ -74,22 +73,22 @@ conflicts of interest.
expectation for her to contribute to Lix on company time. **Should a governance decision involving
these or any other financial ties arise, hexchen will recuse herself from decision-making.**
- **Irene Knapp** (they/them) is the technology director of Internet Safety Labs (ISL), a US-based 501(c)(3)
non-profit. To the best of Irene's knowledge, ISL has no financial involvement with any Lix or Nix
effort or organization, other than its own internal infrastructure.
Irene is also involved in an advisory capacity with the Coworker Solidarity Fund, a US-based 501(c)(4).
**Should a governance decision involving these or any other financial ties arise, Irene will recuse themselves
- **Irene Knapp** (they/them) is the technology director of Internet Safety Labs (ISL), a US-based 501(c)(3)
non-profit. To the best of Irene's knowledge, ISL has no financial involvement with any Lix or Nix
effort or organization, other than its own internal infrastructure.
Irene is also involved in an advisory capacity with the Coworker Solidarity Fund, a US-based 501(c)(4).
**Should a governance decision involving these or any other financial ties arise, Irene will recuse themselves
from decision-making.** Additionally, while the following does not fall within the scope of any reasonable
conflict of interest policy and is not within the scope of the recusal promise,
Irene chooses to affirm that they have many personal ties to trans, disabled and
neurodivergent tech workers, and are involved with providing and encouraging peer support to same.
Irene views the broader queer, disabled, and neurodivergent communities as the primary people to whom
conflict of interest policy and is not within the scope of the recusal promise,
Irene chooses to affirm that they have many personal ties to trans, disabled and
neurodivergent tech workers, and are involved with providing and encouraging peer support to same.
Irene views the broader queer, disabled, and neurodivergent communities as the primary people to whom
they are responsible as an activist, regardless of whatever other affiliations they may have.
- **Jade** is currently not working on anything else relevant to Lix development.
She thus declares that she has **no conflicts of interest** regarding the governance of Lix.
- **Jade** is currently not working on anything else relevant to Lix development.
She thus declares that she has **no conflicts of interest** regarding the governance of Lix.
- **Kate Temkin** is the CEO and one-third owner of **Tactile Metrology LLC (TMLLC)**, a company that currently
- **Kate Temkin** is the CEO and one-third owner of **Tactile Metrology LLC (TMLLC)**, a company that currently
sponsors Lix development. TMLLC declares that it has no financial stake in the future of Lix or Nix,
no ties to the military-industrial-complex, and a strong commitment to avoiding such ties. TMLLC is
owned by individuals, and not VC investors. **Should any decision arise in which TMLLC's interests are
@ -99,34 +98,29 @@ conflicts of interest.
- **Lunaphied** declare that they have **no conflicts of interest** regarding the governance of Lix.
- **pennae** declare that they have **no conflicts of interest** regarding the governance of Lix.
- **pennae** declare that they have **no conflicts of interest** regarding the governance of Lix.
- **Puck** is working on a NLnet project involving Nix. **Should a governance decision involving relevant
- **Puck** is working on a NLnet project involving Nix. **Should a governance decision involving relevant
financial interests arise, she will recuse herself from the relevant decision-making.**
- **Qyriad** is a one-third owner of **Tactile Metrology LLC (TMLLC)**, a company that currently
- **Qyriad** is a one-third owner of **Tactile Metrology LLC (TMLLC)**, a company that currently
sponsors Lix development. TMLLC declares that it has no financial stake in the future of Lix or Nix,
no ties to the military-industrial-complex, and a strong commitment to avoiding such ties. TMLLC is
owned by individuals, and not VC investors. **Should any decision arise in which TMLLC's interests are
owned by individuals, and not VC investors. **Should any decision arise in which TMLLC's interests are
relevant,Qyriad will recuse herself from the relevant decision-making**.
- **raitobezarius** declares that he's self-employed in a cooperative, offers Nix-based consulting and training.
- **raitobezarius** declares that he's self-employed in a cooperative, offers Nix-based consulting and training.
He has currently no stake in the cooperative, though this will change soon. He's also employed by INRIA until
August 2024 on Rust formal verification matters. **Should a governance decision involving these or any other
August 2024 on Rust formal verification matters. **Should a governance decision involving these or any other
financial ties arise, raitobezarius will recuse himself from decision-making.**
Additionally, raitobezarius is co-president of DGNum (dgnum.eu), a French "loi 1901" nonprofit organization
aiming to promote the parisian Ecole Normale Superieure (45 rue d'Ulm, 75005 Paris) excellence on computer
Additionally, raitobezarius is co-president of DGNum (dgnum.eu), a French "loi 1901" nonprofit organization
aiming to promote the parisian Ecole Normale Superieure (45 rue d'Ulm, 75005 Paris) excellence on computer
science using heavily Nix/NixOS based technologies.
- **Rebecca Turner** works for [Mercury](https://mercury.com/), a financial
services startup that [uses
Nix](https://serokell.io/blog/haskell-in-production-mercury) to build
software. **Should a governance decision involving these or any other
financial ties arise, Rebecca will recuse herself from the relevant
decision-making.**
- **Rebecca Turner** works for mercury.com, a company that uses nix to build software. **Should a governance decision involving these or any other financial ties arise, wiggles will recuse herself from the relevant decision-making.**
<br />
These declarations were last updated on **May 5st, 2024**, and are believed to be up-to-date to the current date.
If the bolded date is more than 28 days in the past, feel free to reach out via our
These declarations were last updated on **May 5st, 2024**, and are believed to be up-to-date to the current date.
If the bolded date is more than 28 days in the past, feel free to reach out via our
[community channels](/community) to request these declarations be updated.

View file

@ -12,8 +12,8 @@
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
in

View file

@ -44,6 +44,6 @@ version of the website with the theme.
Hugo Up Business Theme is based on a [Figma Design by Abell
Vo](https://www.figma.com/community/file/1022163547182520272).
## License
## License
Up Business is licensed under the MIT license.