content: add about page

This commit is contained in:
Kate Temkin 2024-04-27 18:33:52 -06:00
parent 27a6a1863d
commit 214fc6fa18
3 changed files with 134 additions and 18 deletions

View file

@ -7,6 +7,8 @@ TODO List
- Fill out the "contact us" section on the main page.
- Figure out any legalese we need on the main page.
- Add social media icons below lix for mastodon/github/etc.
- Figure out where "usability" should link to.
- Link "/contributing" to... maybe the wiki?
## Pages
@ -14,6 +16,7 @@ TODO List
- Create a subsection for using Lix on existing NixOS, and link it to the box.
- Create the `/about` page.
- Create a "Why Lix" section on `/about` and link to it.
- Create the /team page and include CoI declarations.
- Figure out where to link the "Docs" link to.
- Create a /community page linking to matrix.
- Create /roadmap.
@ -25,3 +28,7 @@ TODO List
- Replace the primary "hero" graphic with a Lix one.
- Replace the "lix-managed systems" graphic with an image of our logo on a screen.
- Replace the placeholders for each of the three main page "why lix" points.
# Wishlist
- Screenshots (incl. maybe of Xil) showing ergonomics enhancements.

View file

@ -1,25 +1,122 @@
+++
title = "About"
description = "Hugo, the world's fastest framework for building websites"
date = "2019-02-28"
aliases = ["about-us", "about-hugo", "contact"]
author = "Hugo Authors"
+++
---
title: "About Lix"
description: "A strictly-better implementation of the Nix language."
date: "2024-04-27"
author: "Lix Team"
---
Written in Go, Hugo is an open source static site generator available under the [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows.
**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**.
Hugo makes use of a variety of open source projects including:
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.
* https://github.com/yuin/goldmark
* https://github.com/alecthomas/chroma
* https://github.com/muesli/smartcrop
* https://github.com/spf13/cobra
* https://github.com/spf13/viper
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.
Hugo is ideal for blogs, corporate websites, creative portfolios, online magazines, single page applications or even a website with thousands of pages.
### Why use Nix?
Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases.
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).
Websites built with Hugo are extremely fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider.
Learn more and contribute on [GitHub](https://github.com/gohugoio).
## Why Lix?
The **Nix language** is used for a variety of applications ranging from individual computers
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.**
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 statement](/team#conflicts-of-interest),
and proud to listen to community voices on issues of sponsorship, direction, and moderation.
- **A safe community for developers of all backgrounds.**
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
marginalized groups.
- **A correct implementation of the Nix language.**
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.
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.
- **A language with room to grow.**
Unlike upstream Nix, Lix intends to be an evolving language -- a robust [language versioning](/roadmap)
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.
## Frequently Asked Questions (relatively speaking)
#### Q: Can I use my existing Nix/NixOS configuration?
Absolutely. A primary goal of the Lix project is compatibility, which means that we very much support
using Lix in any existing Nix or NixOS configuration.
Check out the [install page](/install) to see how to use Lix with your existing configurations.
#### Q: If Lix plans to adopt Rust, what makes it different from Tvix?
Unlike Lix, [Tvix](https://tvix.dev/) is a ground-up re-implementation of the Nix language in Rust,
which shares many of the same modernization goals as Lix -- but also has a long way to go before it can
reach feature parity (and parity in correctness) with the _cppnix_ and Lix implementations.
Lix instead plans a _top-down_, _piecewise_ approach to our Rust extensions and replacements -- which means
that Lix already has feature-parity with -- and correctness exceeding -- the original _cppnix_.
#### Q: What are your plans for flakes?
One of our primary goals is compatibility. While flakes are an experimental technology, their use is
widespread enough that they've become a de-facto part of the Nix ecosystem -- and thus we consider them
to be part of our compatibility guarantee.
That said, we're not tied to any particular flake implementation. As Lix develops, we plan on adding an
extension system for the tooling -- which will allow technologies like flakes, as well as new and different
extensions -- to seamlessly act with the Lix core without needing to reside long-term in the Lix tree.
#### Q: What relation does Lix have to the Nix Foundation, and to related projects?
Besides being a fork of _cppnix_ and an implementation of the Nix language, Lix is the
effort of a number of long-time Nix, Nixpkgs, NixOS, and Tvix contributors and maintainers -- and has
been developed in partnership with a number of prolific Nix-documenters, bloggers, and users.
We welcome anyone who wants to develop for both Lix and another implementation -- including _cppnix_ and _Tvix_,
and our permissive open-source absolutely allows any developer to integrate our code into any
license-compatible project.
However, ___Lix does not fall under the NixOS Foundation umbrella___, is funded independently of the foundation,
and is not in any way controlled by its leadership. Unfortunately, at the moment, this is currently vital for
us to deliver on our promise of a safe and inclusive community.
#### Q: What does the name Lix stand for? How is it pronounced?
Like Nix, Lix isn't really short for anything. The name originally derives from the term _Layered Nix_,
based on the premise of layering new language and tooling features atop a fully-compatible, rock-solid base.
Lix is pronounced like _licks_ -- i.e. what you might do if someone handed you a delicious ice cream cone;
which may or may not be stacked up with lambdas.
#### Q: Can I help?
Absolutely! We love new contributors, and are always looking for contributions in all of our areas -- and
we value contributions of more than just code.
Head over to the [contributing](/contributing) page to get started.

View file

@ -7,4 +7,16 @@
border-radius: 8px;
}
}
h2 {
margin-top: 3rem;
margin-bottom: 1rem;
color: $primary;
}
h4 {
font-size: inherit;
font-weight: bold;
margin-top: 2rem;
}
}