Compare commits

...

123 commits
main ... main

Author SHA1 Message Date
jade 77aaaee24c roll out 2.91.1-1 module 2024-10-19 12:02:33 -07:00
jade 32c70a33c2 version: update to 2.91.1 2024-10-18 19:06:15 -07:00
jade c40c23728a blogpost: fixing sequoia 2024-09-15 22:38:13 -07:00
jade 9b2456b2eb Merge commit 'refs/pull/4/head' of https://github.com/lix-project/lix-website
Closes: https://github.com/lix-project/lix-website/pull/4
2024-09-14 19:36:26 -07:00
jade f898c3be84 Merge pull request 'Add quicklinks' (#37) from quicklinks into main
Reviewed-on: lix-project/lix-website#37
2024-09-13 21:36:28 +00:00
Sergio Garcia bd42350f74
Fix broken link 2024-09-10 14:44:34 +02:00
Rebecca Turner 91d0546087
Add username to Gerrit clone instructions 2024-09-07 14:40:18 -07:00
Rebecca Turner 2de52f9546
Add quicklinks 2024-09-06 22:31:04 -07:00
piegames 048d0e9a54 Onboard k900 to the community team 2024-08-27 11:53:09 +00:00
jade ad8ff9bfbb type: readjust font sizes and spacings a little
This is in response to a minor complaint about the text size on
mastodon, which I agree with:
https://chaos.social/@imadnyc@mstdn.social/112961604691513932

I personally agree that 20px does not feel right, and more to the point,
our previous type scale was really odd: body text was 1.25rem (20px),
while the nav links were 1rem (16px). It seems like the intent of this
was to make it so that the body text was not 16px, which felt too small
(and does to me too).

However, it seems to me like the *actual* solution here is to set the
entire type scale overall larger, then decrease the size of any type
that looks particularly silly.

Thus, I've set the root font-size to 18px (via a percentage of 112.5%)
instead of the default 16px, which will fix all the 1rem font sizes
elsewhere in the site, to *make* 1rem a reasonable body text size.
2024-08-22 14:30:34 -07:00
jade 1bfa87942b fix pr link 2024-08-12 18:26:19 -07:00
jade ebec33fdfb Merge pull request 'Release post for 2.91' (#34) from jade/2.91-post into main
Reviewed-on: lix-project/lix-website#34
2024-08-13 01:17:11 +00:00
jade 4982dca516 Update versioned stuff to 2.91.0 2024-08-12 18:15:34 -07:00
jade c103690644 theme: distinguish code better
I found it really hard to read what was actually code, so this change
adds a very subtle hint of colour around all the code which has cheeky
border radii. I've also cheekily made the font a tiny bit smaller for
inline code so that even with the required padding, it does not mess up
the line spacing visibly.
2024-08-12 18:14:53 -07:00
jade f332f4d226 2.91 blog post 2024-08-12 18:14:53 -07:00
jade 7069486d7f Merge pull request 'Use safeHTML for titles and add non-breaking spaces to Lix 2.90's name' (#32) from tom-hubrecht/lix-website:blog-titles into main
Reviewed-on: lix-project/lix-website#32
Reviewed-by: jade <jade@noreply.git.lix.systems>
2024-07-18 17:26:41 +00:00
jade 39067fc705 Automate replacing the versions in the installation instructions
This was so so bad. Let's at least make it less fiddly.
2024-07-18 19:25:18 +02:00
Tom Hubrecht 9f5e21978a
Use safeHTML for titles and add non-breaking spaces to Lix 2.90's name 2024-07-18 18:54:30 +02:00
jade 7e44247748 Merge pull request 'theme: don't plainify post summaries' (#31) from fix-smart-quotes into main
Reviewed-on: lix-project/lix-website#31
Reviewed-by: jade <jade@noreply.git.lix.systems>
2024-07-11 10:59:17 +00:00
Qyriad 10e479016a theme: don't plainify post summaries
I *believe* this will just mean HTML inside summaries is rendered rather
than being stripped, but when it strips HTML it doesn't render HTML
entities like `&ldquo;`, which is what this commit is fixing.
2024-07-10 18:09:29 -06:00
Qyriad 8568afd19c Merge pull request 'Update website for 2.90.0 release' (#30) from jade/lix-2.90 into main
Reviewed-on: lix-project/lix-website#30
Reviewed-by: Qyriad <qyriad@fastmail.com>
2024-07-10 23:35:51 +00:00
jade 9e2c54bdb2 Update installation instructions for 2.90.0 2024-07-10 22:08:22 +02:00
jade 67cb38d869 Version 2.90.0 blog post 2024-07-10 19:56:49 +02:00
jade 008f542aff Add posts support 2024-07-10 19:50:10 +02:00
jade 9384845c40 flake.nix: switch to 24.05
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/dd37924974b9202f8226ed5d74a252a9785aedf8' (2024-04-24)
  → 'github:NixOS/nixpkgs/249fbde2a178a2ea2638b65b9ecebd531b338cf9' (2024-07-09)
2024-07-10 19:42:55 +02:00
jade 863e72530f Stop using the beta logos 2024-07-10 19:39:17 +02:00
jade 18b557c010 Add docs link
This links to the manual for the stable version.
2024-07-10 19:27:55 +02:00
hexchen 3bdac0f902 Shuffle order of community team members 2024-07-04 10:22:37 +00:00
hexchen d4b0057bef Onboard piegames to the community team 2024-07-04 10:17:47 +00:00
jade 204f164488 Fix minor subterfuge in install page links to add-to-config
It's possible for people to not notice the universal section on using
Lix from nixpkgs, which is probably the most sensible option for your
average user who just wants nix that works.

Reported by anouk on matrix.
2024-06-24 01:27:36 -07:00
jade d35de33c50 Verify mastodon link
Fixes: lix-project/lix-website#23
2024-06-20 13:50:03 -07:00
jade 2c4e1b905f Merge pull request 'doc: update tag and version from 2.90-beta1 to 2.90.0-rc1' (#29) from drupol/lix-website:lix-bump-tag-june-2024 into main
Reviewed-on: lix-project/lix-website#29
2024-06-20 06:54:15 +00:00
jade 4194388431 stop overriding lix-module.lix for release versions, rewrite non-flake section 2024-06-19 23:53:19 -07:00
Pol Dellaiera 92b9c4408b
doc: update tag and version from 2.90-beta1 to 2.90.0-rc1 2024-06-19 14:52:28 +02:00
irenes 1e9c1e775f
add a note to the top of the resources page about outdated practices 2024-06-15 13:31:19 -07:00
raito 116e2cbd61 Merge pull request 'Remove height and weight override from Mastodon and Git logos' (#16) from val/lix-website:icon-height into main
Reviewed-on: lix-project/lix-website#16
Reviewed-by: raito <raito@noreply.git.lix.systems>
2024-06-09 13:11:12 +00:00
raito 50a12f4798 Merge pull request 'chore: change example nix --version outputs to 2.90-beta.1' (#27) from ajaxbits/lix-website:beta.1-typo into main
Reviewed-on: lix-project/lix-website#27
Reviewed-by: raito <raito@noreply.git.lix.systems>
2024-06-09 13:10:33 +00:00
raito c533c9eaf8 Merge pull request 'add-to-config, about: fix typos' (#10) from danderson/lix-website:dave/typos into main
Reviewed-on: lix-project/lix-website#10
Reviewed-by: raito <raito@noreply.git.lix.systems>
2024-06-09 13:08:40 +00:00
Dave Anderson 91cc630e23 about: fix typo 2024-06-09 13:08:11 +00:00
Dave Anderson c526b37c6d add-to-config: fix option name for cache servers 2024-06-09 13:08:11 +00:00
Qyriad 9eeba87c32 Merge pull request 'install.md: Fix broken link' (#26) from yayayayaka/lix-website:fix-link-on-install.md into main
Reviewed-on: lix-project/lix-website#26
2024-06-07 20:37:53 +00:00
Yaya 73c79b98f2 install.md: Fix broken link 2024-06-07 20:37:53 +00:00
Qyriad 93047e5a9a Merge pull request 'fix grammar: «a alternative» → «an alternative»' (#25) from das-g/lix-website:fix-grammar-aN-alternative into main
Reviewed-on: lix-project/lix-website#25
2024-06-07 20:37:34 +00:00
Raphael Das Gupta cc3d177e76 fix grammar: «a alternative» → «an alternative»
Use «an» rather than «a» as the indefinite article,
because «alternative» begins with a vowel.
2024-06-07 20:37:34 +00:00
Qyriad b87cc0ff2d Merge pull request 'Fix horizontal scroll on mobile' (#17) from annikahannig/lix-website:main into main
Reviewed-on: lix-project/lix-website#17
2024-06-07 20:37:09 +00:00
Annika Hannig 0b198dcaef fixes horizontal scroll on mobile 2024-06-07 20:37:09 +00:00
Qyriad 4cceedc66d Merge pull request 'theme: explicitly set the width/height of the Matrix icon' (#11) from danderson/lix-website:dave/matrix-logo into main
Reviewed-on: lix-project/lix-website#11
2024-06-07 20:36:28 +00:00
Dave Anderson 6c8c31915d theme: explicitly set the width/height of the Matrix icon
Chrome and Safari default <svg> width and height to 'auto', which
expands the viewport to fit the pixels within. Safari doesn't, and
the viewport collapses to 0x0 unless explicitly expanded.

Firefox calculates the viewport's natural dimensions to be 16x18,
so I used those values.

Fixes #8
2024-06-07 20:36:28 +00:00
Qyriad 8a6aaff86c Merge pull request 'add-to-config: fix typo' (#6) from yu-re-ka/lix-website:main into main
Reviewed-on: lix-project/lix-website#6
2024-06-07 20:35:55 +00:00
Yureka 844d27440c add-to-config: fix typo 2024-06-07 20:35:55 +00:00
Alex Jackson 51f93203b8 chore: change example nix --version outputs to 2.90-beta.1
With the update to 2.90-beta.1, the install examples now properly indicate that the output of `nix --version` should be:
nix (Lix, like Nix) 2.90.0-beta.1
2024-06-04 20:54:44 -05:00
Qyriad 8288b491f9
Merge pull request #2 from SebTM/patch-1
add-to-config: Fix inconsistent https-urls for git.lix.systems
2024-05-26 11:12:14 -06:00
Basti 5b03fa1581
add-to-config: Fix inconsistent https-urls for git.lix.systems 2024-05-26 12:56:50 +00:00
Qyriad 0d006b3f80 Merge pull request 'install: fix upgrade-nix command' (#24) from fix-upgrade-nix-command into main
Reviewed-on: lix-project/lix-website#24
Reviewed-by: Qyriad <qyriad@fastmail.com>
2024-05-19 22:07:33 +00:00
puck 3e4f344fe3 install: preserve PATH, as it is needed for Nix upgrades
Some people seem to lack nix in their PATH as root. This should let
them still upgrade to Lix.
2024-05-19 21:50:24 +00:00
puck 7a625db723 install: fix upgrade-nix command
upgrade-nix needs to be passed the replacement substituter too.
2024-05-19 21:35:02 +00:00
jade 185beba13d community standards: remove poor example 2024-05-16 21:08:35 -07:00
Qyriad 7b75e20062 Merge pull request 'community-standards: reword in line with wiki' (#22) from jade/community-standards-wording into main
Reviewed-on: lix-project/lix-website#22
Reviewed-by: Qyriad <qyriad@qyriad.me>
2024-05-15 00:57:47 +00:00
jade 002473b14c community-standards: reword in line with wiki
There was some feedback on Matrix that the sentence about
less-marginalized people being guests in the space was not quite clear
in intent. This should clarify the intent very explicitly.
2024-05-14 17:54:43 -07:00
raito 71290de161 Merge pull request 'faq: Update link to recommended contributions wiki page' (#18) from yayayayaka/lix-website:update-freezes-and-recommended-contributions-url into main
Reviewed-on: lix-project/lix-website#18
2024-05-11 23:02:41 +00:00
Val Lorentz 214d82d475 Explicitly set dimensions, to fix layout on Safari 2024-05-09 08:20:29 +02:00
Yaya 8c3e0e324d
faq: Update link to recommended contributions wiki page
It was previously pointing to the CppNix version of [`CONTRIBUTING.md`].

[`CONTRIBUTING.md`]: 30dcc19d1f/CONTRIBUTING.md
2024-05-07 09:35:53 +02:00
Val Lorentz 54d647ebae Remove height and weight override from Mastodon and Git logos
The width does nothing as far as I can tell, and the height makes
the clickable boxes much higher than they need to, overlapping with
the paragraph before the button in the footer.
2024-05-06 23:14:41 +02:00
puck 6708953867 Merge pull request 'Update info for Rebecca' (#13) from rebecca-info into main
Reviewed-on: lix-project/lix-website#13
2024-05-06 16:52:43 +00:00
Rebecca Turner c206ecd0c5
Update info for Rebecca 2024-05-06 09:09:18 -07:00
hexchen 9f9f68809c typo: lix.system in matrix url 2024-05-06 09:31:53 +00:00
Kate Temkin 9b7f7fae2d faq: fix link 2024-05-05 20:59:08 -06:00
Kate Temkin 8bc6ff9a25 website: set things up to go live~ 2024-05-05 20:48:34 -06:00
Kate Temkin 6211b84333 team: update a member's name from handle -> name 2024-05-05 19:43:22 -06:00
ktemkin 9fc410c53f Merge pull request 'finish up the install instructions' (#5) from install-instructions into main
Reviewed-on: lix-project/lix-website#5
Reviewed-by: ktemkin <kate@ktemk.in>
2024-05-06 00:27:45 +00:00
puck 6715c2256f static: add well-known matrix files 2024-05-05 23:53:01 +00:00
Qyriad 2870e395cf add binary cache instructions for NixOS 2024-05-05 17:24:38 -06:00
Qyriad 72fdeeb475 add the full upgrade-nix invocation 2024-05-05 17:19:26 -06:00
Kate Temkin cc3d666bd1 team: fix a duplicate word "hexchen"
this does not, in general, deduplicate hexchens
2024-05-05 15:51:46 -06:00
Kate Temkin 05cf1f686a team: bump the date 2024-05-05 15:49:30 -06:00
Kate Temkin 7beb3c5dcc team: be consistently bold. it's called leadership. 2024-05-05 15:46:37 -06:00
Kate Temkin aed5e03a4d reduce the magnitude of puck but increase the count 2024-05-05 15:43:15 -06:00
Kate Temkin ec66af2e8a pennae: more lines 2024-05-05 15:41:34 -06:00
Kate Temkin 9e4717c973 team: increase the puck and decrease the typos 2024-05-05 15:35:27 -06:00
ktemkin e1cce4481b Merge pull request 'update pennae in team.md' (#4) from pennae-patch-1 into main
Reviewed-on: lix-project/lix-website#4
Reviewed-by: ktemkin <kate@ktemk.in>
2024-05-05 21:30:01 +00:00
eldritch horrors 9901f09c90 Update content/team.md 2024-05-05 19:15:30 +00:00
eldritch horrors f7042b98e5 update pennae in team.md 2024-05-05 19:13:04 +00:00
Kate Temkin 24849f9e4a links: fix a FAQ link to the canonical address 2024-05-05 11:18:42 -06:00
Kate Temkin 6928c44770 content: fix a stray italic in the FAQ 2024-05-05 11:16:59 -06:00
Kate Temkin 33d25302e5 resources: fix some links 2024-05-05 11:13:34 -06:00
Kate Temkin 4d93b6e90c community: properly link to the resources page 2024-05-05 11:07:45 -06:00
Kate Temkin 349575d773 fix lix != gix 2024-05-05 11:06:04 -06:00
Kate Temkin 0ed1f81bb2 community: fix bad links 2024-05-05 11:01:52 -06:00
Kate Temkin 35798f4707 consistency: use upper-case Lix 2024-05-05 10:59:14 -06:00
Kate Temkin 0a12098bc7 github: add automatic deployment 2024-05-05 10:35:28 -06:00
Kate Temkin 218163587e deployment: prepare to deploy pre-soft-launch 2024-05-05 10:26:18 -06:00
Kate Temkin a6a3e046e1 replace favicon with a _flav_icon (our logo) 2024-05-05 10:16:55 -06:00
Kate Temkin 97a280ae2f patch up images, prepare for pre-soft-release 2024-05-05 10:13:02 -06:00
Kate Temkin 8f42d9c5cb team: add wiggles CoI statement 2024-05-01 22:06:19 -06:00
Kate Temkin 3765adfbd6 logo: switch to beta 2024-05-01 21:03:58 -06:00
Kate Temkin 3daf012475 minor TODO tweak 2024-05-01 19:41:43 -06:00
Kate Temkin 4e7c2d2987 theming updates, and add alt text support
(why the hell was alt text support not in the original hugo theme???)
2024-05-01 19:37:50 -06:00
Kate Temkin 9081da06ce restructure TODO.md 2024-05-01 18:41:17 -06:00
Kate Temkin f7abf9d131 replace social media icons 2024-05-01 18:38:46 -06:00
Kate Temkin 60b13a744b content: hide pages we don't want available yet 2024-05-01 18:16:59 -06:00
Kate Temkin b836267ad2 content: add resources 2024-05-01 18:03:35 -06:00
Kate Temkin 5aa27eb08a content: add community page 2024-05-01 17:43:25 -06:00
ktemkin c5a11acd61 Merge pull request 'General cleanup 2024-04-28' (#1) from ckiee/lix-website:2024-04-28 into main
Reviewed-on: lix-project/lix-website#1
2024-05-01 22:34:26 +00:00
jade 398304bbf1 Merge pull request 'add my bio' (#3) from irenes/lix-website:main into main
Reviewed-on: lix-project/lix-website#3
2024-04-30 19:52:21 +00:00
irenes 30615862b6
add my bio 2024-04-28 14:41:07 -07:00
mei (ckie) 2724d58626
config: fix typo "licenced" 2024-04-28 15:31:50 +03:00
mei (ckie) 2d7b56e623
fix typo "varaint" 2024-04-28 15:31:18 +03:00
mei (ckie) 28654494cc
theme: add proper favicon
make sure to:
  rm -rf public/ resources/_gen/
scraped from git.lix.systems
2024-04-28 15:31:18 +03:00
mei (ckie) b4debe846f
ecosystem: align card heights 2024-04-28 15:31:18 +03:00
Kate Temkin 29ede7c21b TODO: add a team-related task 2024-04-27 23:21:57 -06:00
Kate Temkin e6bc8002b4 header: rework top menu 2024-04-27 23:21:16 -06:00
Kate Temkin 912696e53e update TODO and make a tiny style tweak 2024-04-27 23:14:00 -06:00
Kate Temkin 9b5a216236 team: make a slight tweak so things fit more nicely~ 2024-04-27 23:08:50 -06:00
Kate Temkin 9aa0faff23 team: add page 2024-04-27 23:05:13 -06:00
Kate Temkin e13d92cbca add-to-config: note nix.package 2024-04-27 21:55:33 -06:00
Kate Temkin 618d5abc12 theme: reflow bottom bar a little 2024-04-27 21:49:34 -06:00
Kate Temkin 1d7f45e632 add-to-config: finish and clean up mistakes 2024-04-27 21:35:47 -06:00
Kate Temkin 8752eb050e config: update syntax highlighting 2024-04-27 21:24:34 -06:00
Kate Temkin 73fccad36a install: more instructions; still not done~ 2024-04-27 21:13:54 -06:00
Kate Temkin 224fda32d1 install: tweak instructions 2024-04-27 20:37:30 -06:00
Kate Temkin d0062aeff4 content: add install page (incomplete) 2024-04-27 20:32:25 -06:00
Kate Temkin 8c524f2112 update about and themeing 2024-04-27 19:20:05 -06:00
Kate Temkin 214fc6fa18 content: add about page 2024-04-27 18:35:43 -06:00
80 changed files with 3187 additions and 444 deletions

View file

@ -0,0 +1,75 @@
name: Deploy site
on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
# Default to bash
defaults:
run:
shell: bash
jobs:
# Build job
build:
runs-on: ubuntu-latest
env:
HUGO_VERSION: 0.124.1
steps:
- name: Install Hugo CLI
run: |
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
- name: Install Dart Sass
run: sudo snap install dart-sass
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Pages
id: pages
uses: actions/configure-pages@v5
- name: Install Node.js dependencies
run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
- name: Build with Hugo
env:
# For maximum backward compatibility with Hugo modules
HUGO_ENVIRONMENT: production
HUGO_ENV: production
run: |
hugo \
--minify \
--baseURL "${{ steps.pages.outputs.base_url }}/"
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./public
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4

34
TODO.md
View file

@ -1,27 +1,25 @@
TODO List TODO List
========== ==========
## Misc ## Soft Release Blockers
- Figure out what to replace the location section with. - Fix the logo to have proper transparency
- 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.
## Pages ## After Soft Release
- Create the `/install` page. ### Misc
- 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.
- Figure out where to link the "Docs" link to.
- Create a /community page linking to matrix.
- Create /roadmap.
- Create /infrastructure.
## Graphics - Figure out where to link the "Docs" link to, and uncomment it.
- Fix the fact that Hugo is sticking the wrong thing into the alt text. ### Content
- Screenshots (incl. maybe of Xil) showing ergonomics enhancements in the /about page.
- Create `/roadmap`.
- Create '/usability'.
- Create `/infrastructure`.
### Graphics
- Add nice images to the "/about" page.
- Replace the primary "hero" graphic with a Lix one. - Replace the primary "hero" graphic with a Lix one.
- Replace the "lix-managed systems" graphic with an image of our logo on a screen. - Monocolor the social media icons and then apply the color filter.
- Replace the placeholders for each of the three main page "why lix" points.

View file

@ -1,16 +1,14 @@
baseURL: "https://scratch.lix.systems/" baseURL: "https://lix.systems/"
theme: "lix" theme: "lix"
languageCode: "en-us" languageCode: "en-us"
title: "Lix" title: "Lix"
# googleAnalytics: ""
summaryLength: 20 summaryLength: 20
params: params:
title: "Lix" title: "Lix"
description: "Lix is an independent varaint of the Nix package manager, developed by a team of open-source volunteers, and maintained by and for a passionate community of users." 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" - "images/hero-image.png"
@ -23,14 +21,16 @@ params:
social: social:
twitter: "https://twitter.com/LixProject" twitter: "https://twitter.com/LixProject"
mastodon: "https://chaos.social/@lix_project"
location: matrix: "https://matrix.to/#/#space:lix.systems"
- "" github: "https://github.com/lix-project"
git: "https://git.lix.systems/lix-project"
contact: contact:
- "info@lix.systems" - "General Inquiries: info@lix.systems"
- "Security Reports: security@lix.systems"
copyright: "Content licenced under CC-BY-SA-4.0 or LGPL-2.0-or-later." copyright: "Content licensed under CC-BY-SA-4.0 or LGPL-2.0-or-later."
menus: menus:
main: main:
@ -42,54 +42,84 @@ menus:
url: "/about" url: "/about"
weight: 2 weight: 2
- name: "Code" - name: "FAQs"
url: "https://git.lix.systems/lix-project/lix" url: "/faq"
weight: 3 weight: 2
- name: "Docs" - name: "Resources"
url: "/#" url: "/resources"
weight: 4 weight: 3
- name: "Community" - name: "Community"
url: "/community" url: "/community"
weight: 4
- name: News
url: "/blog"
weight: 5 weight: 5
- name: "Wiki" - name: "Docs"
url: "https://wiki.lix.systems" url: "https://docs.lix.systems/manual/lix/stable"
weight: 6 weight: 6
- name: "Code"
url: "https://git.lix.systems/lix-project/lix"
weight: 7
- name: "Wiki"
url: "https://wiki.lix.systems/books"
weight: 8
buttons: buttons:
- name: "Install Lix" - name: "Install Lix"
url: "/#" url: "/install"
weight: 5 weight: 5
pre: "btn btn-primary text-light" pre: "btn btn-primary text-light"
footer: aboutus:
- name: "Why Lix?"
url: "/about#why-lix"
weight: 1
- name: "About Lix" - name: "About Lix"
url: "/about" url: "/about"
weight: 2 weight: 2
- name: "Source Repositories"
url: "https://git.lix.systems"
- name: "The Lix Team" - name: "The Lix Team"
url: "/team" url: "/team"
weight: 3
weight: 3
- name: "Documentation"
url: "/#"
weight: 4 weight: 4
- name: "Community" - name: "FAQs"
url: "/community" url: "/faq"
weight: 5 weight: 5
resources:
- name: "Wiki" - name: "Wiki"
url: "https://wiki.lix.systems" url: "https://wiki.lix.systems"
weight: 6 weight: 1
- name: "Community"
url: "/community"
weight: 2
- name: "Nix Resources"
url: "/resources"
weight: 2
- name: "Source Repositories"
url: "https://git.lix.systems/lix-project"
weight: 4
taxonomies: taxonomies:
series: "series" series: "series"
tags: "tags" tags: "tags"
markup:
goldmark:
renderer:
unsafe: true
highlight:
style: manni

View file

@ -1,25 +1,68 @@
+++ ---
title = "About" title: "About Lix"
description = "Hugo, the world's fastest framework for building websites" description: "A strictly-better implementation of the Nix language."
date = "2019-02-28" date: "2024-04-27"
aliases = ["about-us", "about-hugo", "contact"] author: "Lix Team"
author = "Hugo Authors" ---
+++
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 As a fork of CppNix, Lix is designed to be fully compatible with the original CppNix
* https://github.com/alecthomas/chroma implementation -- but also designed to allow evolution of the language and tooling, so
* https://github.com/muesli/smartcrop its developers can improve usability and ergonomics without sacrificing correctness.
* https://github.com/spf13/cobra
* https://github.com/spf13/viper
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 an 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.**
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
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 language and in
tooling.
## Community, Team & Governance
**Looking for information about the people behind the project?**
Check out our [community](/community) and [team](/team) pages.

246
content/add-to-config.md Normal file
View file

@ -0,0 +1,246 @@
---
title: "Switching To Lix"
description: "or: how to make your existing configuration Delicious"
date: "2024-04-27"
author: "Lix Team"
---
<!--
HI!!!
The file add-to-config.md is generated by update_version.py by
substituting values into add-to-config.md.in.
Please don't edit add-to-config.md directly!
-->
If you have an existing configuration on **NixOS** or **nix-darwin**, there are
a couple of ways to switch to Lix, all of which are relatively easy.
- Using Lix from nixpkgs:
- Potentially slightly older version of Lix
- Working binary caching
- Programs like nix-eval-jobs and colmena still use the default version of
Nix (may be unacceptable depending on your use case)
- Using the Lix NixOS module:
- Fresh version of Lix right out of the freezer
- You will be compiling Lix yourself, for now at least
- Programs like nix-eval-jobs and colmena have the version of Nix they use
overridden by an overlay such that most of the system uses Lix.
# Using Lix from nixpkgs
This approach has some caveats: since it is not using an overlay, it does not
set the version of Nix depended on by other tools like colmena or
nix-eval-jobs. Consequently, those tools will be using whichever version of
CppNix is default in nixpkgs, likely leading to an inconsistent experience. It
is, however, easy, and it does not take the few minutes to compile Lix from
source.
Add the following code to your NixOS configuration:
```nix
{ pkgs, ... }:
{
nix.package = pkgs.lix;
}
```
That's it, you're done.
You can verify that it works by running the following command:
```sh
$ nix --version
nix (Lix, like Nix) 2.91.1
```
# Using the Lix NixOS module
The Lix NixOS module is the way to get the most consistent experience using
Lix, and to have a system that has Lix as the default Nix implementation
wherever possible by using an overlay to replace `pkgs.nix`. It will result in
building Lix from source, which takes a few minutes on every update, which is a
perfect time to get up, get some water, and stretch for a bit.
## Flake-based Configurations
Adding Lix to a flake-based configuration is relatively simple. First, add the Lix module to your _flake inputs_:
```nix
{
inputs = {
# 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,
# you'll need to change the `nixpkgs` below.
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
}
# <rest of configuration omitted>
}
```
Next, add the `lix-module` as one of the arguments to your output function:
```nix
{
# <configuration above omitted>
# Add the `lix-module` argument to your output function, as below:
outputs = {nixpkgs, lix-module, ...}: {
# <rest of configuration omitted>
}
}
```
Add the Lix _NixOS Module_ to your configuration:
```nix
{
# <configuration above omitted>
# Add the `lix-module` argument to your output function, as below:
outputs = {nixpkgs, lix-module, ...}: {
# The configuration here is an example; it will look slightly different
# based on your platform (NixOS, nix-darwin) and architecture.
nixosConfigurations.your-box = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"
modules = [
# This is the important part -- add this line to your module list!
lix-module.nixosModules.default
];
};
}
# <configuration below omitted>
}
```
<!--
FIXME: the binary cache doesn't do much good given that everyone is running a
different nixpkgs than Lix is actually cached with during the release process.
We need a hydra to be able to fix that.
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
{
nix.settings.substituters = [
"https://cache.lix.systems"
];
nix.settings.trusted-public-keys = [
"cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
];
}
```
-->
Rebuild and switch into your new system (either using `nixos-rebuild` or `darwin-rebuild`).
You should now be using Lix! You can verify this by asking the `nix` command to report its version:
```sh
$ nix --version
nix (Lix, like Nix) 2.91.1
```
As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a
great time to check out some of the [community's resources on Nix](/resources).
## Non-Flake Configurations
If you're not using flakes, you can set up your configuration to automatically pull down a
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
```nix
{ config, lib, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
# This includes the Lix NixOS module in your configuration along with the
# matching version of Lix itself.
#
# The sha256 hashes were obtained with the following command in Lix (n.b.
# this relies on --unpack, which is only in Lix and CppNix > 2.18):
# nix store prefetch-file --name source --unpack https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz
#
# Note that the tag (e.g. 2.91.1) in the URL here is what determines
# which version of Lix you'll wind up with.
(let
module = fetchTarball {
name = "source";
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz";
sha256 = "sha256-6U0CyPycIBc04hbYy2hBINnVso58n/ZyywY2BD3hu+s=";
};
lixSrc = fetchTarball {
name = "source";
url = "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz";
sha256 = "sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U=";
};
# This is the core of the code you need; it is an exercise to the
# reader to write the sources in a nicer way, or by using npins or
# similar pinning tools.
in import "${module}/module.nix" { lix = lixSrc; }
)
];
# <configuration below omitted>
}
```
<!--
FIXME: as above, doesn't work, we should not recommend it.
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
{
nix.settings.substituters = [
"https://cache.lix.systems"
];
nix.settings.trusted-public-keys = [
"cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
];
}
```
-->
Rebuild and switch into your new system (either using `nixos-rebuild` or `darwin-rebuild`).
You should now be using Lix! You can verify this by asking the `nix` command to report its version:
```sh
$ nix --version
nix (Lix, like Nix) 2.91.1
```
As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a
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 --
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
[community page](/community), and check out the various ways to find help.

246
content/add-to-config.md.in Normal file
View file

@ -0,0 +1,246 @@
---
title: "Switching To Lix"
description: "or: how to make your existing configuration Delicious"
date: "2024-04-27"
author: "Lix Team"
---
<!--
HI!!!
The file add-to-config.md is generated by update_version.py by
substituting values into add-to-config.md.in.
Please don't edit add-to-config.md directly!
-->
If you have an existing configuration on **NixOS** or **nix-darwin**, there are
a couple of ways to switch to Lix, all of which are relatively easy.
- Using Lix from nixpkgs:
- Potentially slightly older version of Lix
- Working binary caching
- Programs like nix-eval-jobs and colmena still use the default version of
Nix (may be unacceptable depending on your use case)
- Using the Lix NixOS module:
- Fresh version of Lix right out of the freezer
- You will be compiling Lix yourself, for now at least
- Programs like nix-eval-jobs and colmena have the version of Nix they use
overridden by an overlay such that most of the system uses Lix.
# Using Lix from nixpkgs
This approach has some caveats: since it is not using an overlay, it does not
set the version of Nix depended on by other tools like colmena or
nix-eval-jobs. Consequently, those tools will be using whichever version of
CppNix is default in nixpkgs, likely leading to an inconsistent experience. It
is, however, easy, and it does not take the few minutes to compile Lix from
source.
Add the following code to your NixOS configuration:
```nix
{ pkgs, ... }:
{
nix.package = pkgs.lix;
}
```
That's it, you're done.
You can verify that it works by running the following command:
```sh
$ nix --version
nix (Lix, like Nix) @VERSION_NOTRAIL@
```
# Using the Lix NixOS module
The Lix NixOS module is the way to get the most consistent experience using
Lix, and to have a system that has Lix as the default Nix implementation
wherever possible by using an overlay to replace `pkgs.nix`. It will result in
building Lix from source, which takes a few minutes on every update, which is a
perfect time to get up, get some water, and stretch for a bit.
## Flake-based Configurations
Adding Lix to a flake-based configuration is relatively simple. First, add the Lix module to your _flake inputs_:
```nix
{
inputs = {
# 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,
# you'll need to change the `nixpkgs` below.
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/@VERSION@.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
}
# <rest of configuration omitted>
}
```
Next, add the `lix-module` as one of the arguments to your output function:
```nix
{
# <configuration above omitted>
# Add the `lix-module` argument to your output function, as below:
outputs = {nixpkgs, lix-module, ...}: {
# <rest of configuration omitted>
}
}
```
Add the Lix _NixOS Module_ to your configuration:
```nix
{
# <configuration above omitted>
# Add the `lix-module` argument to your output function, as below:
outputs = {nixpkgs, lix-module, ...}: {
# The configuration here is an example; it will look slightly different
# based on your platform (NixOS, nix-darwin) and architecture.
nixosConfigurations.your-box = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"
modules = [
# This is the important part -- add this line to your module list!
lix-module.nixosModules.default
];
};
}
# <configuration below omitted>
}
```
<!--
FIXME: the binary cache doesn't do much good given that everyone is running a
different nixpkgs than Lix is actually cached with during the release process.
We need a hydra to be able to fix that.
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
{
nix.settings.substituters = [
"https://cache.lix.systems"
];
nix.settings.trusted-public-keys = [
"cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
];
}
```
-->
Rebuild and switch into your new system (either using `nixos-rebuild` or `darwin-rebuild`).
You should now be using Lix! You can verify this by asking the `nix` command to report its version:
```sh
$ nix --version
nix (Lix, like Nix) @VERSION_NOTRAIL@
```
As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a
great time to check out some of the [community's resources on Nix](/resources).
## Non-Flake Configurations
If you're not using flakes, you can set up your configuration to automatically pull down a
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
```nix
{ config, lib, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
# This includes the Lix NixOS module in your configuration along with the
# matching version of Lix itself.
#
# The sha256 hashes were obtained with the following command in Lix (n.b.
# this relies on --unpack, which is only in Lix and CppNix > 2.18):
# nix store prefetch-file --name source --unpack https://git.lix.systems/lix-project/lix/archive/@VERSION_NOTRAIL@.tar.gz
#
# Note that the tag (e.g. @VERSION_NOTRAIL@) in the URL here is what determines
# which version of Lix you'll wind up with.
(let
module = fetchTarball {
name = "source";
url = "https://git.lix.systems/lix-project/nixos-module/archive/@VERSION@.tar.gz";
sha256 = "@NIXOS_MODULE_HASH@";
};
lixSrc = fetchTarball {
name = "source";
url = "https://git.lix.systems/lix-project/lix/archive/@VERSION_NOTRAIL@.tar.gz";
sha256 = "@LIX_ARCHIVE_HASH@";
};
# This is the core of the code you need; it is an exercise to the
# reader to write the sources in a nicer way, or by using npins or
# similar pinning tools.
in import "${module}/module.nix" { lix = lixSrc; }
)
];
# <configuration below omitted>
}
```
<!--
FIXME: as above, doesn't work, we should not recommend it.
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
{
nix.settings.substituters = [
"https://cache.lix.systems"
];
nix.settings.trusted-public-keys = [
"cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
];
}
```
-->
Rebuild and switch into your new system (either using `nixos-rebuild` or `darwin-rebuild`).
You should now be using Lix! You can verify this by asking the `nix` command to report its version:
```sh
$ nix --version
nix (Lix, like Nix) @VERSION_NOTRAIL@
```
As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a
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 --
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
[community page](/community), and check out the various ways to find help.

View file

@ -0,0 +1,229 @@
+++
title = "Announcing Lix 2.90 \"Vanilla&nbsp;Ice&nbsp;Cream\""
author = "Lix Team"
date = "2024-07-10"
+++
We at the Lix team are proud to announce our first release, version 2.90
"Vanilla Ice Cream". This release focuses on foundations and reliability, but
nevertheless contains several small but exciting user-facing features that are
exclusive to Lix.
Lix is a Nix implementation focused on reliability, predictability,
friendliness, developed by a community of people from
around the world. We have long term plans to incrementally evolve Nix to work
in more places, to make it more reliable and secure, and to update
the language and semantics to correct past mistakes and reduce
errors, all the while providing an amazing tooling experience.
Lix forks from CppNix version 2.18, which is the default version of Nix in
NixOS 23.11 and 24.05. It includes backports for most bug fixes in later versions of
CppNix, as well as various reliability improvements, and many improvements to user
experience. Our goal with Lix 2.90 is to create a better Nix 2.18: faster, more
user friendly, with fewer bugs, and fully compatible with previously-valid
Nix code including flakes.
Some highlights of this release include:
- `:doc` in `nix repl` now works on lambdas, in addition to built-in functions
as before, thanks to [Lunaphied] and [jade]:
```
dev/nixpkgs » nix repl -f .
Lix 2.90.0-lixpre20240520-992c63f
Type :? for help.
Loading installable ''...
Added 21430 variables.
nix-repl> :doc lib.forEach
Synopsis: func = xs: f: ...
| Apply the function to each element in the list.
| Same as `map`, but arguments flipped.
|
| Inputs
|
| `xs`
|
| : 1\. Function argument
|
| `f`
|
| : 2\. Function argument
|
| Type
|
| ``
| forEach :: [a] -> (a -> b) -> [b]
| ``
|
| Examples
| :::{.example}
# lib.lists.forEach usage example
| ``nix
| forEach [ 1 2 ] (x:
| toString x
| )
| => [ "1" "2" ]
| ``
|
| :::
/home/jade/dev/nixpkgs/lib/lists.nix:77
```
- `nix repl` supports creating shortcuts using the [`repl-overlays`][repl-overlays]
setting, thanks to [wiggles]. For example, one can create a shortcut to
`legacyPackages.${currentSystem}` with the following repl overlay, configured
as a file in the `repl-overlays` setting in `~/.config/nix/nix.conf`:
```nix
{ currentSystem, ...}: final: prev: let
optionalAttrs = predicate: attrs:
if predicate
then attrs
else {};
in
optionalAttrs (prev ? legacyPackages && prev.legacyPackages ? ${currentSystem})
{
pkgs = prev.legacyPackages.${currentSystem};
}
```
Then:
```
~ » nix repl nixpkgs
Lix 2.90.0-lixpre20240520-992c63f
Type :? for help.
Loading installable 'flake:nixpkgs#'...
Added 5 variables.
Loading 'repl-overlays'...
Added 6 variables.
nix-repl> pkgs.hello
«derivation /nix/store/w0hjp1fnvyf1z30s29fj4im8c7bxqrql-hello-2.12.1.drv»
```
- Evaluation is 5-20% faster than 2.18, depending on which benchmark is in use,
thanks to [eldritch horrors].
- Various user experience issues have been fixed. For example:
- Error reporting has been fixed to be more accurate in several cases thanks
to [wiggles], and errors give more details to diagnose them.
For instance, type errors now give the actual value that caused the error.
- `nix flake lock --update-input nixpkgs` is now the much more reasonable
`nix flake update nixpkgs`.
- `nix build -E` is now an alias for `nix build --expr`, mirroring `nix-build
-E`.
- Several very silly `--debugger` bugs that one runs into in normal usage
have been fixed thanks to [wiggles], so the debugger actually works properly
without a mental index of all the bugs in it.
- The Lix evaluation cache no longer caches failures, so "cached failure" is an
error of the past.
- The REPL value printer now intelligently chooses whether to print on one
line or multiple lines, rather than putting everything on one very long
line.
- Various failures that were silent in the past are no longer silent:
- The Lix daemon warns when it rejects a setting from a client that requires
being a trusted user, instead of silently ignoring it.
- Remote builds failing to connect to a builder now print the error.
- Crashing the daemon now indicates that is what probably happened.
- Lix now generally crashes much harder in the case of bugs, such that bugs
are easier to find and fix.
- Various errors have been made more specific, like "path is invalid".
- Several hauntings have been exorcised from the codebase:
- Flake input overrides like `foo.inputs.bar.inputs.nixpkgs` now work as
documented rather than being ignored.
- Store path names starting with `.` are now permitted, fixing some home-manager
issues.
- A crash when running patched kernels with non-default schedulers has been
fixed.
- Breakage inside the sandbox when running on systems with unprivileged user
namespaces disabled has been fixed.
- Various format string crashes have been fixed.
- `nix doctor` now has correct output of client trustedness.
[wiggles]: https://github.com/9999years
[eldritch horrors]: https://git.lix.systems/pennae
[Lunaphied]: https://github.com/lunaphied
[jade]: https://jade.fyi
[repl-overlays]: https://docs.lix.systems/manual/lix/2.90/command-ref/conf-file.html#conf-repl-overlays
A lot of internal stability work and development process work has gone into
this release. For instance:
- Lix builds exclusively with the Meson build system. The historical CppNix
Make-based build system has been removed altogether. This improves
compile times as well as various aspects of the developer experience: the `clangd`
language server just works with no configuration now, for instance.
- Lix has the beginnings of the infrastructure to do linting of its C++ code and work on
modernization with automated tools.
- Lix enforces various aspects of [its
styleguide][styleguide] with `pre-commit` hooks.
- A lot of onboarding and project planning information has been written down in
the [Wiki]. In general we strive to be transparent with our plans and
priorities, and to communicate them clearly.
- We have completed a release automation project, which should let us release more
frequently given that our `main` is more or less releaseable on any given day.
- We have built out a lot of infrastructure which we own end-to-end, allowing
us to quickly improve on pain points in the project ourselves.
- We have [Single Sign-On](https://identity.lix.systems) permitting us to
easily deploy more services that cleanly integrate together.
- We use [Gerrit](https://gerrit.lix.systems) for reviews, which allows us to
focus on providing prompt and high quality patch reviews by making it easy
to review changes piece by piece, with CI testing of every commit.
Gerrit is one of our secret superpowers in shipping correct code, since it,
by its structure, enforces good commit history, reviewable code, and
incremental changes.
- We use [Forgejo](https://git.lix.systems) for code hosting and issue
tracking, which we have customised to integrate natively with Gerrit and
to work natively with Nix flakes for locking tarballs.
- We have a [Wiki] with design documents, styleguide, and other project
organisational information.
[Wiki]: https://wiki.lix.systems
[styleguide]: https://wiki.lix.systems/books/lix-contributors/chapter/style-guide
For a more comprehensive list of the changes in this release, see
[the release notes][release-notes].
[release-notes]: https://docs.lix.systems/manual/lix/2.90/release-notes/rl-2.90.html
The Lix team as well as several dozen beta testers have been running a
development release of Lix 2.90 in production every day for a couple of months,
and we do not expect any significant regressions compared to Nix 2.18. However,
if you find a bug or suspicious behaviour in Lix, feel free to mention it on
Matrix or [file a bug on Forgejo][bugs]. If you would like to participate in
beta testing of future Lix versions, we have a [guide on the wiki][beta-guide]
and a [Matrix channel][beta-channel] for running `main`.
[bugs]: https://git.lix.systems/lix-project/lix/issues
[beta-guide]: https://wiki.lix.systems/books/lix-contributors/page/lix-beta-guide
[beta-channel]: https://matrix.to/#/#open-beta:lix.systems
We would especially like to thank all the following groups for their hard work
and trust in contributing to this release:
- The several dozen Lix beta testers who have been running Lix `main` in
production for over a month, and who have helped us fix the various
longstanding CppNix bugs they have had stuck in their craw as well as put up
with our work-in-progress infrastructure as we built it out.
- All the first time contributors who made their first contributions to a Nix
implementation in Lix. We are eternally grateful to everyone who helped us out
on the numerous important but tedious issues.
- All the people new to Nix who have trusted us by running experimental
versions of Lix and given us feedback.
- The long time CppNix contributors who came to Lix and helped out with fixing
many issues.
- The CppNix contributors and CppNix team, without whom we would not have this
software, and who wrote many of the bug fixes we backported to Lix from CppNix
versions > 2.18.
- Everyone else who has worked with us on starting to make this dream a
reality.
We are very proud of what everyone has achieved with this release since we
begun in late February 2024, and we are just getting started. We are looking
forward to continue working together with everyone to build a better foundation
for the future evolution of Nix.

View file

@ -0,0 +1,191 @@
+++
title = "Announcing Lix 2.91 \"Dragon's&nbsp;Breath\""
author = "Lix Team"
date = "2024-08-12"
+++
We at the Lix team are proud to announce our second major release, version 2.91 "Dragon's Breath".
This release contains unspecified bug fixes and performance improvements—no of course we will tell you what is in it.
> [Dragon's Breath](https://en.wikipedia.org/wiki/Dragon%27s_Breath_(dessert)) is a frozen dessert made of spheres of cereal frozen in liquid nitrogen
Lix is a Nix implementation focused on reliability, predictability, friendliness, developed by a community of people from around the world.
We have long term plans to incrementally evolve Nix to work in more places, to make it more reliable and secure, and to update the language and semantics to correct past mistakes and reduce errors, all the while providing an amazing tooling experience.
## Upgrading from CppNix or previous Lix versions
The upgrade procedure depends on how you installed Lix or CppNix, and is fully described in the [Lix installation guide][install-guide].
If you are using Lix from nixpkgs on NixOS, you just need to upgrade your nixpkgs once the [upgrade pull request][upgrade-pr] has passed through the build farm into your channel; no other action is required.
The build progress can be checked on the [unofficial pull request tracker].
[upgrade-pr]: https://github.com/NixOS/nixpkgs/pull/334269
[unofficial pull request tracker]: https://nixpk.gs/pr-tracker.html?pr=334269
[install-guide]: https://lix.systems/install/
If you want to help us test the next version of Lix, consider running `main` by following the [beta guide][beta-guide].
## Changes
The general theme of Lix 2.91 is to perform another wave of refactorings and design improvements in preparation for our evolution plans.
Nevertheless, there are a few exciting user facing changes:
- Lix now supports `--log-format multiline` and `--log-format multiline-with-logs` that show current activities in progress, thanks to [kloenk].
The following is a snapshot in time of the output; that is, the activities shown at the bottom are *just* the ones in progress and each disappears after it finishes.
```
~ » nix build --log-format multiline nixpkgs#chromium
[0/1 built, 3/3/7 copied (12.8/598.7 MiB), 1.1/127.3 MiB DL]
fetching adwaita-icon-theme-46.0 from https://cache.nixos.org
fetching gtk4-4.14.4 from https://cache.nixos.org
fetching chromium-unwrapped-126.0.6478.126 from https://cache.nixos.org
```
- `nix flake metadata` now prints the date inputs were updated, thanks to [jade].
```
lix » nix flake metadata .
...
Description: Lix: A modern, delicious implementation of the Nix package manager
Path: /nix/store/w44z74qv8g8nrxacn931qsbjxp8dz9g5-source
Revision: 35c9069c665fd776a377c179231403f9877e3e2f-dirty
Last modified: 2024-08-09 19:03:08
Inputs:
├───flake-compat: github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33
│ Last modified: 2023-10-04 06:37:54
├───nix2container: github:nlewo/nix2container/3853e5caf9ad24103b13aa6e0e8bcebb47649fe4
│ Last modified: 2024-07-10 13:15:56
├───nixpkgs: github:NixOS/nixpkgs/e21630230c77140bc6478a21cd71e8bb73706fce
│ Last modified: 2024-07-25 11:26:27
├───nixpkgs-regression: github:NixOS/nixpkgs/215d4d0fd80ca5163643b03a33fde804a29cc1e2
│ Last modified: 2022-01-24 11:20:45
└───pre-commit-hooks: github:cachix/git-hooks.nix/f451c19376071a90d8c58ab1a953c6e9840527fd
Last modified: 2024-07-15 04:21:09
```
- `nix flake show` now prints output descriptions, thanks to [kjeremy] and [isabelroses].
```
lix/lix2 » nix flake show .
git+file:///home/jade/lix/lix2
├───checks
........
│ └───x86_64-linux
│ ├───binaryTarball: derivation 'lix-binary-tarball-2.91.0-devpre20240810_446668b' - 'Distribution-independe...'
│ ├───dockerImage: derivation 'image-lix.json' - 'Docker image for Lix. This is built with nix2container; se...'
........
│ └───rl-next: derivation 'test-rl-next-release-notes'
```
- Hash-mismatch diagnostics now include a guess at the URL based on the derivation fields, thanks to [jade].
The URL may or may not be able to be directly passed to `nix-prefetch-url` to obtain the correct hash, so it is primarily intended just to identify which fixed-output derivation failed.
```
error: hash mismatch in fixed-output derivation '/nix/store/sjfw324j4533lwnpmr5z4icpb85r63ai-x1.drv':
likely URL: https://meow.puppy.forge/puppy.tar.gz
specified: sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
got: sha256-a1Qvp3FOOkWpL9kFHgugU1ok5UtRPSu+NwCZKbbaEro=
```
- The Nix language pipe operator, [RFC 148](https://github.com/NixOS/rfcs/pull/148), has been implemented as an experimental feature `pipe-operator` in Lix by [piegames].
As usual with experimental features, the pipe operator is subject to potentially-breaking change as the design evolves.
Here is an impractical example for illustration:
```
nix-repl> 2 |> builtins.mul 5 |> builtins.add 2
12
```
- There is now a setting `build-dir` which allows changing the temporary directory used for builds, thanks to [K900]'s backport of [Robert Hensing] and [Tom Bereknyei]'s implementation in CppNix.
- The environment variables `NOCOLOR`/`NO_COLOR` and `CLICOLOR_FORCE`/`FORCE_COLOR` are heeded in the expected way for all Lix output, thanks to [jade].
Various little annoyances have been fixed:
- `:edit` of a file in the repl does not reload the repl if the file is in the Nix store, since the file is immutable so could not possibly change the evaluation result.
Thanks to [goldstein] for implementing this.
- Lix now respects your consent when you tell it to `accept-flake-config = false` and rejects the flake config instead of asking every time, thanks to [alois31].
- `nix-collect-garbage --dry-run` now actually prints out the paths it was going to delete instead of doing nothing, thanks to [Quantum Jump].
- Due to a bug, `nix copy` to various stores, especially s3, used to be exceptionally slow at querying paths in the remote store, to the tune of Lix releases taking an hour just to figure out what was in the binary cache before uploading the release.
This has now been made `nproc` times faster thanks to [jade] fixing the threading bug.
- The `nix upgrade-nix` logic is finally fixed thanks to [Qyriad] and should correctly handle upgrading from CppNix without workarounds.
Lix now makes various erroneous conditions clearer:
- Unknown flake URI parameters are now [reported as an error](https://git.lix.systems/lix-project/lix/issues/174), thanks to [ma27].
```
» nix flake metadata '.?meow=true'
error: unsupported Git input attribute 'meow'
```
- Evaluation errors are clearer:
- The component in an attribute path causing an error is correctly diagnosed, thanks to [Qyriad].
In particular, if an evaluation error occurs when accessing an attribute path `foo.bar.baz`, the error will now point to which of `foo`, `bar`, or `baz` caused the error.
- Errors caused by an explicit `builtins.throw` are diagnosed as such, rather than "while calling the 'throw' builtin", which could equally be because the arguments to `throw` *themselves* threw.
This is now unambiguous thanks to [Qyriad].
- Integer overflow in the Nix language is now considered an evaluation error, thanks to [jade].
This has also been [ported to CppNix](https://github.com/NixOS/nix/pull/11188), effectively changing the language definition.
```
» nix eval --expr '9223372036854775807 + 1'
error: integer overflow in adding 9223372036854775807 + 1
```
Fun fact: Lix 2.90 also rejects integer overflow in the Nix language, by aborting the interpreter, due to our strict compiler flags.
The fact that nobody noticed the interpreter crash for months has emboldened us to remove it from the language with confidence.
We have, as usual, made various changes behind the scenes to enable future work:
- The parser has been rewritten using [pegtl] instead of the haunted and legacy GNU Bison, yielding a performance improvement around 5% to Lix evaluation.
This also improves the contributor experience and technical debt by removing many memory leaks and making the parser much easier to deal with as a normal C++ file.
This is all thanks to the hard work of [eldritch horrors].
- Several refactorings have been implemented to improve maintainability, thanks to [Artemis Tosini], [Qyriad], [jade], [alois31], [eldritch horrors], [ma27], [V.] and several others.
- clang-tidy is finally implemented in an enforcing mode in CI, which means that work can be done to add more lints to the enforced list, thanks to [jade].
- Since 2.90, Lix had a custom clang-tidy lint plugin in-tree, and as of 2.91, it is now being run on every change in CI.
As of this release, the first useful custom lint is now operational, requiring that certain already-safe `reinterpret_cast` invocations are replaced with a template wrapper `charptr_cast` that strictly checks its arguments.
This is thanks to [jade].
- Several lints have been added to the hard-fail list and eliminated altogether from the codebase, thanks to [eldritch horrors] and [jade].
- Lix now fully builds and passes its test suite with AddressSanitizer (assuming the garbage collector is disabled, which a helpful error will tell you), thanks to [eldritch horrors] and [jade].
- Boost coroutines, which blocked AddressSanitizer usage, have been completely excised from the codebase by the claws of [eldritch horrors] and replaced with C++ standard stackless coroutines.
- Overall the release process has been simplified and bugs fixed in it thanks to [jade].
The docker image of 2.91 should have a `latest` tag as intended, for example.
[pegtl]: https://github.com/taocpp/pegtl
[Qyriad]: https://github.com/qyriad
[ma27]: https://github.com/ma27
[eldritch horrors]: https://git.lix.systems/pennae
[Artemis Tosini]: https://github.com/artemist
[jade]: https://jade.fyi
[Robert Hensing]: https://github.com/roberth
[kloenk]: https://git.lix.systems/kloenk
[kjeremy]: https://github.com/kjeremy
[isabelroses]: https://git.lix.systems/isabelroses
[K900]: https://github.com/k900
[alois31]: https://git.lix.systems/alois31
[Quantum Jump]: https://github.com/QuantumBJump
[piegames]: https://github.com/piegamesde
[V.]: https://github.com/vigress8
[goldstein]: https://git.lix.systems/goldstein
[Tom Bereknyei]: https://github.com/tomberek
You can read the full changelog [in the manual](https://docs.lix.systems/manual/lix/stable/release-notes/rl-2.91.html).
Thanks, as always, to the following groups:
- The several dozen people who [beta tested][beta-guide] the upcoming release by running `main` in production since the 2.91 branch-off.
We really appreciate having immediate feedback on our work, and the trust of running `main` alongside us means a lot to us.
If you want to run Lix `main` yourself, [see the beta guide][beta-guide] for details.
- Everyone who contributed by filing bugs and giving us feedback on Matrix.
- All the first time contributors who made their first contributions to a Nix implementation in Lix.
We are eternally grateful to everyone who helped us out on the numerous important but tedious issues.
- All the contributors who have helped us with the backlog of bugs.
- The CppNix contributors and CppNix team, without whom we would not have this software, and who wrote some of the improvements ported into this release.
[beta-guide]: https://wiki.lix.systems/books/lix-contributors/page/lix-beta-guide
Onwards and upwards for the next release.
We look forward to continuing to work together with everyone to build a better foundation for the future evolution of Nix.

View file

@ -0,0 +1,22 @@
+++
title = "Lix installations upgrading to macOS Sequoia require manual repair"
author = "Lix Team"
date = "2024-09-15"
+++
macOS Sequoia release day is almost upon us, and that means all your Lix and Nix installations on macOS are going to break when you upgrade your OS.
Apple claimed some user IDs that are used in the default Nix installation which are then clobbered by the updater, leading to builds failing with the following error:
```
error: the user '_nixbld1' in the group 'nixbld' does not exist
```
To fix this, you can use the repair functionality of the installer (thanks to cole-h at DetSys for implementing the repair functionality and emilazy for porting it to lix-installer!):
```
curl -sSf -L https://install.lix.systems/lix | sh -s -- repair sequoia
```
If you want to apply the repair before upgrading, add `--move-existing-users` to the end of the command.
We have a wiki page with more links and details here: https://wiki.lix.systems/link/81

6
content/blog/_index.md Normal file
View file

@ -0,0 +1,6 @@
+++
aliases = ["posts", "articles", "blog", "news"]
title = "News"
author = "Lix Team"
tags = ["index"]
+++

View file

@ -0,0 +1,54 @@
---
title: "Community Standards"
description: "making Lix a safe and productive environment <3"
date: "2024-05-14"
author: "Lix Team"
---
This is an interim set of Lix Community Standards, to be reviewed and revised further when the governance process is further along. *These standards are in force and will be enforced until that time*.
The following are *principles* and do not in any way limit the authority of the interim community team to remove anyone for any kind of behaviour deleterious to the community. We generally will speak with people to deescalate and help them be excellent members of our community before applying consequences. Patterns of deleterious behaviour will tend to lead to exclusion from the community.
### Principles
- We want to model our expected social norms at every level of leadership in the project.
- We want to avoid creating unnecessary social hierarchy and avoid unaccountable positions in the project.
- These expectations apply to everyone in the project including the core team and the interim community team.
- The Lix community is significantly comprised of people of various marginalised backgrounds. We are committed to protecting these people and providing a safe environment for them.
- If you are of a less-marginalised background, keep in mind that you are a guest in our spaces but are nonetheless welcome. Think of it like staying at a friend's place where they might have different cultural customs; you may have to do things a little bit differently.
- We want to build leadership in community members and help them grow.
- Technology is neither neutral nor apolitical. We consider how decisions affect different groups of people, and how they may create power dynamics or other consequences.
- Impact is more important than intent.
- The Lix project exists in an ecosystem of related projects and does not gain from antagonism towards other projects.
- We want to create a space that has effective communication. We want to choose to talk through our problems.
- We want to foster collaborative discussion in place of competitive debate: we strongly encourage trying to see from others' viewpoint and working collaboratively to reach a common understanding.
- We want to treat everyone with humanity and understanding: everyone can have bad days, and sometimes the best thing is to take a break from the computer.
### Hard lines
The following are hard lines for which we will likely ban on sight. These are not intended as an encompassing set of things that will not be tolerated, but rather as things that we promise will not be in our community. This can extend to patterns of behaviour outside our spaces.
For the avoidance of doubt, we do not tolerate discrimination such as racism, sexism, transmisia, pluralphobia, ableism or other sorts of discrimination; we do not tolerate unwelcome sexual advances, stalking, harassment or doxing.
We do not tolerate peddling right-wing ideology, including but not limited to fascism, denying discrimination exists, and other such things.
We do not tolerate concern trolling, sealioning, and starting bad faith arguments.
Spamming and crypto scams will not be tolerated.
Causing legal problems for the project will not be tolerated.
### Contacts
We encourage working through conflicts privately with involved parties, but we are here to help if that is not possible.
If you wish to contact a member of the interim community team about a concern, consider contacting one of the following people:
<!-- throw a die and insert at random position -->
- qyriad (@qyriad:katesiria.org)
- piegames (@piegames:flausch.social)
- ktemkin (@ktemkin:katesiria.org)
- hexchen (@hexchen:colon.at)
- lunaphied (@lunaphied:lunaphied.me)
- k900 (@k900:0upti.me)
- jade (@jade_:matrix.org)

48
content/community.md Normal file
View file

@ -0,0 +1,48 @@
---
title: "Lix Community"
description: "it's not an ice cream party, but it might as well be"
date: "2024-04-27"
author: "Lix Team"
---
Lix exists **first and foremost for its community** -- and we very much hope that will include you!
If you're looking for help, have any questions, want to pitch in -- or just want to talk -- join us
using [one of the venues below](#engaging-with-the-community) .
## Community Standards
As part of our responsibility to community, we are dedicated to creating a safe and welcoming environment
in which our community can create great things together.
Accordingly, we've developed a set of [community standards](/community-standards), which all contributors
are expected to follow.
## Governance
Lix is developed by a community of passionate users! We have no "benevolent dictator for life",
nor a small foundation board that governs the community. Instead, **we rely on teams of our developers
and users to carry the burdens of maintenance and governance**.
We're currently in the process of establishing a more full-fledged governance model, which we believe must
be built on engagement with -- and feedback from -- our community. In the interim, decisions are made by
simple voting, with one vote held by each member of the "[core team](/team)", who are acting as interim
governance.
## Engaging with the Community
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
Joining is relatively straightforward -- you can find us on the `lix.systems` Matrix server.
The easiest way to connect with us is to join our [Matrix space](https://matrix.to/#/#space:lix.systems),
which will allow you to see previews of and join the most relevant community rooms.
Note that all community venues -- including our Matrix rooms -- are subject to our [community standards](/community-standards).
### Community Resources
In order to help folks who are getting started or who want to learn more about Lix, we've created a curated
list of [community resources](/resources) that you may find helpful. If you have suggestions, feel free to
drop them in our Matrix chat!

15
content/contributing.md Normal file
View file

@ -0,0 +1,15 @@
---
title: "Contributing"
description: "you're what makes Lix amazing <3"
date: "2024-05-01"
author: "Lix Team"
---
**Not yet available.**
This page is hidden until this website officially launches. We appreciate how excited you must be,
given you've found this site ahead of time! Thanks for your support and patience. <3
<small><small>
_Psst! If you're in our beta and want to peek at this page ahead of time, check the working draft on the pad._
</small></small>

104
content/faq.md Normal file
View file

@ -0,0 +1,104 @@
---
title: "Frequently Asked Questions"
description: "frequently is, of course, relatively speaking"
date: "2024-05-01"
author: "Lix Team"
---
These are the most common questions we get -- or anticipate getting. If you can't find the answer
you're looking for, please feel free to ask over in the [community](/community).
<br/>
#### 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: 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.
_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 --
by evolving a compatible but more flexible flake-like abstraction in the periphery of the Lix system._
#### 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 open-source implementation 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. With the recent reboot of the foundation's governance,
we are in communication with -- and open to collaboration with -- the foundation.
#### Q: How does Lix work? How can I contribute or help out?
The Lix codebase is comprised of a few parts, which you can see a description of
[here](https://wiki.lix.systems/link/18) along with what we want to improve in them. We also have a
lot of areas we are working on other than C++ code that we would love help on, from documentation to
compiling lists of resources, web design, bug tracker triage, and more. If you're looking for an idea
to get started on, we have triaged some tasks
[that we believe should be straightforward](https://git.lix.systems/lix-project/lix/issues?q=&type=all&sort=&state=open&labels=157&milestone=0&project=0&assignee=0&poster=0). To read more
about which tasks we recommend taking on, see
[Freezes and recommended contributions](https://wiki.lix.systems/link/9).
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?
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'll figure it out.
It is also possible to submit changes as normal GitHub pull requests on lix-project/lix. These are also
welcome, and we will FIXME convert them to Gerrit changes for you for review. However, there are limitations
to the GitHub flow such as PRs needing to be squashed into one change. For larger changes than about 150 lines
of normal code, or if necessary, we may ask for a change to be submitted to Gerrit directly so we can review
it commit-by-commit.
#### Q: What is a Lix account? What do I need one for?
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
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
will gladly make you one manually.
#### 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 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.

105
content/install.md Normal file
View file

@ -0,0 +1,105 @@
---
title: "Installing Lix"
description: "or: how to make your configuration Delicious"
date: "2024-04-27"
author: "Lix Team"
---
<!--
HI!!!
The file install.md is generated by update_version.py by
substituting values into install.md.in.
Please don't edit install.md directly!
-->
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
[nix-darwin](https://github.com/LnL7/nix-darwin) -- but, like any Nix-based system, some Nix background
knowledge is recommended before installation.
If you're new to the Nix ecosystem, you may want to check out some [community resources](/resources)
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 the [instructions to add Lix to your
configuration](/add-to-config). Both flake-based and non-flake-based
configurations are fully supported.
## On an Existing `nix-darwin` Install
If you already have a [nix-darwin](https://github.com/LnL7/nix-darwin) installation, you
can use the same instructions as installing on a NixOS-based system. Follow the instructions
for either:
- [flake-based configurations](/add-to-config#flake-based-configurations); or
- [non-flake configurations](/add-to-config#non-flake-configurations)
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
**upgrade an existing install** to Lix.
### New Installs
The easiest way to install Lix is to use the [Lix Installer](https://git.lix.systems/lix-project/lix-installer)[^1].
Open a terminal, and run the following command:
```sh
curl -sSf -L https://install.lix.systems/lix | sh -s -- install
```
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).
[^1]: a customized variant of the [Determinate Nix Installer](https://github.com/DeterminateSystems/nix-installer).
### Existing Installs
If you have an existing Nix installation (either CppNix or Lix), you should be able to upgrade by using a variant
of the `upgrade-nix` command.
Thanks to Nix, we can actually ask Lix to upgrade your system directly. Run the following command:
```sh
sudo --preserve-env=PATH nix run \
--experimental-features "nix-command flakes" \
--extra-substituters https://cache.lix.systems --extra-trusted-public-keys "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" \
'git+https://git.lix.systems/lix-project/lix?ref=refs/tags/2.91.1' -- \
upgrade-nix \
--extra-substituters https://cache.lix.systems --extra-trusted-public-keys "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
```
You should now have upgraded to Lix! You can verify this by asking the `nix` command
to report its version:
```sh
$ nix --version
nix (Lix, like Nix) 2.91.1
```
As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a
great time to check out some of the [community's resources on Nix](/resources).
## Having Trouble?
If you're having difficulty installing Lix, don't panic! Hop on over to our
[community page](/community), and check out the various ways to find help.
## Feedback?
If you have thoughts on these instructions, feel free to drop by our [community](/community),
or to [make a pull request to our website](https://git.lix.systems/lix-project/lix-website/pulls)!

105
content/install.md.in Normal file
View file

@ -0,0 +1,105 @@
---
title: "Installing Lix"
description: "or: how to make your configuration Delicious"
date: "2024-04-27"
author: "Lix Team"
---
<!--
HI!!!
The file install.md is generated by update_version.py by
substituting values into install.md.in.
Please don't edit install.md directly!
-->
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
[nix-darwin](https://github.com/LnL7/nix-darwin) -- but, like any Nix-based system, some Nix background
knowledge is recommended before installation.
If you're new to the Nix ecosystem, you may want to check out some [community resources](/resources)
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 the [instructions to add Lix to your
configuration](/add-to-config). Both flake-based and non-flake-based
configurations are fully supported.
## On an Existing `nix-darwin` Install
If you already have a [nix-darwin](https://github.com/LnL7/nix-darwin) installation, you
can use the same instructions as installing on a NixOS-based system. Follow the instructions
for either:
- [flake-based configurations](/add-to-config#flake-based-configurations); or
- [non-flake configurations](/add-to-config#non-flake-configurations)
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
**upgrade an existing install** to Lix.
### New Installs
The easiest way to install Lix is to use the [Lix Installer](https://git.lix.systems/lix-project/lix-installer)[^1].
Open a terminal, and run the following command:
```sh
curl -sSf -L https://install.lix.systems/lix | sh -s -- install
```
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).
[^1]: a customized variant of the [Determinate Nix Installer](https://github.com/DeterminateSystems/nix-installer).
### Existing Installs
If you have an existing Nix installation (either CppNix or Lix), you should be able to upgrade by using a variant
of the `upgrade-nix` command.
Thanks to Nix, we can actually ask Lix to upgrade your system directly. Run the following command:
```sh
sudo --preserve-env=PATH nix run \
--experimental-features "nix-command flakes" \
--extra-substituters https://cache.lix.systems --extra-trusted-public-keys "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" \
'git+https://git.lix.systems/lix-project/lix?ref=refs/tags/@VERSION_NOTRAIL@' -- \
upgrade-nix \
--extra-substituters https://cache.lix.systems --extra-trusted-public-keys "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
```
You should now have upgraded to Lix! You can verify this by asking the `nix` command
to report its version:
```sh
$ nix --version
nix (Lix, like Nix) @VERSION_NOTRAIL@
```
As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a
great time to check out some of the [community's resources on Nix](/resources).
## Having Trouble?
If you're having difficulty installing Lix, don't panic! Hop on over to our
[community page](/community), and check out the various ways to find help.
## Feedback?
If you have thoughts on these instructions, feel free to drop by our [community](/community),
or to [make a pull request to our website](https://git.lix.systems/lix-project/lix-website/pulls)!

View file

@ -1,6 +0,0 @@
+++
aliases = ["posts", "articles", "blog", "showcase", "docs"]
title = "Posts"
author = "Hugo Authors"
tags = ["index"]
+++

View file

@ -1,46 +0,0 @@
+++
author = "Hugo Authors"
title = "Emoji Support"
date = "2019-03-05"
description = "Guide to emoji usage in Hugo"
tags = [
"emoji",
]
+++
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).
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.
<p><span class="nowrap"><span class="emojify">🙈</span> <code>:see_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙉</span> <code>:hear_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙊</span> <code>:speak_no_evil:</code></span></p>
<br>
The [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes.
***
**N.B.** The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g.
{{< highlight html >}}
.emoji {
font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols;
}
{{< /highlight >}}
{{< css.inline >}}
<style>
.emojify {
font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols;
font-size: 2rem;
vertical-align: middle;
}
@media screen and (max-width:650px) {
.nowrap {
display: block;
margin: 25px 0;
}
}
</style>
{{< /css.inline >}}

View file

@ -1,148 +0,0 @@
+++
author = "Hugo Authors"
title = "Markdown Syntax Guide"
date = "2019-03-11"
description = "Sample article showcasing basic Markdown syntax and formatting for HTML elements."
tags = [
"markdown",
"css",
"html",
]
categories = [
"themes",
"syntax",
]
series = ["Themes Guide"]
aliases = ["migrate-from-jekyl"]
+++
This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme.
<!--more-->
## Headings
The following HTML `<h1>`—`<h6>` elements represent six levels of section headings. `<h1>` is the highest section level while `<h6>` is the lowest.
# H1
## H2
### H3
#### H4
##### H5
###### H6
## Paragraph
Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.
Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.
## Blockquotes
The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations.
#### Blockquote without attribution
> Tiam, ad mint andaepu dandae nostion secatur sequo quae.
> **Note** that you can use *Markdown syntax* within a blockquote.
#### Blockquote with attribution
> Don't communicate by sharing memory, share memory by communicating.<br>
> — <cite>Rob Pike[^1]</cite>
[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015.
## Tables
Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box.
Name | Age
--------|------
Bob | 27
Alice | 23
#### Inline Markdown within tables
| Italics | Bold | Code |
| -------- | -------- | ------ |
| *italics* | **bold** | `code` |
## Code Blocks
#### Code block with backticks
```html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
```
#### Code block indented with four spaces
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
#### Code block with Hugo's internal highlight shortcode
{{< highlight html >}}
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
{{< /highlight >}}
## List Types
#### Ordered List
1. First item
2. Second item
3. Third item
#### Unordered List
* List item
* Another item
* And another item
#### Nested list
* Fruit
* Apple
* Orange
* Banana
* Dairy
* Milk
* Cheese
## Other Elements — abbr, sub, sup, kbd, mark
<abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format.
H<sub>2</sub>O
X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
Press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> to end the session.
Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures.

View file

@ -1,49 +0,0 @@
---
author: Hugo Authors
title: Math Typesetting
date: 2019-03-08
description: A brief guide to setup KaTeX
math: true
---
Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries.
<!--more-->
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:
```bash
{{ if or .Params.math .Site.Params.math }}
{{ partial "math.html" . }}
{{ end }}
```
- To enable KaTex globally set the parameter `math` to `true` in a project's configuration
- To enable KaTex on a per page basis include the parameter `math: true` in content files
**Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html)
{{< math.inline >}}
{{ if or .Page.Params.math .Site.Params.math }}
<!-- KaTeX -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
{{ end }}
{{</ math.inline >}}
### Examples
{{< math.inline >}}
<p>
Inline math: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\)
</p>
{{</ math.inline >}}
Block math:
$$
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
$$

View file

@ -1,45 +0,0 @@
+++
author = "Hugo Authors"
title = "Placeholder Text"
date = "2019-03-09"
description = "Lorem Ipsum Dolor Si Amet"
tags = [
"markdown",
"text",
]
+++
Lorem est tota propiore conpellat pectoribus de pectora summo. <!--more-->Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum.
1. Exierant elisi ambit vivere dedere
2. Duce pollice
3. Eris modo
4. Spargitque ferrea quos palude
Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis.
1. Comas hunc haec pietate fetum procerum dixit
2. Post torum vates letum Tiresia
3. Flumen querellas
4. Arcanaque montibus omnes
5. Quidem et
# Vagus elidunt
<svg class="canon" xmlns="http://www.w3.org/2000/svg" overflow="visible" viewBox="0 0 496 373" height="373" width="496"><g fill="none"><path stroke="#000" stroke-width=".75" d="M.599 372.348L495.263 1.206M.312.633l494.95 370.853M.312 372.633L247.643.92M248.502.92l246.76 370.566M330.828 123.869V1.134M330.396 1.134L165.104 124.515"></path><path stroke="#ED1C24" stroke-width=".75" d="M275.73 41.616h166.224v249.05H275.73zM54.478 41.616h166.225v249.052H54.478z"></path><path stroke="#000" stroke-width=".75" d="M.479.375h495v372h-495zM247.979.875v372"></path><ellipse cx="498.729" cy="177.625" rx=".75" ry="1.25"></ellipse><ellipse cx="247.229" cy="377.375" rx=".75" ry="1.25"></ellipse></g></svg>
[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon)
## Mane refeci capiebant unda mulcebat
Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis.
Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et.
Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, *oculos nomen* non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**.
{{< css.inline >}}
<style>
.canon { background: white; width: 100%; height: auto; }
</style>
{{< /css.inline >}}

View file

@ -0,0 +1,8 @@
---
title: "Quick Links"
description: "Just the Lix links and very little else"
date: "2024-09-06"
author: "Lix Team"
# Use our special template that renders the `links.yaml`.
layout: quicklinks
---

View file

@ -0,0 +1,38 @@
---
# This defines the cards that appear in `index.md`
- label: user manual
url: https://docs.lix.systems/manual/lix/stable/
- label: (nightly)
url: https://docs.lix.systems/manual/lix/nightly/
- label: git repo
url: https://git.lix.systems/lix-project/lix
- label: issue tracker
url: https://git.lix.systems/lix-project/lix/issues
- label: lix-installer
url: https://git.lix.systems/lix-project/lix-installer
- label: lix-website
url: https://git.lix.systems/lix-project/lix-website
- label: code review
url: https://gerrit.lix.systems/
- label: buildbot (ci)
url: https://buildbot.lix.systems/
- label: gitiles
url: https://gerrit.lix.systems/plugins/gitiles/lix
- label: wiki
url: https://wiki.lix.systems/books
- label: matrix (chat)
url: https://matrix.to/#/#space:lix.systems
- label: |
`git clone ssh://{username}@gerrit.lix.systems:2022/lix`

45
content/resources.md Normal file
View file

@ -0,0 +1,45 @@
---
title: "Nix Resources"
description: "community resources we recommend for getting started or learning more"
date: "2024-04-27"
author: "Lix Team"
---
Lix doesn't exist in a vacuum -- but instead builds atop the incredible work of dozens of
NixOS community members. This page collects resources that have been recommended by members
of the community.
We're also currently in the process of writing brand new documentation, which will be listed here
once available.
## A note of caution
Nix has a long history. Some things that seemed like good ideas once are no longer common practice. In particular:
- It's probably a good idea to ignore `nix-env` and mutable environments in favor of declarative configuration
- If you don't already use channels, it's probably a good idea to learn about flakes or some other pinning mechanism instead
If you're learning about those topics because you want to understand the ideas that are currently in favor in the historical contexts they are responses to, or because you think you see a benefit to them that others don't, that's totally fine; this warning is only here to help beginners have a fruitful experience.
## Understanding Nix
- [The official Nix ecosystem documentation](https://nix.dev), maintained by the **NixOS Foundation**.
- The [NixOS and Flakes Book](https://nixos-and-flakes.thiscute.world/), by [Ryan Yin](https://github.com/ryan4yin).
- The [Nix pills](https://nixos.org/guides/nix-pills/), a community classic with a guided tour of some of the Nix language basics.
## Using Nix
- [Customizing packages in Nix](https://bobvanderlinden.me/customizing-packages-in-nix/), by [bobvanderlinden](https://bobvanderlinden.me).
- [Finding functions in Nixpkgs](https://jade.fyi/blog/finding-functions-in-nixpkgs/), by our own **jade**.
- [Getting started with Home Manager for Nix](https://ghedam.at/24353/tutorial-getting-started-with-home-manager-for-nix), by [Mattia Gheda](https://ghedam.at/).
## Understanding Flakes
- [Flakes aren't real and can't hurt you](https://jade.fyi/blog/flakes-arent-real/), by our own **jade**.
- Several of Lix community member [Xe Iaso](https://xeiaso.net)'s blog posts:
- [Nix Flakes: An Introduction](https://xeiaso.net/blog/nix-flakes-1-2022-02-21/)
- [Nix Flakes: Packages and How To Use Them](https://xeiaso.net/blog/nix-flakes-2-2022-02-27/)
- [Nix Flakes: Exposing and using NixOS Modules](https://xeiaso.net/blog/nix-flakes-3-2022-04-07/)
- [Building Go Packages with Nix Flakes](https://xeiaso.net/blog/nix-flakes-go-programs/)

132
content/team.md Normal file
View file

@ -0,0 +1,132 @@
---
title: "The Team"
description: ""
date: "2024-04-27"
author: "Lix Team"
---
**Lix** is developed by a community of passionate users! We have no "benevolent dictator for life",
nor a small foundation board that governs the community. Instead, we rely on teams of our developers
and users to carry the burdens of maintenance and governance.
## Core Team
The **core team** are the developers most directly responsible for the Lix project. While the project
is in its "soft-release" period, these folks are responsible for project governance. One of their main
tasks is to establish a lasting governance model -- and other teams to handle things!
Members (in alphabetical order):
- **hexchen ([@hexchen](https://github.com/hexchen), she/her)**
hexchen is working primarily on maintaining and extending the Lix project infrastructure.
- **Irenes ([@IreneKnapp](https://github.com/IreneKnapp), they/them)**
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
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 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.
- **Lily ([@lilyinstarlight](https://github.com/lilyinstarlight), she/they)**
- **Lunaphied ([@Lunaphied](https://github.com/lunaphied), she/her [singular] or they/them [plural])**
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)**
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.
- **raito ([@RaitoBezarius](https://github.com/RaitoBezarius), he/him)**
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.
<br/>
We all hang around in [community spaces](/community), including on Matrix. Feel free to pop into
the Lix channels and say hello -- we'd love to hear what you think of Lix!
## Conflict of Interest Statements
As a community project, it's important that project decisions are made **exclusively for the
benefit of the community**, and don't serve any other interests -- including personal or corporate gain.
If a team member is unable to do so in any context, they are **required** to disclose the _conflict of interest_
and to recuse themselves from any leadership decisions affected.
As transparency is important, we've included declarations from each core team member regarding any possible
conflicts of interest.
- **hexchen**'s employer and its sister companies use Nix/Lix internally and offer Nix-based consulting.
hexchen has no stake in the company, does not work in the consulting teams and there is no
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
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
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.
- **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
relevant, Kate will recuse herself from the relevant decision-making**.
- **Lily** is currently on leave, and will not participate in governance decisions until she returns.
- **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.
- **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
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
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.
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
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
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.**
<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
[community channels](/community) to request these declarations be updated.

View file

@ -6,6 +6,7 @@ content:
text: "Like other Nix ecosystems, Lix layers together multiple projects to create a full Lix stack — allowing you to forge your own systems on a base of community work." text: "Like other Nix ecosystems, Lix layers together multiple projects to create a full Lix stack — allowing you to forge your own systems on a base of community work."
cards: cards:
- image: "images/ecosystem-lix.png" - image: "images/ecosystem-lix.png"
alt: "Lix's ice cream logo"
title: "The Lix Package Manager" title: "The Lix Package Manager"
text: "The ecosystem's core is the Lix package manager — a community variant of the Nix configuration language and package management system." text: "The ecosystem's core is the Lix package manager — a community variant of the Nix configuration language and package management system."
button: button:
@ -13,15 +14,17 @@ content:
url: "https://git.lix.systems/lix-project/lix" url: "https://git.lix.systems/lix-project/lix"
- image: "images/ecosystem-nixpkgs.svg" - image: "images/ecosystem-nixpkgs.svg"
alt: "nixpkg's logo in Lix colors"
title: "Community Packages" title: "Community Packages"
text: "Lix is fully compatible with existing Nix expressions — which means it benefits from the hundreds of thousands of existing community-maintained packages and configurations." text: "Lix is fully compatible with existing Nix expressions — which means it benefits from the hundreds of thousands of existing community-maintained packages and configurations."
button: button:
label: "visit nixpkgs" label: "visit nixpkgs"
url: "https://github.com/nixos/nixpkgs" url: "https://github.com/nixos/nixpkgs"
- image: "images/ecosystem-nixpkgs.svg" - image: "images/ecosystem-nixos.svg"
alt: "image of the Lix logo on a monitor"
title: "Lix-Managed Systems" title: "Lix-Managed Systems"
text: "Lix can also be used as the core Nix implementation for Nix-based operating systems and system managers, including the full NixOS distribution, as well as system management software like Home Manager or nix-darwin." text: "Lix can also be used as the core Nix implementation for Nix-based systems, including the full NixOS distribution, as well as system management software like Home Manager or nix-darwin."
button: button:
label: "use lix with NixOS" label: "use Lix with NixOS"
url: "/install" url: "/add-to-config"

View file

@ -10,6 +10,6 @@ content:
url: "/about#why-lix" url: "/about#why-lix"
buttonSecondary: buttonSecondary:
label: "Start using lix" label: "Start using Lix"
url: "/install" url: "/install"

View file

@ -3,30 +3,36 @@ id: "portfolio"
content: content:
- image: "images/services-web-development.png" - image: "images/points-evolution.svg"
width: "70%"
alt: "replace me 1"
pretitle: "nix with a modern flavor" pretitle: "nix with a modern flavor"
title: "an ever-evolving lix codebase, for a language that can evolve" title: "an ever-evolving lix codebase, for a language that can evolve"
text: "Lix is designed to grow and evolve — in a way that never breaks backwards compatibility. Lix intends to support language versioning features — so we can continuously improve the language without affecting existing configurations." text: "Lix is designed to grow and evolve — in a way that never breaks backwards compatibility. Lix intends to support language versioning features — so we can continuously improve the language without affecting existing configurations."
buttons: #buttons:
- label: "see our roadmap" # - label: "see our roadmap"
url: "/roadmap" # url: "/roadmap"
- image: "images/services-web-development.png" - image: "images/points-selfhosted.svg"
width: "70%"
alt: "an image of a laptop computer exchanging data with a lix-colored cloud"
pretitle: "an independent ecosystem" pretitle: "an independent ecosystem"
title: "community-owned infrastructure" title: "community-owned infrastructure"
text: "Lix is designed to avoid ecosystem lock-in: you can build and use Lix without any dependency on corporate-controlled infrastructure, like Microsoft's GitHub." text: "Lix is designed to avoid ecosystem lock-in: you can build and use Lix without any dependency on corporate-controlled infrastructure, like Microsoft's GitHub."
buttons: #buttons:
- label: "read about our infrastructure" # - label: "read about our infrastructure"
url: "#" # url: "#"
- image: "images/services-web-development.png" - image: "images/points-configuration.svg"
width: "70%"
alt: "an image of a laptop computer exchanging data with a lix-colored cloud"
pretitle: "a human-friendly implementation" pretitle: "a human-friendly implementation"
title: "a configuration language for everyone — human or otherwise" title: "a configuration language for everyone — human or otherwise"
text: "Declarative configurations may run on machines — but their interface shouldn't be designed for them! The Lix team is constantly working on usability and ergonomics enhancements — including tools that let you better see and interact with your configuration." text: "Declarative configurations may run on machines — but their interface shouldn't be designed for them! The Lix team is constantly working on usability and ergonomics enhancements — including tools that let you better see and interact with your configuration."
buttons: #buttons:
- label: "see existing & proposed improvements" # - label: "see existing & proposed improvements"
url: "/roadmap" # url: "/roadmap"

View file

@ -20,16 +20,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1713995372, "lastModified": 1722987190,
"narHash": "sha256-fFE3M0vCoiSwCX02z8VF58jXFRj9enYUSTqjyHAjrds=", "narHash": "sha256-68hmex5efCiM2aZlAAEcQgmFI4ZwWt8a80vOeB/5w3A=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "dd37924974b9202f8226ed5d74a252a9785aedf8", "rev": "21cc704b5e918c5fbf4f9fff22b4ac2681706d90",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-23.11", "ref": "nixos-24.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }

View file

@ -8,7 +8,7 @@
# The sources we depend on. # The sources we depend on.
# #
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
}; };

View file

@ -0,0 +1,8 @@
{
"m.homeserver": {
"base_url": "https://matrix.lix.systems"
},
"m.identity_server": {
"base_url": "https://vector.im"
}
}

View file

@ -0,0 +1,4 @@
{
"m.server": "matrix.lix.systems:443"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

View file

@ -0,0 +1,249 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="Layer_1"
enable-background="new 0 0 135 135"
height="512"
viewBox="0 0 135 135"
width="512"
version="1.1"
sodipodi:docname="ecosystem-nixos.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs62" />
<sodipodi:namedview
id="namedview62"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.85742188"
inkscape:cx="142.87016"
inkscape:cy="289.23918"
inkscape:window-width="2752"
inkscape:window-height="1124"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g61" />
<g
id="g61">
<g
id="g1">
<path
d="m 123.2,112.8 h -16.1 c 0,-4.4 3.6,-8 8,-8 4.5,0 8.1,3.6 8.1,8 z"
fill="#bcdae6"
id="path1" />
</g>
<g
opacity="0.1"
id="g2">
<path
d="m 107.3,111.2 c -0.1,0.5 -0.2,1.1 -0.2,1.7 h 16.1 c 0,-0.6 -0.1,-1.1 -0.2,-1.7 z"
id="path2" />
</g>
<g
id="g3">
<path
d="m 119.6,26.9 v 65.2 c 0,2.6 -2.1,4.7 -4.7,4.7 H 20.1 c -2.6,0 -4.7,-2.1 -4.7,-4.7 V 26.9 c 0,-2.6 2.1,-4.7 4.7,-4.7 h 94.7 c 2.6,0 4.8,2.1 4.8,4.7 z"
fill="#bcdae6"
id="path3" />
</g>
<g
opacity="0.02"
id="g4">
<path
d="m 119.6,26.9 v 65.2 c 0,2.6 -2.1,4.7 -4.7,4.7 H 20.1 c -2.4,0 -4.5,-1.8 -4.7,-4.2 h 29.5 c 38.6,0 69.9,-31.3 69.9,-69.9 0,-0.2 0,-0.3 0,-0.5 2.6,0 4.8,2.1 4.8,4.7 z"
id="path4" />
</g>
<g
opacity="0.4"
id="g5">
<path
d="M 119,24.6 C 118.3,24.2 117.6,24 116.7,24 H 22 c -2.6,0 -4.7,2.1 -4.7,4.7 V 94 c 0,0.8 0.2,1.6 0.6,2.3 -1.5,-0.8 -2.5,-2.4 -2.5,-4.2 V 26.9 c 0,-2.6 2.1,-4.7 4.7,-4.7 h 94.7 c 1.8,0 3.4,1 4.2,2.4 z"
fill="#ffffff"
id="path5" />
</g>
<g
id="g6">
<path
d="M 85.6,112.8 H 49.4 l 2.4,-2.4 c 2.9,-2.9 4.8,-6.7 5.4,-10.8 0.1,-0.9 0.2,-1.9 0.2,-2.8 h 20.1 c 0,1 0.1,1.9 0.2,2.8 0.2,1.6 0.7,3.1 1.3,4.5 1,2.3 2.4,4.5 4.2,6.3 z"
fill="#bcdae6"
id="path6" />
</g>
<g
opacity="0.1"
id="g7">
<path
d="M 77.7,99.6 H 57.2 c 0.1,-0.9 0.2,-1.9 0.2,-2.8 h 20.1 c 0,1 0.1,1.9 0.2,2.8 z"
id="path7" />
</g>
<g
id="g8"
style="fill:#dee3f0;fill-opacity:1">
<path
d="m 20.1,26.9 h 94.7 V 82.2 H 20.1 Z"
fill="#ffffff"
id="path8"
style="fill:#dee3f0;fill-opacity:1" />
</g>
<g
id="g12">
<circle
cx="67.5"
cy="91.900002"
fill="#ffffff"
r="1.9"
id="circle11" />
</g>
<g
id="g16">
<g
id="g13">
<path
d="m 32.3,99.4 v 7.1 c 0,3.4 -2.8,6.2 -6.2,6.2 -1.7,0 -3.3,-0.7 -4.4,-1.8 -1.1,-1.1 -1.8,-2.7 -1.8,-4.4 v -7.1 z"
fill="#00dbdb"
id="path12" />
</g>
<g
opacity="0.3"
id="g14">
<path
d="m 27.3,112.6 c -0.4,0.1 -0.8,0.1 -1.2,0.1 -1.7,0 -3.3,-0.7 -4.4,-1.8 -1.1,-1.1 -1.8,-2.7 -1.8,-4.4 v -7.1 h 2.4 v 7.1 c 0,1.7 0.7,3.3 1.8,4.4 0.9,0.9 2,1.5 3.2,1.7 z"
fill="#ffffff"
id="path13" />
</g>
<g
opacity="0.3"
id="g15">
<path
d="m 23.6,102.5 v 4.1 c 0,0.2 -0.2,0.4 -0.4,0.4 h -2 c -0.2,0 -0.4,-0.2 -0.4,-0.4 v -4.1 c 0,-0.2 0.2,-0.4 0.4,-0.4 h 2 c 0.2,0 0.4,0.2 0.4,0.4 z"
fill="#ffffff"
id="path14" />
</g>
</g>
<path
d="m 20.1,82.7 h 94.7 c 0.3,0 0.5,-0.2 0.5,-0.5 V 26.9 c 0,-0.3 -0.2,-0.5 -0.5,-0.5 H 20.1 c -0.3,0 -0.5,0.2 -0.5,0.5 v 55.3 c 0,0.3 0.3,0.5 0.5,0.5 z m 0.5,-55.3 h 93.7 V 81.7 H 20.6 Z"
id="path42"
style="fill:#384b7d" />
<path
d="m 131.5,112.3 c -0.3,0 -0.5,0.2 -0.5,0.5 0,0.3 0.2,0.5 0.5,0.5 h 0.1 c 0.3,0 0.5,-0.2 0.5,-0.5 0,-0.3 -0.3,-0.5 -0.6,-0.5 z"
id="path43"
style="fill:#384b7d" />
<path
d="m 130.1,112.3 h -6.4 c 0,-0.7 -0.2,-1.4 -0.4,-2.1 -1.1,-3.4 -4.3,-5.9 -8.1,-5.9 -4.5,0 -8.3,3.6 -8.5,8 H 92.5 c -0.3,0 -0.5,0.2 -0.5,0.5 0,0.3 0.2,0.5 0.5,0.5 H 130 c 0.3,0 0.5,-0.2 0.5,-0.5 0,-0.3 -0.2,-0.5 -0.4,-0.5 z m -15.5,-7 v 2 c 0,0.3 0.2,0.5 0.5,0.5 0.3,0 0.5,-0.2 0.5,-0.5 v -2 c 2.9,0.2 5.3,2 6.4,4.6 h -3.9 c -0.3,0 -0.5,0.2 -0.5,0.5 0,0.3 0.2,0.5 0.5,0.5 h 4.3 c 0.1,0.5 0.2,1 0.2,1.4 h -15 c 0.3,-3.7 3.3,-6.7 7,-7 z"
id="path44"
style="fill:#384b7d" />
<path
d="m 89.5,112.3 h -3.8 l -2.2,-2.2 c -3.4,-3.4 -5.4,-8 -5.5,-12.8 h 36.8 c 2.9,0 5.2,-2.3 5.2,-5.2 V 26.9 c 0,-2.9 -2.4,-5.2 -5.2,-5.2 H 20.1 c -2.9,0 -5.2,2.3 -5.2,5.2 v 65.2 c 0,2.9 2.4,5.2 5.2,5.2 h 5.5 v 0.1 c 0,0.3 0.2,0.5 0.5,0.5 0.3,0 0.5,-0.2 0.5,-0.5 v -0.1 h 30.3 c -0.1,4.8 -2.1,9.4 -5.5,12.8 l -2.2,2.2 h -2.5 c -0.3,0 -0.5,0.2 -0.5,0.5 0,0.3 0.2,0.5 0.5,0.5 h 38.8 4 c 0.3,0 0.5,-0.2 0.5,-0.5 0,-0.3 -0.2,-0.5 -0.5,-0.5 z M 20.1,22.7 h 94.7 c 2.3,0 4.2,1.9 4.2,4.2 V 86.5 H 15.9 V 26.9 c 0,-2.3 1.9,-4.2 4.2,-4.2 z m 8.6,66.6 h -3 c -0.1,0 -0.3,0 -0.4,-0.1 -0.3,-0.1 -0.5,0.1 -0.6,0.3 -0.1,0.3 0.1,0.5 0.3,0.6 0.2,0.1 0.5,0.1 0.7,0.1 h 3 c 0.8,0 1.4,0.6 1.4,1.4 0,0.8 -0.6,1.4 -1.4,1.4 h -0.5 c -1.4,0 -2.6,1.2 -2.6,2.6 v 0.5 h -5.5 c -2.3,0 -4.2,-1.9 -4.2,-4.2 v -4.5 h 103.2 v 4.5 c 0,2.3 -1.9,4.2 -4.2,4.2 H 77.5 57.4 26.6 v -0.5 c 0,-0.9 0.7,-1.6 1.6,-1.6 h 0.5 c 1.3,0 2.4,-1.1 2.4,-2.4 0,-1.3 -1,-2.3 -2.4,-2.3 z m 21.9,23 1.5,-1.5 c 3.6,-3.6 5.7,-8.4 5.8,-13.5 H 77 c 0.1,5.1 2.2,9.9 5.8,13.5 l 1.5,1.5 z"
id="path45"
style="fill:#384b7d" />
<path
d="M 44.7,112.3 H 29.5 c 1.8,-1.1 3.1,-3 3.3,-5.2 1.5,-0.2 2.7,-1.5 2.7,-3.2 0,-1.6 -1.2,-2.9 -2.7,-3.2 v -1.4 c 0,-0.3 -0.2,-0.5 -0.5,-0.5 H 19.9 c -0.3,0 -0.5,0.2 -0.5,0.5 v 7.1 c 0,2.3 1.2,4.5 3.3,5.8 h -14 c -0.3,0 -0.5,0.2 -0.5,0.5 0,0.3 0.2,0.5 0.5,0.5 h 36 c 0.3,0 0.5,-0.2 0.5,-0.5 0,-0.3 -0.2,-0.4 -0.5,-0.4 z M 34.5,104 c 0,1 -0.7,1.9 -1.7,2.1 v -4.3 c 1,0.3 1.7,1.2 1.7,2.2 z m -14.1,2.5 v -3.9 H 28 c 0.3,0 0.5,-0.2 0.5,-0.5 0,-0.3 -0.2,-0.5 -0.5,-0.5 h -7.6 v -1.7 h 11.4 c 0,0.2 0,1.8 0,1.7 h -1.7 c -0.3,0 -0.5,0.2 -0.5,0.5 0,0.3 0.2,0.5 0.5,0.5 h 1.7 v 3.9 c 0,3.1 -2.6,5.7 -5.7,5.7 -1.5,0 -2.9,-0.6 -4,-1.7 -1.1,-1 -1.7,-2.4 -1.7,-4 z"
id="path46"
style="fill:#384b7d" />
<path
d="M 6.2,112.3 H 3.5 c -0.3,0 -0.5,0.2 -0.5,0.5 0,0.3 0.2,0.5 0.5,0.5 h 2.7 c 0.3,0 0.5,-0.2 0.5,-0.5 0,-0.3 -0.2,-0.5 -0.5,-0.5 z"
id="path47"
style="fill:#384b7d" />
<path
d="m 67.5,94.3 c 1.3,0 2.4,-1.1 2.4,-2.4 0,-1.3 -1.1,-2.4 -2.4,-2.4 -1.3,0 -2.4,1.1 -2.4,2.4 0,1.3 1.1,2.4 2.4,2.4 z m 0,-3.8 c 0.8,0 1.4,0.6 1.4,1.4 0,0.8 -0.6,1.4 -1.4,1.4 -0.8,0 -1.4,-0.6 -1.4,-1.4 0,-0.8 0.6,-1.4 1.4,-1.4 z"
id="path48"
style="fill:#384b7d" />
<path
d="M 116.1,109.9 H 116 c -0.3,0 -0.5,0.2 -0.5,0.5 0,0.3 0.2,0.5 0.5,0.5 h 0.2 c 0.3,0 0.5,-0.2 0.5,-0.5 0,-0.3 -0.3,-0.5 -0.6,-0.5 z"
id="path49"
style="fill:#384b7d" />
<g
id="Flake"
transform="matrix(0.13305308,0,0,0.1416993,15.680288,22.706143)"
style="clip-rule:evenodd;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:2">
<g
id="path4861"
transform="translate(66.1334,798.311)">
<path
d="m 247.523,-568.202 97.757,169.34 -44.925,0.422 -26.099,-45.495 -26.285,45.252 -22.322,-0.009 -11.433,-19.752 37.448,-64.392 -26.583,-46.26 z"
style="fill:#5277c3;stroke:#ffffff;stroke-width:10px"
id="path5-6" />
</g>
<g
id="use4863"
transform="translate(66.1334,798.311)">
<path
d="m 282.807,-637.955 -97.774,169.331 -22.827,-38.696 26.35,-45.35 -52.332,-0.138 -11.153,-19.335 11.389,-19.777 74.489,0.235 26.771,-46.152 z"
style="fill:#d52d00;stroke:#ffffff;stroke-width:10px"
id="path6-7" />
</g>
<g
id="use4865"
transform="translate(66.1334,798.311)">
<path
d="m 290.308,-502.594 195.532,0.009 -22.098,39.118 -52.45,-0.146 26.047,45.39 -11.168,19.327 -22.822,0.025 -37.041,-64.627 -53.355,-0.108 z"
style="fill:#d52d00;stroke:#ffffff;stroke-width:10px"
id="path7-5" />
</g>
<g
id="use4867"
transform="translate(66.1334,798.311)">
<path
d="m 404.115,-576.791 -97.758,-169.34 44.926,-0.421 26.099,45.495 26.285,-45.252 22.322,0.009 11.432,19.751 -37.448,64.392 26.584,46.261 z"
style="fill:#d52d00;stroke:#ffffff;stroke-width:10px"
id="path8-3" />
</g>
<g
id="path4873"
transform="translate(66.1334,798.311)">
<path
d="m 247.523,-568.202 97.757,169.34 -44.925,0.422 -26.099,-45.495 -26.285,45.252 -22.322,-0.009 -11.433,-19.752 37.448,-64.392 -26.583,-46.26 z"
style="fill:#5277c3;stroke:#ffffff;stroke-width:10px"
id="path9" />
</g>
<g
id="use4875"
transform="translate(66.1334,798.311)">
<path
d="m 361.069,-642.826 -195.531,-0.01 22.097,-39.117 52.45,0.145 -26.047,-45.389 11.169,-19.327 22.822,-0.025 37.041,64.627 53.354,0.108 z"
style="fill:#d362a4;stroke:#ffffff;stroke-width:10px"
id="path10" />
</g>
<g
id="use4877"
transform="translate(66.1334,798.311)">
<path
d="m 368.697,-507.074 97.774,-169.33 22.828,38.696 -26.35,45.35 52.332,0.137 11.153,19.336 -11.389,19.777 -74.49,-0.235 -26.771,46.152 z"
style="fill:#a30262;stroke:#ffffff;stroke-width:10px"
id="path11" />
</g>
<g
id="path3336-6"
transform="translate(66.1334,798.311)">
<path
d="m 247.639,-568.311 97.758,169.341 -44.926,0.421 -26.099,-45.495 -26.285,45.252 -22.322,-0.009 -11.433,-19.752 37.449,-64.392 -26.584,-46.26 z"
style="fill:#ff9a56;stroke:#ffffff;stroke-width:10px"
id="path12-5" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -0,0 +1,192 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="Layer_1"
enable-background="new 0 0 136 136"
height="512"
viewBox="0 0 136 136"
width="512"
version="1.1"
sodipodi:docname="points-configuration.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs37" />
<sodipodi:namedview
id="namedview37"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.85742188"
inkscape:cx="-533.57631"
inkscape:cy="202.93394"
inkscape:window-width="2752"
inkscape:window-height="1124"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="Layer_1" />
<path
d="m 112.02696,123.5243 c 0,1.65735 -1.34355,3.00089 -3.0009,3.00089 H 31.690163 c -4.929514,0 -9.211863,-3.93966 -9.211863,-8.83118 v -0.34246 c 0,-0.11431 0.01905,-0.22862 0.0381,-0.34269 0,-0.11408 0,-0.20933 0.01905,-0.30459 0.01893,-0.13313 0.03798,-0.26625 0.05704,-0.38056 0.0381,-0.22838 0.07609,-0.43772 0.133242,-0.62823 0.05704,-0.26625 0.133243,-0.53297 0.228384,-0.79922 0.07609,-0.24743 0.171345,-0.51392 0.285536,-0.7423 0.209331,-0.47582 0.456766,-0.91353 0.742185,-1.33243 0.114191,-0.17122 0.228382,-0.32341 0.34269,-0.47581 0.228384,-0.30436 0.456766,-0.57085 0.723135,-0.83733 1.598795,-1.57986 3.787599,-2.56936 6.22372,-2.56936 h 73.142528 7.6131 z"
fill="#52eef8"
id="path1"
style="fill:#d162a4;fill-opacity:1" />
<path
d="m 31.305105,112.18095 c -1.501421,0 -2.850275,0.6098 -3.835689,1.58351 -0.164158,0.16415 -0.304898,0.32831 -0.445637,0.51612 -0.07049,0.0937 -0.140858,0.18757 -0.211227,0.29319 -0.175868,0.25806 -0.328316,0.52783 -0.457346,0.82102 -0.07037,0.14074 -0.129149,0.3049 -0.175984,0.45758 -0.05866,0.16393 -0.105614,0.32832 -0.140741,0.49248 -0.03524,0.11732 -0.05866,0.24658 -0.0822,0.38709 -0.01171,0.0705 -0.02342,0.15268 -0.03513,0.23464 -0.01171,0.0585 -0.01171,0.11756 -0.01171,0.18782 -0.01171,0.0703 -0.02353,0.1405 -0.02353,0.21122 v 0.21076 c 0,3.01478 2.639284,5.44272 5.677252,5.44272 h 80.463807 v -10.83815 z"
fill="#ffffff"
id="path2" />
<path
d="M 112.03003,12.474365 V 108.93433 H 31.270019 c -2.429992,0 -4.619995,0.98999 -6.220031,2.57006 -0.269959,0.27002 -0.5,0.54004 -0.729981,0.83985 -0.130005,0.15014 -0.23999,0.31006 -0.340027,0.47998 -0.279968,0.42016 -0.529968,0.8501 -0.73999,1.33008 -0.109985,0.25 -0.209961,0.48999 -0.289978,0.73999 -0.09003,0.27002 -0.169983,0.53003 -0.220032,0.80005 -0.06,0.20996 -0.09998,0.3999 -0.139953,0.62988 -0.02002,0.11011 -0.04004,0.25 -0.05005,0.38013 -0.01996,0.10009 -0.01996,0.18994 -0.01996,0.30004 -0.02002,0.12012 -0.04004,0.22998 -0.04004,0.3501 V 17.084473 c 0,-4.200196 3.410035,-7.6101077 7.610047,-7.6101077 h 78.940006 c 1.64996,-1e-7 3,1.3400877 3,2.9999997 z"
fill="#00c5ea"
id="path3"
style="fill:#d87ab2;fill-opacity:1" />
<path
d="M 112.01996,12.478029 V 108.94197 H 31.265713 c -2.430817,0 -4.621418,0.99034 -6.211893,2.56589 -0.270071,0.26998 -0.495177,0.53996 -0.735209,0.84016 -0.120062,0.15001 -0.240122,0.3002 -0.330147,0.48007 -0.285089,0.40515 -0.54014,0.85535 -0.750225,1.32059 -0.120062,0.25496 -0.210085,0.49508 -0.285089,0.75022 -0.09002,0.26998 -0.165028,0.52494 -0.225014,0.7951 -0.06008,0.21009 -0.09002,0.40515 -0.13508,0.63026 -0.01502,0.11996 -0.04497,0.23994 -0.05999,0.37511 -0.01502,0.10495 -0.01502,0.19506 -0.01502,0.31504 -0.01502,0.10513 -0.04506,0.2251 -0.04506,0.33005 v -12.70878 c 1.125339,-0.52513 2.35572,-0.81031 3.676126,-0.81031 22.296696,0 42.477795,-9.047765 57.092182,-23.662152 C 97.85569,65.54883 106.90346,45.367823 106.90346,23.071127 V 9.4771252 h 2.1156 c 1.65055,0 3.0009,1.3502608 3.0009,3.0009038 z"
id="path4"
style="opacity:0.05" />
<g
id="g5"
style="opacity:0.5">
<path
d="M 84.73999,108.93433 H 54.609985 L 32.309998,9.4743652 h 30.130004 z"
fill="#ffffff"
id="path5" />
</g>
<g
id="g6"
style="opacity:0.5">
<path
d="M 100.32001,108.93433 H 90.330017 L 68.030029,9.4743652 h 9.989991 z"
fill="#ffffff"
id="path6" />
</g>
<path
d="M 29,9.5612793 C 25.313904,10.091797 22.478271,13.254395 22.478271,17.087402 V 117.35156 c 0,-0.11426 0.0191,-0.22851 0.03815,-0.34277 0,-0.11401 0,-0.20923 0.01904,-0.30444 0.01892,-0.13331 0.03796,-0.26636 0.05701,-0.38062 0.03815,-0.22852 0.07611,-0.4187 0.13324,-0.62817 0.05707,-0.26636 0.13324,-0.53296 0.228394,-0.79932 0.07611,-0.24731 0.171386,-0.49487 0.285522,-0.74243 0.209351,-0.47559 0.456787,-0.91333 0.742188,-1.33228 0.09527,-0.17114 0.209472,-0.32348 0.342712,-0.47583 0.228394,-0.30444 0.456787,-0.5708 0.723144,-0.8374 C 26.12915,110.4397 27.48468,109.65088 29,109.24609 Z"
fill="#52eef8"
id="path7"
style="fill:#d162a4;fill-opacity:1" />
<path
d="M 112.03003,82.134277 V 92.434326 L 95.539978,108.93433 H 85.23999 Z"
fill="#ffff9a"
id="path8"
style="fill:#ff9a56;fill-opacity:1" />
<path
d="m 112.03003,82.134277 v 3.5 L 88.73999,108.93433 h -3.5 z"
fill="#d4f4ff"
id="path9"
style="opacity:0.5" />
<path
d="M 112.03003,25.984375 V 36.284424 L 85.22998,9.4743652 h 10.300049 z"
fill="#ffff9a"
id="path10"
style="fill:#ff9a56;fill-opacity:1" />
<path
d="m 112.03003,33.284424 v 3 L 85.22998,9.4743652 h 3 z"
fill="#d4f4ff"
id="path11"
style="opacity:0.5" />
<g
id="g13">
<path
d="m 96.16217,47.893646 -0.812866,-2.389847 c -0.239242,-0.703384 -0.913528,-1.164882 -1.655807,-1.133278 l -2.369416,0.100872 c -0.740799,0.03154 -1.372551,0.546708 -1.552513,1.266011 l -0.155189,0.620281 -0.468849,1.837997 c -0.905564,0.312851 -1.746353,0.70755 -2.552895,1.19896 l -2.261551,-1.118916 c -0.669388,-0.331184 -1.477127,-0.179603 -1.980896,0.371735 l -1.600929,1.752094 c -0.502014,0.549416 -0.580956,1.364319 -0.193733,1.999886 l 1.312042,2.153522 c -0.420952,0.845776 -0.761261,1.727997 -0.9805,2.652275 l -2.397926,0.824551 c -0.701874,0.241344 -1.16098,0.916099 -1.127823,1.657574 l 0.10595,2.369083 c 0.03307,0.739399 0.547828,1.369301 1.265838,1.54895 l 2.456047,0.614521 c 0.307915,0.895363 0.717446,1.76677 1.20385,2.563149 l -1.11515,2.264534 c -0.328057,0.666183 -0.177964,1.468872 0.368644,1.971504 l 1.742028,1.601883 c 0.546417,0.502464 1.358505,0.584999 1.994835,0.202736 l 2.172981,-1.305359 c 0.830597,0.415634 1.718109,0.740867 2.647263,0.970344 l 0.820854,2.389794 c 0.240745,0.700912 0.913749,1.160057 1.654175,1.12854 l 2.370773,-0.100922 c 0.741981,-0.03159 1.37442,-0.548317 1.553291,-1.269104 l 0.610611,-2.460548 c 0.90036,-0.29773 1.761559,-0.702317 2.557831,-1.188752 l 2.27596,1.119355 c 0.66799,0.328537 1.47268,0.176414 1.97465,-0.373291 l 1.60614,-1.758896 c 0.50047,-0.548065 0.58024,-1.36026 0.19598,-1.995232 l -1.30725,-2.160141 c 0.30168,-0.624382 0.56311,-1.279663 0.77429,-1.960838 0.0686,-0.222061 0.13237,-0.454262 0.18586,-0.681583 l 0.0102,-0.0049 2.38974,-0.820782 c 0.70093,-0.240742 1.16009,-0.913769 1.12855,-1.654221 l -0.10097,-2.370796 c -0.0316,-0.741974 -0.54834,-1.374401 -1.26912,-1.553276 l -2.46056,-0.610638 c -0.0879,-0.259456 -0.18104,-0.503765 -0.27429,-0.748108 -0.25545,-0.631343 -0.56191,-1.237972 -0.91935,-1.81998 l 1.11568,-2.265541 c 0.32783,-0.665718 0.1782,-1.467823 -0.3676,-1.97057 l -1.74559,-1.607857 c -0.54773,-0.504524 -1.36292,-0.586494 -2.00013,-0.201114 l -2.165699,1.309783 z m -2.737266,17.868523 c -2.95929,0.129883 -5.478584,-2.175663 -5.604317,-5.146874 -0.129906,-2.959301 2.179466,-5.470634 5.138779,-5.600471 2.971191,-0.125706 5.478653,2.175686 5.608513,5.13501 0.125724,2.97121 -2.17566,5.478615 -5.142975,5.612335 z"
fill="#ffffff"
id="path12" />
</g>
<g
id="g15"
style="fill:#fed2ec;fill-opacity:1">
<path
d="m 74.353394,38.669571 -1.909485,-3.941776 c -0.308686,-0.637223 -0.999787,-0.99545 -1.698418,-0.880356 l -4.010956,0.660774 c -0.88163,-0.982922 -1.872268,-1.848465 -2.931034,-2.607323 l 0.202503,-4.045999 c 0.03547,-0.708756 -0.40057,-1.356051 -1.070724,-1.589466 l -4.145409,-1.44385 c -0.670696,-0.233604 -1.415092,0.0033 -1.827362,0.581636 l -2.355099,3.303587 c -1.301204,-0.06083 -2.61515,0.0043 -3.916175,0.229069 l -2.730408,-3.005834 c -0.476685,-0.524769 -1.242062,-0.672871 -1.880085,-0.363797 l -3.947556,1.912276 c -0.637218,0.308681 -0.995437,0.999788 -0.880336,1.698425 l 0.660797,4.010975 c -0.982888,0.881561 -1.848442,1.872265 -2.607292,2.93103 l -4.043824,-0.202423 c -0.709774,-0.03553 -1.357772,0.401806 -1.590355,1.07333 l -1.436332,4.147015 c -0.232247,0.670559 0.0054,1.413963 0.583542,1.825466 l 3.30043,2.349106 c -0.06829,1.304832 -0.0032,2.618713 0.221626,3.919819 l -3.004795,2.7378 c -0.52338,0.476872 -0.670677,1.241238 -0.361992,1.878464 l 1.909477,3.941776 c 0.308686,0.637219 0.999783,0.995445 1.69841,0.880356 l 4.010983,-0.66074 c 0.881611,0.982876 1.875893,1.855938 2.938507,2.603706 l -0.188934,3.774956 c -0.04351,0.869415 0.491371,1.663437 1.313438,1.949761 l 3.888222,1.354248 c 0.671116,0.233749 1.415958,-0.0036 1.828052,-0.582612 l 2.347844,-3.298645 c 1.304824,0.06831 2.615127,-0.0043 3.916175,-0.229068 l 2.737809,3.004825 c 0.476875,0.523392 1.241241,0.670693 1.878459,0.362007 l 3.947548,-1.912269 c 0.638031,-0.309075 0.996254,-1.001473 0.879952,-1.700817 l -0.666176,-4.005791 c 0.982864,-0.881603 1.852058,-1.864796 2.607285,-2.93103 l 4.052192,0.199726 c 0.709343,0.03496 1.35669,-0.402291 1.589127,-1.073384 l 1.436653,-4.147876 c 0.232254,-0.670563 -0.0054,-1.413971 -0.583534,-1.825474 l -3.300423,-2.349106 c 0.06444,-1.293739 -0.0043,-2.615139 -0.229095,-3.916199 l 3.004783,-2.737842 c 0.523377,-0.476875 0.67067,-1.241234 0.361985,-1.878456 z m -17.05663,15.088108 c -4.003089,1.939178 -8.822887,0.269669 -10.764755,-3.738964 -1.939182,-4.00309 -0.261581,-8.820072 3.741509,-10.759251 4.00309,-1.939182 8.822887,-0.269672 10.762069,3.733418 1.941868,4.008636 0.264267,8.825618 -3.738823,10.764797 z"
fill="#d4f4ff"
id="path14"
style="fill:#fed2ec;fill-opacity:1" />
</g>
<g
id="g16">
<path
d="m 57.362934,61.466457 -1.059112,0.182759 c -1.137562,0.196171 -2.308136,0.264351 -3.480683,0.202881 l -1.076149,-0.05638 -2.813621,3.954632 -3.631657,-1.265045 0.242878,-4.854477 -0.883629,-0.621983 C 43.695645,58.329824 42.818024,57.55282 42.053757,56.69998 l -0.718014,-0.800515 -4.80505,0.791043 -1.673488,-3.45382 3.600196,-3.280155 -0.183807,-1.059376 c -0.192062,-1.112972 -0.258125,-2.285018 -0.195751,-3.483795 l 0.05611,-1.075115 -3.955734,-2.816357 1.257732,-3.633449 4.841583,0.242401 0.623074,-0.870129 c 0.705914,-0.98518 1.487007,-1.864219 2.321377,-2.612507 l 0.801079,-0.717651 -0.791539,-4.804976 3.460007,-1.676355 3.27327,3.602291 1.060875,-0.183651 c 1.104458,-0.190613 2.278873,-0.25917 3.489612,-0.202453 l 1.06781,0.04992 2.817994,-3.95268 3.632698,1.265297 -0.242409,4.843574 0.870129,0.623085 c 0.982887,0.704483 1.862503,1.485943 2.61444,2.323422 l 0.717804,0.799579 4.804009,-0.791294 1.672661,3.454495 -3.599365,3.27948 0.183807,1.059372 c 0.19397,1.121376 0.262108,2.29393 0.202919,3.485111 l -0.05373,1.072613 3.954163,2.813766 -1.259392,3.634808 -4.855583,-0.23922 -0.621376,0.877602 c -0.679352,0.959503 -1.459107,1.835785 -2.317047,2.605632 l -0.800869,0.718583 0.797435,4.800689 -3.459072,1.67614 z M 51.573296,36.738106 c -0.740365,0.168255 -1.46505,0.422783 -2.154046,0.756584 -2.407554,1.166187 -4.217445,3.199516 -5.096351,5.726238 -0.879734,2.527401 -0.721512,5.245537 0.445152,7.653004 2.043129,4.220585 6.661171,6.443123 11.229405,5.404964 0.740364,-0.168251 1.465049,-0.422783 2.154048,-0.756584 4.970723,-2.407997 7.056504,-8.411789 4.649098,-13.384163 -2.043427,-4.217575 -6.660008,-6.437992 -11.227306,-5.400043 z"
fill="#ffffff"
id="path15" />
</g>
<path
d="m 83.98996,116.1787 v 8.84386 l -4.055718,-2.21328 -4.055717,2.21328 v -8.84386 z"
fill="#ff4b3a"
id="path17"
style="fill:#ef7627;fill-opacity:1" />
<path
d="M 6.125,126.02539 H 4.75 c -0.2763672,0 -0.5,0.22363 -0.5,0.5 0,0.27637 0.2236328,0.5 0.5,0.5 h 1.375 c 0.2763672,0 0.5,-0.22363 0.5,-0.5 0,-0.27637 -0.2236328,-0.5 -0.5,-0.5 z"
fill="#384b7d"
id="path21"
style="fill:#a30262;fill-opacity:1" />
<path
d="M 15.916504,126.02539 H 8.125 c -0.2763672,0 -0.5,0.22363 -0.5,0.5 0,0.27637 0.2236328,0.5 0.5,0.5 h 7.791504 c 0.276367,0 0.5,-0.22363 0.5,-0.5 0,-0.27637 -0.223633,-0.5 -0.5,-0.5 z"
fill="#384b7d"
id="path22"
style="fill:#a30262;fill-opacity:1" />
<path
d="m 118.25,126.02539 h -6.78125 c 0.65125,-0.63623 1.05859,-1.52075 1.05859,-2.50098 v -0.49511 c 1.9e-4,-0.005 0.003,-0.01 0.003,-0.0147 -0.002,-8.1415 0,8.44888 0,-110.540041 0,-1.929687 -1.57031,-3.4999997 -3.5,-3.4999997 -24.12711,0 -53.764626,0 -78.940426,0 -4.359318,0 -8.111328,3.5757167 -8.111328,8.1132817 V 117.69434 c 0,3.59253 2.24884,6.78027 5.435424,8.33105 h -8.497436 c -0.276367,0 -0.5,0.22363 -0.5,0.5 0,0.27637 0.223633,0.5 0.5,0.5 H 118.25 c 0.27637,0 0.5,-0.22363 0.5,-0.5 0,-0.27637 -0.22363,-0.5 -0.5,-0.5 z m -34.759766,-1.8457 -3.316406,-1.8086 c -0.07422,-0.041 -0.157227,-0.0615 -0.239258,-0.0615 -0.08203,0 -0.165039,0.0205 -0.239258,0.0615 l -3.316406,1.8086 c 1.22e-4,-0.94533 0.001,-7.94853 9.77e-4,-7.50098 h 7.110351 c 0,0.21283 0,7.89352 0,7.50098 z M 38.15625,117.07617 H 26.414062 c 0.08923,-2.11407 2.119513,-4.3916 4.895997,-4.3916 h 80.217281 v 2.99414 H 84.014465 c -0.0085,-4.9e-4 -0.01563,-0.005 -0.02423,-0.005 h -8.110351 c -0.0086,0 -0.01575,0.004 -0.02423,0.005 H 72.875 c -0.276367,0 -0.5,0.22363 -0.5,0.5 0,0.27637 0.223633,0.5 0.5,0.5 h 2.503906 v 5.83594 H 31.560059 c -2.623047,0 -4.83899,-1.98877 -5.115052,-4.43848 H 38.15625 c 0.276367,0 0.5,-0.22363 0.5,-0.5 0,-0.27637 -0.223633,-0.5 -0.5,-0.5 z m 46.333984,-0.39746 h 27.037106 v 1.84277 H 87.875 c -0.276367,0 -0.5,0.22364 -0.5,0.5 0,0.27637 0.223633,0.5 0.5,0.5 h 23.65234 v 2.99317 H 84.490234 Z M 28.5,10.163086 V 108.8584 c -2.471233,0.77234 -4.398546,2.488 -5.508484,4.65576 -0.0034,0.007 -0.0082,0.0129 -0.01154,0.0195 0.0016,-108.2601075 -0.0047,-95.440344 0.0015,-96.480223 0.01629,-3.274823 2.32388,-6.157944 5.518494,-6.890381 z M 111.53027,92.227539 95.333008,108.43457 H 86.447266 L 111.53027,83.341797 Z m 0,1.414551 v 14.79248 H 96.746582 Z m 0,-81.167481 V 24.776856 L 96.736816,9.9746094 h 12.293454 c 1.37891,0 2.5,1.1210936 2.5,2.4999996 z M 95.323242,9.9746094 111.53027,26.191406 v 8.885743 L 86.437492,9.9746094 Z m -65.233398,0 H 85.023376 L 111.53027,36.491211 V 81.927734 L 85.033142,108.43457 H 31.270019 c -0.600097,0 -1.191772,0.0593 -1.770019,0.1709 V 10.004395 c 0.195007,-0.016114 0.390747,-0.029786 0.589844,-0.029786 z M 22.978516,117.69434 c 0,-4.0232 3.093204,-8.25489 8.292968,-8.25489 h 80.255856 v 2.24512 H 31.310059 c -3.279158,0 -5.919922,2.72109 -5.919922,5.67969 v 0.19018 c -3.66e-4,0.008 -0.0044,0.0139 -0.0044,0.0217 0,0.0107 0.0055,0.02 0.0062,0.0305 0.01917,3.20532 2.835327,5.90796 6.168152,5.90796 h 43.818847 v 1.50781 c 0,0.17676 0.09277,0.33984 0.245118,0.42969 0.151367,0.0908 0.34082,0.0947 0.49414,0.009 l 3.816406,-2.08203 3.816407,2.08203 c 0.154937,0.0856 0.344421,0.081 0.49414,-0.009 0.152344,-0.0898 0.245118,-0.25293 0.245118,-0.42969 v -1.50781 h 27.037105 v 0.01 c 0,1.37891 -1.12207,2.50098 -2.50097,2.50098 H 31.689941 c -4.722168,0 -8.711425,-3.81543 -8.711425,-8.33105 z"
fill="#384b7d"
id="path23"
style="fill:#a30262;fill-opacity:1" />
<path
d="M 128.0625,126.02539 H 121.25 c -0.27637,0 -0.5,0.22363 -0.5,0.5 0,0.27637 0.22363,0.5 0.5,0.5 h 6.8125 c 0.27637,0 0.5,-0.22363 0.5,-0.5 0,-0.27637 -0.22363,-0.5 -0.5,-0.5 z"
fill="#384b7d"
id="path24"
style="fill:#a30262;fill-opacity:1" />
<path
d="m 131.25,126.02539 h -1.1875 c -0.27637,0 -0.5,0.22363 -0.5,0.5 0,0.27637 0.22363,0.5 0.5,0.5 h 1.1875 c 0.27637,0 0.5,-0.22363 0.5,-0.5 0,-0.27637 -0.22363,-0.5 -0.5,-0.5 z"
fill="#384b7d"
id="path25"
style="fill:#a30262;fill-opacity:1" />
<path
d="m 32.875977,17.908203 4.577148,-4.577148 c 0.195312,-0.195313 0.195312,-0.511719 0,-0.707032 -0.195313,-0.195312 -0.511719,-0.195312 -0.707031,0 l -4.577149,4.577149 c -0.195312,0.195312 -0.195312,0.511719 0,0.707031 0.195309,0.195307 0.511715,0.195318 0.707032,0 z"
fill="#384b7d"
id="path26"
style="fill:#a30262;fill-opacity:1" />
<path
d="m 34.880859,18.885742 c 0.195309,0.195307 0.511715,0.195318 0.707032,0 l 2.843261,-2.842773 c 0.195313,-0.195313 0.195313,-0.511719 0,-0.707031 -0.195312,-0.195313 -0.511718,-0.195313 -0.707031,0 l -2.843262,2.842773 c -0.195312,0.195312 -0.195312,0.511719 0,0.707031 z"
fill="#384b7d"
id="path27"
style="fill:#a30262;fill-opacity:1" />
<path
d="M 57.514648,54.208008 C 61.76123,52.150391 63.54248,47.021484 61.48584,42.775391 59.428711,38.530273 54.300781,36.75 50.055664,38.80957 c -4.253097,2.059906 -6.035694,7.171227 -3.973633,11.426758 2.064293,4.259941 7.177655,6.033199 11.432617,3.97168 z M 50.491211,39.709961 c 3.73505,-1.810726 8.272106,-0.259392 10.094238,3.500976 1.816895,3.75 0.243652,8.280274 -3.506348,10.09668 -3.757522,1.821705 -8.274616,0.254521 -10.096679,-3.506836 -1.820721,-3.756622 -0.248959,-8.272064 3.508789,-10.09082 z"
fill="#384b7d"
id="path28"
style="fill:#a30262;fill-opacity:1" />
<path
d="m 32.529297,43.369141 3.078613,2.191406 c -0.04492,1.189453 0.021,2.359375 0.196289,3.484375 l -2.804687,2.554687 c -0.692383,0.631836 -0.882813,1.623047 -0.475098,2.465821 l 1.909668,3.941406 c 0.401856,0.831055 1.316406,1.305664 2.229981,1.15625 l 3.743164,-0.617188 c 0.783203,0.84668 1.660156,1.624024 2.611816,2.314454 l -0.175293,3.501953 c -0.0542,1.083984 0.624023,2.089843 1.648438,2.447265 l 3.887695,1.353516 c 0.224121,0.07813 0.455078,0.116211 0.68457,0.116211 0.666016,0 1.31543,-0.317383 1.71582,-0.879883 l 2.189942,-3.077148 c 1.169922,0.04395 2.336914,-0.02344 3.47998,-0.204102 l 2.554688,2.804687 c 0.622558,0.682618 1.636719,0.87793 2.46582,0.475586 l 3.948242,-1.912109 c 0.831543,-0.40332 1.306153,-1.322266 1.154786,-2.233398 l -0.621582,-3.737305 c 0.848632,-0.786133 1.626464,-1.660156 2.316406,-2.604492 l 3.78125,0.185547 c 0.918945,0.0625 1.783203,-0.532227 2.085937,-1.408204 l 1.436524,-4.14746 c 0.302734,-0.875 -0.01172,-1.860352 -0.765625,-2.397461 l -3.080078,-2.191407 c 0.04199,-1.180664 -0.02637,-2.348632 -0.203125,-3.479492 l 2.804687,-2.554687 c 0.682617,-0.622071 0.87793,-1.635743 0.475586,-2.465821 l -1.910156,-3.943359 c -0.402344,-0.830078 -1.317383,-1.305664 -2.229492,-1.154297 l -3.743165,0.616211 C 66.153809,33.143555 65.279785,32.366211 64.316406,31.65625 l 0.188965,-3.776367 c 0.04639,-0.923828 -0.531738,-1.782227 -1.405762,-2.085938 l -4.145507,-1.445312 c -0.875489,-0.304688 -1.861329,0.0098 -2.398926,0.764648 l -2.197754,3.083008 c -1.193848,-0.03516 -2.361328,0.02832 -3.478516,0.202148 L 48.331055,25.59375 c -0.622071,-0.68457 -1.638672,-0.879883 -2.468262,-0.477539 l -3.947266,1.912109 c -0.831054,0.402344 -1.306152,1.319336 -1.155761,2.229492 l 0.616211,3.743165 c -0.826661,0.766601 -1.603516,1.640625 -2.314942,2.605468 l -3.772949,-0.188476 c -0.916016,-0.05566 -1.784668,0.532226 -2.088379,1.408203 l -1.436523,4.146484 c -0.302735,0.875 0.01221,1.860352 0.766113,2.396485 z m 0.179199,-2.06836 1.436523,-4.147461 c 0.158204,-0.458007 0.599122,-0.757812 1.092774,-0.737304 l 4.043457,0.202148 c 0.168457,0.02344 0.332031,-0.06934 0.431152,-0.208008 0.769531,-1.072265 1.622559,-2.032226 2.535156,-2.850586 0.126954,-0.114257 0.187012,-0.285156 0.15918,-0.453125 l -0.660644,-4.010742 c -0.07861,-0.476562 0.17041,-0.957031 0.60498,-1.166992 l 3.947754,-1.912109 c 0.436035,-0.213868 0.966309,-0.109375 1.291992,0.249023 l 2.730469,3.005859 c 0.115234,0.126954 0.287109,0.186524 0.455078,0.157227 1.212891,-0.209961 2.492676,-0.283203 3.807617,-0.222656 0.169434,0.01855 0.331543,-0.07031 0.430665,-0.208985 l 2.35498,-3.303711 c 0.28125,-0.395507 0.79834,-0.558593 1.255859,-0.40039 l 4.14502,1.445312 c 0.457519,0.15918 0.760254,0.607422 0.73584,1.090821 l -0.202149,4.046875 c -0.0083,0.169922 0.06982,0.333007 0.208008,0.43164 1.071777,0.768555 2.030762,1.621094 2.850098,2.53418 0.114258,0.125977 0.285156,0.191406 0.453125,0.15918 l 4.010742,-0.660157 c 0.484375,-0.0791 0.953125,0.164063 1.167969,0.604493 l 1.909179,3.942382 c 0.210938,0.434571 0.108399,0.964844 -0.249023,1.291016 l -3.004883,2.738281 c -0.125976,0.114258 -0.18457,0.286133 -0.15625,0.454102 0.212891,1.230469 0.288086,2.510742 0.223633,3.80664 -0.0088,0.169922 0.07031,0.333008 0.208984,0.431641 l 3.300782,2.348633 c 0.394531,0.28125 0.55957,0.797851 0.40039,1.254883 l -1.436523,4.147461 c -0.158203,0.458007 -0.601563,0.77832 -1.091797,0.738281 l -4.052734,-0.199219 c -0.169434,-0.03223 -0.333985,0.07031 -0.432618,0.209961 -0.740234,1.045898 -1.592285,2.003906 -2.532714,2.847656 -0.126953,0.114258 -0.1875,0.285157 -0.15918,0.454102 l 0.666016,4.005859 c 0.0791,0.477539 -0.169434,0.958008 -0.604493,1.168946 l -3.947754,1.912109 c -0.434082,0.211914 -0.965332,0.109375 -1.291015,-0.249023 l -2.737793,-3.004883 c -0.115235,-0.125977 -0.285645,-0.183594 -0.45459,-0.15625 -1.245605,0.216797 -2.527832,0.290039 -3.804687,0.223633 -0.169922,-0.03125 -0.334961,0.06934 -0.433594,0.208984 l -2.347657,3.298828 c -0.28125,0.395508 -0.798339,0.561523 -1.256347,0.399414 L 44.821289,65.864258 C 44.212891,65.65332 43.810547,65.055664 43.842774,64.413086 l 0.188964,-3.775391 c 0.0083,-0.171875 -0.07178,-0.335937 -0.211914,-0.43457 -1.054199,-0.740234 -2.01416,-1.59082 -2.853515,-2.52832 -0.0957,-0.106445 -0.231934,-0.166016 -0.372559,-0.166016 -0.02685,0 -0.0542,0.002 -0.08154,0.0068 l -4.01123,0.661133 c -0.472657,0.0752 -0.956055,-0.170898 -1.166504,-0.605469 l -1.909668,-3.941406 c -0.213868,-0.441406 -0.11377,-0.960938 0.248535,-1.291992 l 3.004883,-2.736328 c 0.125976,-0.115235 0.185058,-0.28711 0.155761,-0.455079 -0.210449,-1.220703 -0.283203,-2.502929 -0.214843,-3.808593 0.0088,-0.170899 -0.07031,-0.334961 -0.209473,-0.433594 l -3.300781,-2.34961 c -0.394532,-0.281249 -0.559082,-0.796874 -0.400391,-1.253906 z"
fill="#384b7d"
id="path29"
style="fill:#a30262;fill-opacity:1" />
<path
d="m 93.18457,66.266602 c 0.08691,0 0.174805,-0.002 0.261719,-0.0049 9.77e-4,-9.77e-4 9.77e-4,-9.77e-4 9.77e-4,-9.77e-4 3.235351,-0.144531 5.756836,-2.895508 5.621093,-6.132812 -0.142578,-3.231446 -2.86914,-5.713868 -6.130866,-5.613282 -3.241623,0.143578 -5.758538,2.889038 -5.61718,6.122071 0.137435,3.200863 2.781669,5.629883 5.864257,5.629883 z m 0.0049,-10.756836 c 2.59668,0 4.764649,2.049804 4.878906,4.661132 0.113282,2.686524 -1.979492,4.970703 -4.665039,5.090821 -2.649681,0.125984 -4.968696,-1.944836 -5.083008,-4.667969 -0.123847,-2.787594 2.123238,-5.083984 4.869141,-5.083984 z"
fill="#384b7d"
id="path30"
style="fill:#a30262;fill-opacity:1" />
<path
d="m 78.614258,64.09082 2.195312,0.548828 c 0.275391,0.75293 0.616211,1.479493 1.016602,2.166016 l -0.994141,2.021484 c -0.423828,0.859375 -0.226562,1.91211 0.477539,2.560547 l 1.742188,1.601563 c 0.706055,0.647461 1.770508,0.754883 2.591797,0.262695 l 1.94043,-1.165039 c 0.708984,0.335938 1.45996,0.610352 2.236328,0.818359 l 0.733398,2.136719 c 0.300781,0.874024 1.138672,1.466797 2.057617,1.465821 0.128243,0 -0.07707,0.0045 2.461914,-0.101563 0.956055,-0.04102 1.786133,-0.71875 2.016602,-1.649414 l 0.544922,-2.195313 c 0.74414,-0.264648 1.469726,-0.602539 2.162109,-1.005859 l 2.031255,1.000977 c 0.8623,0.422851 1.91796,0.224609 2.56445,-0.486328 l 1.60644,-1.75879 c 0.64551,-0.707031 0.75,-1.77246 0.25489,-2.59082 l -1.16895,-1.930664 c 0.33756,-0.731361 0.61487,-1.488335 0.81348,-2.229492 l 2.14355,-0.736328 c 0.90332,-0.310547 1.50586,-1.194336 1.46485,-2.148438 l -0.10059,-2.371094 c -0.041,-0.957031 -0.71876,-1.786132 -1.64941,-2.016601 l -2.19825,-0.545899 c -0.0586,-0.163085 -0.12207,-0.330078 -0.19336,-0.515625 -0.23046,-0.570312 -0.5039,-1.125976 -0.81347,-1.655273 l 0.99512,-2.021484 c 0.42285,-0.858399 0.22753,-1.911133 -0.47657,-2.559571 l -1.74609,-1.608398 c -0.70703,-0.649414 -1.77344,-0.758789 -2.59766,-0.260742 l -1.960935,1.186523 -2.207031,-0.801758 -0.735352,-2.163086 C 95.514648,44.43457 94.611328,43.81543 93.671875,43.870117 l -2.369141,0.101563 c -0.955078,0.04102 -1.784179,0.716797 -2.016601,1.644531 l -0.557617,2.197266 c -0.757813,0.279296 -1.467774,0.612304 -2.15625,1.012695 l -2.017578,-0.999024 c -0.864258,-0.426757 -1.923829,-0.228515 -2.57129,0.483399 L 80.381836,50.0625 c -0.647461,0.708984 -0.750977,1.777344 -0.250977,2.59668 l 1.168946,1.919922 c -0.361328,0.759765 -0.634766,1.498047 -0.830078,2.241211 l -2.140625,0.737304 c -0.905274,0.310547 -1.507813,1.196289 -1.464844,2.152344 l 0.105469,2.368164 c 0.04199,0.953125 0.717765,1.780273 1.644531,2.012695 z m 0.04004,-5.58789 2.397461,-0.825196 c 0.161133,-0.05566 0.284179,-0.190429 0.323242,-0.357421 0.200195,-0.841797 0.508789,-1.673829 0.941406,-2.544922 0.07715,-0.153321 0.06934,-0.335938 -0.02051,-0.482422 l -1.311523,-2.154297 c -0.269531,-0.442383 -0.213867,-1.018555 0.135742,-1.402344 l 1.601563,-1.751953 c 0.351562,-0.384766 0.923828,-0.493164 1.389648,-0.260742 l 2.261719,1.11914 c 0.15332,0.07324 0.333984,0.06836 0.481445,-0.02148 0.777344,-0.472656 1.580078,-0.850586 2.457032,-1.15332 0.158203,-0.05469 0.279296,-0.186524 0.320312,-0.348633 l 0.625,-2.460938 c 0.125,-0.500976 0.572266,-0.865234 1.088867,-0.886718 l 2.369141,-0.101563 c 0.503906,-0.04785 0.995117,0.305664 1.161133,0.794922 l 0.8125,2.389648 c 0.04883,0.143555 0.160156,0.256836 0.302734,0.308594 l 2.657227,0.96582 c 0.142578,0.05273 0.299804,0.03711 0.429687,-0.04199 l 2.166016,-1.310547 c 0.44335,-0.267578 1.01953,-0.209961 1.40234,0.141602 l 1.7461,1.608398 c 0.37988,0.34961 0.48633,0.917969 0.25781,1.381836 l -1.11523,2.265625 c -0.0762,0.154297 -0.0674,0.335938 0.0225,0.482422 0.49751,0.811508 0.85904,1.61776 1.14551,2.466797 0.0547,0.161133 0.1875,0.283203 0.35351,0.324219 l 2.45996,0.611328 c 0.50195,0.124023 0.86817,0.572266 0.88965,1.088867 l 0.10059,2.371094 c 0.0225,0.515625 -0.30274,0.992187 -0.79004,1.160156 l -2.44532,0.842774 c -0.14062,0.06348 -0.24414,0.189453 -0.27929,0.339843 -0.0518,0.216797 -0.11231,0.438477 -0.17676,0.649414 -0.19727,0.638672 -0.44922,1.274415 -0.74707,1.890625 -0.0732,0.152344 -0.0654,0.332032 0.0225,0.476563 l 1.30762,2.160156 c 0.26758,0.442383 0.21093,1.017578 -0.1377,1.399414 l -1.60644,1.758789 c -0.35059,0.38379 -0.91895,0.491211 -1.38477,0.262696 l -2.27539,-1.120117 c -0.152344,-0.07715 -0.334961,-0.06836 -0.481446,0.02148 -0.77832,0.476563 -1.604492,0.860352 -2.455078,1.141602 -0.163086,0.05371 -0.287109,0.1875 -0.328125,0.354492 l -0.610351,2.459961 c -0.125,0.501953 -0.572266,0.868164 -1.088868,0.889648 l -2.371093,0.100586 c -0.481446,0.03516 -0.992188,-0.302734 -1.160157,-0.790039 L 90.67879,72.326174 c -0.05469,-0.161133 -0.1875,-0.282227 -0.352539,-0.323242 -0.892578,-0.220703 -1.748047,-0.533203 -2.543946,-0.931641 -0.153793,-0.0769 -0.337097,-0.06877 -0.481445,0.01856 l -2.172851,1.304687 c -0.44336,0.267578 -1.019532,0.208008 -1.398438,-0.141601 l -1.742266,-1.60157 C 81.606445,70.301758 81.5,69.732422 81.728516,69.268555 l 1.114257,-2.264649 c 0.07617,-0.15332 0.06738,-0.334961 -0.02148,-0.481445 -0.470703,-0.771484 -0.860352,-1.600586 -1.157227,-2.464844 -0.05469,-0.160156 -0.1875,-0.282226 -0.35157,-0.323242 l -2.456047,-0.614258 c -0.5,-0.125 -0.865234,-0.571289 -0.887695,-1.085937 l -0.106445,-2.369141 c -0.02246,-0.516601 0.302734,-0.994141 0.791992,-1.162109 z"
fill="#384b7d"
id="path31"
style="fill:#a30262;fill-opacity:1" />
<path
d="m 84.174805,80.651367 c 0.276367,0 0.5,-0.223633 0.5,-0.5 0,-0.276367 -0.223633,-0.5 -0.5,-0.5 h -27.19336 c -0.276367,0 -0.5,0.223633 -0.5,0.5 0,0.276367 0.223633,0.5 0.5,0.5 z"
fill="#384b7d"
id="path32"
style="fill:#a30262;fill-opacity:1" />
<path
d="M 92.195312,83.793945 H 48.960937 c -0.276367,0 -0.5,0.223633 -0.5,0.5 0,0.276367 0.223633,0.5 0.5,0.5 h 43.234375 c 0.276368,0 0.5,-0.223633 0.5,-0.5 0,-0.276367 -0.223632,-0.5 -0.5,-0.5 z"
fill="#384b7d"
id="path33"
style="fill:#a30262;fill-opacity:1" />
<path
d="m 40.15625,118.07617 h 0.321777 c 0.276368,0 0.5,-0.22363 0.5,-0.5 0,-0.27637 -0.223632,-0.5 -0.5,-0.5 H 40.15625 c -0.276367,0 -0.5,0.22363 -0.5,0.5 0,0.27637 0.223633,0.5 0.5,0.5 z"
fill="#384b7d"
id="path34"
style="fill:#a30262;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 28 KiB

View file

@ -0,0 +1,312 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="Layer_1"
enable-background="new 0 0 135 135"
height="512"
viewBox="0 0 135 135"
width="512"
version="1.1"
sodipodi:docname="points-evolution.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs41" />
<sodipodi:namedview
id="namedview41"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.60628882"
inkscape:cx="-825.51415"
inkscape:cy="199.57485"
inkscape:window-width="2752"
inkscape:window-height="1124"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="Layer_1" />
<path
d="m 63.982365,78.141428 h 20.120573 c 0.454838,0 0.822887,-0.192368 0.822887,-0.430097 0,-0.237729 -0.368049,-0.430097 -0.822887,-0.430097 H 63.982365 c -0.454838,0 -0.822888,0.192368 -0.822888,0.430097 0,0.237729 0.36805,0.430097 0.822888,0.430097 z"
id="path25-0"
style="fill:#384b7d;stroke:#b55690;stroke-width:0.876373;stroke-dasharray:none;stroke-opacity:1" />
<path
d="M 60.736968,71.293759 H 87.88278 c 0.613647,0 1.110204,-0.172675 1.110204,-0.386069 0,-0.213394 -0.496557,-0.386069 -1.110204,-0.386069 H 60.736968 c -0.613647,0 -1.110204,0.172675 -1.110204,0.386069 0,0.213394 0.496557,0.386069 1.110204,0.386069 z"
id="path25-0-6"
style="fill:#384b7d;stroke:#d162a4;stroke-width:0.964428;stroke-dasharray:none;stroke-opacity:1" />
<path
d="m 63.818868,64.574786 h 23.770929 c 0.537358,0 0.97218,-0.181458 0.97218,-0.405706 0,-0.224248 -0.434823,-0.405706 -0.97218,-0.405706 H 63.818868 c -0.537355,0 -0.97218,0.181458 -0.97218,0.405706 0,0.224248 0.434825,0.405706 0.97218,0.405706 z"
id="path25-0-6-2"
style="fill:#ff9a56;fill-opacity:1;stroke:#ff9a56;stroke-width:0.925155;stroke-dasharray:none;stroke-opacity:1" />
<path
d="m 70.793785,52.231844 h 8.10242 c 0.18316,0 0.331371,-0.247332 0.331371,-0.552986 0,-0.305654 -0.148211,-0.552986 -0.331371,-0.552986 h -8.10242 c -0.18316,0 -0.331372,0.247332 -0.331372,0.552986 0,0.305654 0.148212,0.552986 0.331372,0.552986 z"
id="path25-0-6-6-1"
style="fill:#d52d00;stroke:#d52d00;stroke-width:0.630594;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1" />
<path
d="m 52.523547,61.709524 c 0.105511,-0.151675 0.07335,-0.363555 -0.07191,-0.473726 L 40.517654,52.184743 c -0.145261,-0.11017 -0.348182,-0.07658 -0.453694,0.07509 -0.105512,0.151673 -0.07335,0.363555 0.07191,0.473725 l 11.93398,9.051054 c 0.14526,0.110171 0.348182,0.07658 0.453694,-0.07509 z"
id="path27-6"
style="fill:#a30262;stroke:#a30262;stroke-width:0.195591;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1" />
<path
d="m 47.825783,127.16382 c 0,1.77688 1.434421,3.21118 3.211181,3.21118 1.77689,0 3.211182,-1.4343 3.211182,-3.21118 0,-11.98836 15.477982,-23.59152 21.450729,-27.05959 1.006104,-0.577916 24.661905,-14.493032 24.661905,-32.604146 0,-17.575909 -22.199945,-31.14843 -24.512033,-32.518562 -0.06428,-0.04286 -0.128441,-0.06416 -0.149872,-0.08559 -0.02143,-0.02143 -0.06428,-0.04286 -0.08559,-0.04286 -1.434418,-0.877663 -21.365143,-13.05875 -21.365143,-27.0167255 0,-1.7768898 -1.434288,-3.2111812 -3.211178,-3.2111812 -1.77676,0 -3.211181,1.4342909 -3.211181,3.2111812 0,17.5544815 22.199947,31.1484315 24.512035,32.5185665 0.04286,0.02143 0.107018,0.06415 0.149872,0.08559 0,0 0.04285,0.02143 0.08559,0.04286 1.434418,0.877663 21.365143,13.037453 21.365143,27.016724 0,11.988357 -15.477981,23.591522 -21.450729,27.059585 -1.006111,0.577925 -24.661911,14.493038 -24.661911,32.604148 z"
fill="#ff4b3a"
id="path1"
style="stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none;fill:#7eb2de;fill-opacity:1" />
<path
d="m 96.1371,66.583382 c 0.007,11.99543 -15.471016,23.600296 -21.445244,27.06726 -1.012359,0.573822 -24.66756,14.496368 -24.667984,32.603178 0.0018,1.77787 1.432248,3.2088 3.209908,3.20683 0.01557,0.006 0.03752,-0.003 0.04854,-0.007 -0.574543,0.57307 -1.372974,0.91668 -2.248566,0.91848 -1.77766,0.002 -3.208084,-1.42895 -3.209911,-3.20683 C 47.824268,109.05829 71.479469,95.13575 72.491829,94.561928 78.466057,91.094963 93.944016,79.490089 93.937073,67.494667 93.93705,53.524864 74.014511,41.363194 72.566528,40.481033 c -0.03564,-0.02394 -0.08235,-0.04329 -0.08235,-0.04329 -0.03571,-0.02391 -0.102486,-0.06075 -0.149201,-0.0801 -2.30973,-1.375988 -24.511585,-14.964626 -24.51326,-32.5164948 0.0027,-1.7668386 1.411621,-3.1880054 3.169262,-3.2071695 -0.596565,0.5821915 -0.969291,1.393538 -0.969234,2.2958879 0.0017,17.5518684 22.203537,31.1405064 24.51326,32.5164944 0.04671,0.01935 0.113495,0.05619 0.1492,0.0801 0,0 0.04672,0.01935 0.08235,0.04329 1.447983,0.88216 21.370521,13.043831 21.370544,27.01363 z"
fill="#fc6868"
id="path2"
style="stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none;fill:#c6ddf0;fill-opacity:1" />
<path
d="m 100.35671,127.16382 c 0,1.77688 -1.434415,3.21118 -3.211172,3.21118 -1.776893,0 -3.211181,-1.4343 -3.211181,-3.21118 0,-11.98836 -15.477982,-23.59152 -21.45073,-27.05959 -1.006111,-0.577916 -24.661911,-14.493032 -24.661911,-32.604146 0,-17.575909 22.199951,-31.14843 24.512039,-32.518562 0.06429,-0.04286 0.128441,-0.06416 0.149872,-0.08559 0.02142,-0.02143 0.06429,-0.04286 0.08558,-0.04286 1.434426,-0.877663 21.365143,-13.05875 21.365143,-27.0167255 0,-1.7768898 1.434296,-3.2111812 3.211182,-3.2111812 1.776764,0 3.211178,1.4342909 3.211178,3.2111812 0,17.5544815 -22.199948,31.1484315 -24.512036,32.5185665 -0.04285,0.02143 -0.10701,0.06415 -0.149864,0.08559 0,0 -0.04286,0.02143 -0.08559,0.04286 -1.434425,0.877663 -21.365143,13.037453 -21.365143,27.016724 0,11.988357 15.477982,23.591522 21.45073,27.059585 1.006103,0.577925 24.661903,14.493038 24.661903,32.604148 z"
fill="#00ffc1"
id="path3"
style="stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none;fill:#415e9a;fill-opacity:1" />
<path
d="m 98.487289,130.08832 c -0.404785,0.17906 -0.857231,0.28604 -1.345443,0.28604 -1.774048,0 -3.202835,-1.42902 -3.202835,-3.21498 0,-11.9896 -15.478409,-23.58678 -21.455407,-27.05116 -1.000175,-0.583707 -24.65831,-14.502293 -24.65831,-32.611974 0,-17.574249 22.193665,-31.147503 24.503525,-32.516628 0.07143,-0.03547 0.130951,-0.0593 0.154785,-0.08314 0.02377,-0.02383 0.05952,-0.04767 0.08336,-0.04767 C 74.0076,33.97966 93.939012,21.79937 93.939012,7.8331108 c 0,-1.7743425 1.428787,-3.2033505 3.202835,-3.2033505 0.488212,0 0.940658,0.1075535 1.345443,0.2860341 -1.107299,0.4999785 -1.869323,1.6191163 -1.869323,2.9173164 0,13.9662592 -19.931412,26.1465492 -21.372048,27.0156972 -0.02384,0 -0.05959,0.02384 -0.08336,0.04767 -0.02383,0.02384 -0.08335,0.04767 -0.154785,0.08314 -2.30986,1.369125 -24.503528,14.942379 -24.503528,32.516628 0,18.109681 23.658138,32.028267 24.658313,32.611974 5.976998,3.46438 21.455407,15.06156 21.455407,27.05116 0,1.30983 0.762024,2.41733 1.869323,2.92894 z"
fill="#ffffff"
id="path4"
style="opacity:0.5;stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none;fill:#f0f3f9;fill-opacity:1" />
<g
id="g5"
style="stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none">
<path
d="m 79.498596,47.448601 2.382271,2.382271 -3.264397,3.264347 -2.382271,-2.382271 c -0.901428,-0.901428 -0.90142,-2.36293 1.6e-5,-3.264355 l 7e-6,-4e-6 c 0.901436,-0.901424 2.362946,-0.901416 3.264374,1.2e-5 z"
fill="#76819f"
id="path5"
style="stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none" />
</g>
<g
id="g6"
style="stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none">
<path
d="m 108.349,77.749 h 3.949 v 7.578 h -3.949 z"
fill="#76819f"
transform="matrix(0.707,-0.707,0.707,0.707,-25.343,101.892)"
id="path6"
style="stroke:#384b7d;stroke-opacity:1;stroke-width:0.73654677;stroke-dasharray:none" />
</g>
<g
id="g7"
style="stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none">
<path
d="m 108.35,77.747 h 3.949 v 7.575 h -3.949 z"
fill="#76819f"
transform="matrix(0.707,-0.707,0.707,0.707,-25.341,101.892)"
id="path7"
style="stroke:#384b7d;stroke-opacity:1;stroke-width:0.73654677;stroke-dasharray:none" />
</g>
<g
opacity="0.1"
id="g8"
style="stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none">
<path
d="m 109.04192,77.460571 2.61435,2.614357 c -0.41972,0.501869 -0.86231,0.990067 -1.33227,1.460022 -0.46994,0.469925 -0.95814,0.912506 -1.46005,1.332253 l -2.61435,-2.61435 z"
id="path8"
style="stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none" />
</g>
<g
id="g9"
style="stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none">
<path
d="m 119.27961,83.055038 10.64172,10.641716 c 2.05366,2.053673 2.05365,5.383324 -3e-5,7.436986 l -0.002,0.002 c -2.05369,2.05367 -5.38336,2.05365 -7.43703,-2e-5 L 111.84059,90.493942 c -2.05367,-2.053673 -2.05366,-5.383323 3e-5,-7.436981 l 0.002,-0.0019 c 2.05369,-2.053666 5.38337,-2.05365 7.43704,2.2e-5 z"
fill="#76819f"
id="path9"
style="stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none" />
</g>
<g
opacity="0.2"
id="g10"
style="stroke:#384b7d;stroke-width:0.736436;stroke-dasharray:none;stroke-opacity:1"
sodipodi:insensitive="true">
<path
d="m 121.87531,85.648857 c -2.0547,-2.054626 -5.39057,-2.054634 -7.43318,-2.3e-5 h -0.0121 c -2.05464,2.054688 -2.05465,5.390526 -2e-5,7.433129 l -2.58644,-2.586503 c -2.0547,-2.054702 -2.05468,-5.390472 3e-5,-7.433059 v -0.01209 c 2.05464,-2.054687 5.37841,-2.05468 7.43311,2.3e-5 z"
fill="#ffffff"
id="path10"
style="stroke:#384b7d;stroke-width:0.736436;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
opacity="0.1"
id="g11"
style="display:inline;stroke:#384b7d;stroke-width:0.736436;stroke-dasharray:none;stroke-opacity:1">
<path
d="m 119.85385,98.493729 c 2.0547,2.054631 5.39057,2.054631 7.43318,2.3e-5 h 0.0121 c 2.05465,-2.054688 2.05466,-5.390526 3e-5,-7.433129 l 2.58643,2.586502 c 2.0547,2.054703 2.05469,5.390473 -3e-5,7.433055 v 0.0121 c -2.05464,2.05468 -5.3784,2.05467 -7.43311,-4e-5 z"
id="path11"
style="stroke:#384b7d;stroke-width:0.736436;stroke-dasharray:none;stroke-opacity:1" />
</g>
<path
d="m 65.180679,57.796794 h 19.93803 c 0.450711,0 0.815422,-0.192959 0.815422,-0.431419 0,-0.23846 -0.364711,-0.431419 -0.815422,-0.431419 h -19.93803 c -0.450711,0 -0.815422,0.192959 -0.815422,0.431419 0,0.23846 0.364711,0.431419 0.815422,0.431419 z"
id="path25-0-6-6"
style="display:inline;fill:#ef7627;fill-opacity:1;stroke:#ef7627;stroke-width:0.873728;stroke-dasharray:none;stroke-opacity:1" />
<g
id="g12"
style="display:inline;stroke:#384b7d;stroke-width:0.736436;stroke-dasharray:none;stroke-opacity:1">
<path
d="m 78.253593,49.464531 c -8.550346,8.55022 -8.550377,22.402199 -9.9e-5,30.952476 8.545708,8.545708 22.397756,8.545754 30.948096,-0.0045 8.5458,-8.545685 8.54586,-22.397632 1.5e-4,-30.943344 -8.55027,-8.550274 -22.40234,-8.55035 -30.948147,-0.0047 z m 28.091817,28.091827 c -6.971669,6.971573 -18.268674,6.971535 -25.235715,0.0045 -6.971634,-6.971641 -6.971588,-18.268562 7.7e-5,-25.240131 6.967132,-6.967026 18.264129,-6.966991 25.235768,0.0047 6.96704,6.967045 6.967,18.26397 -1.3e-4,25.230995 z"
fill="#76819f"
id="path12"
style="stroke:#384b7d;stroke-width:0.736436;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
opacity="0.2"
id="g13"
style="display:inline;stroke:#384b7d;stroke-width:0.736436;stroke-dasharray:none;stroke-opacity:1">
<path
d="m 94.838715,43.081558 c -5.219643,0.264591 -10.37082,2.395287 -14.363106,6.38752 -8.545807,8.545681 -8.545868,22.397629 -1.3e-4,30.943367 3.992256,3.992264 9.14341,6.122993 14.36303,6.387642 -5.967888,0.301102 -12.031571,-1.829628 -16.585015,-6.38308 -8.550277,-8.550277 -8.550247,-22.402256 9.9e-5,-30.952476 4.553513,-4.553444 10.617211,-6.684139 16.585122,-6.382973 z"
fill="#ffffff"
id="path13"
style="stroke:#384b7d;stroke-width:0.736436;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
id="g16"
style="stroke:#a30262;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none;opacity:0.551">
<path
d="m 10.246936,25.26005 6.471474,5.206703 -2.672073,3.305243 -6.4714755,-5.206704 z"
fill="#f3fcff"
id="path15"
style="stroke:#a30262;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none" />
</g>
<g
id="g17"
style="stroke:#730145;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none;opacity:0.551">
<path
d="m 11.003415,21.768724 -3e-6,-2e-6 C 10.312057,21.212486 9.2994995,21.320799 8.7418022,22.010647 L 3.81814,28.101007 c -0.5576975,0.68985 -0.4493468,1.700001 0.2420084,2.256239 l 2.4e-6,2e-6 c 0.6913548,0.556238 1.7039123,0.447926 2.26161,-0.241922 l 4.9236622,-6.090361 c 0.557698,-0.68985 0.449347,-1.700002 -0.242008,-2.256241 z"
fill="#f3fcff"
id="path16"
style="stroke:#730145;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none" />
</g>
<g
id="g18"
style="stroke:#730145;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none;opacity:0.551">
<path
d="m 18.728756,27.980041 23.259586,18.71378 c 0.857357,0.689796 0.991722,1.942493 0.300118,2.797981 l -4.18824,5.180676 c -0.691605,0.855488 -1.947285,0.989807 -2.804638,0.300011 L 12.035993,36.258709 Z"
fill="#f3fcff"
id="path17"
style="stroke:#730145;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none" />
</g>
<path
d="m 40.113026,52.189018 -2.009449,2.4856 c -0.688568,0.85173 -1.947525,0.98645 -2.809838,0.292667 L 12.037213,36.255966 14.04683,33.770157 37.303356,52.481472 c 0.862313,0.693783 2.121098,0.559277 2.80967,-0.292454 z"
fill="#d4f4ff"
id="path18"
style="stroke:#730145;stroke-width:0.736436;stroke-dasharray:none;stroke-opacity:1;fill:#e9cede;fill-opacity:1;opacity:0.551" />
<path
d="m 20.841501,43.343285 14.454066,11.629192 c 0.857372,0.689808 2.112999,0.555546 2.804695,-0.300049 l 4.188156,-5.180576 c 0.691696,-0.855595 0.557285,-2.108231 -0.300087,-2.798039 L 27.534264,35.064621 Z"
fill="#00c5ea"
id="path19"
style="stroke:#730145;stroke-width:0.736436;stroke-dasharray:none;stroke-opacity:1;fill:#b55690;fill-opacity:1;opacity:0.551" />
<path
d="m 40.113026,52.189018 -2.009449,2.4856 c -0.688568,0.85173 -1.947525,0.98645 -2.809838,0.292667 l -14.450422,-11.626259 2.009619,-2.485813 14.45042,11.626259 c 0.862313,0.693783 2.121098,0.559277 2.80967,-0.292454 z"
fill="#52eef8"
id="path20"
style="stroke:#730145;stroke-width:0.736436;stroke-dasharray:none;stroke-opacity:1;fill:#d162a4;fill-opacity:1;opacity:0.551" />
<g
id="g22"
style="stroke:#730145;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none;opacity:0.90878378">
<path
d="m 42.531685,49.203697 c 1.596744,1.28468 1.846756,3.6152 0.558689,5.208481 -1.288067,1.593285 -3.624138,1.843136 -5.220882,0.558456 z"
fill="#f3fcff"
id="path21"
style="stroke:#730145;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none" />
</g>
<path
d="m 67.980301,84.841797 h 12.225586 c 0.276367,0 0.5,-0.223633 0.5,-0.5 0,-0.276367 -0.223633,-0.5 -0.5,-0.5 H 67.980301 c -0.276367,0 -0.5,0.223633 -0.5,0.5 0,0.276367 0.223633,0.5 0.5,0.5 z"
id="path25"
style="fill:#384b7d;stroke:#a30262;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none" />
<path
d="m 60.120926,9.1171875 h 27.944336 c 0.276367,0 0.5,-0.2236328 0.5,-0.5 0,-0.2763672 -0.223633,-0.5 -0.5,-0.5 H 60.120926 c -0.276367,0 -0.5,0.2236328 -0.5,0.5 0,0.2763672 0.223633,0.5 0.5,0.5 z"
id="path26"
style="fill:#384b7d;stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none" />
<path
d="m 85.946121,15.353516 c 0,-0.276368 -0.223633,-0.5 -0.5,-0.5 H 62.741043 c -0.276367,0 -0.5,0.223632 -0.5,0.5 0,0.276367 0.223633,0.5 0.5,0.5 h 22.705078 c 0.276367,0 0.5,-0.223633 0.5,-0.5 z"
id="path27"
style="fill:#7eb2de;stroke:#7eb2de;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none;fill-opacity:1" />
<path
d="m 67.980301,21.59082 c -0.276367,0 -0.5,0.223633 -0.5,0.5 0,0.276367 0.223633,0.5 0.5,0.5 h 12.225586 c 0.276367,0 0.5,-0.223633 0.5,-0.5 0,-0.276367 -0.223633,-0.5 -0.5,-0.5 z"
id="path28"
style="fill:#384b7d;stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none" />
<path
d="m 28.55098,44.50898 c -0.06448,0.0789 -0.08092,0.20959 -0.03677,0.292195 0.04414,0.08261 0.132039,0.08559 0.196507,0.0068 l 2.852095,-3.490326 c 0.06448,-0.07891 0.08092,-0.20959 0.03677,-0.292194 -0.04414,-0.08261 -0.132038,-0.0856 -0.196507,-0.0068 z"
id="path28-7"
style="fill:#d66dae;fill-opacity:1;stroke:#8e2867;stroke-width:0.250098;stroke-dasharray:none;stroke-opacity:1" />
<path
d="m 29.804046,45.547393 c -0.06448,0.0789 -0.08092,0.20959 -0.03677,0.292195 0.04414,0.08261 0.132039,0.08559 0.196507,0.0068 l 2.852095,-3.490326 c 0.06448,-0.07891 0.08092,-0.20959 0.03677,-0.292194 -0.04414,-0.08261 -0.132038,-0.0856 -0.196507,-0.0068 z"
id="path28-7-9"
style="fill:#d66dae;fill-opacity:1;stroke:#8e2867;stroke-width:0.250098;stroke-dasharray:none;stroke-opacity:1" />
<path
d="m 31.119637,46.623895 c -0.06448,0.0789 -0.08092,0.20959 -0.03677,0.292195 0.04414,0.08261 0.132039,0.08559 0.196507,0.0068 l 2.852095,-3.490326 c 0.06448,-0.07891 0.08092,-0.20959 0.03677,-0.292194 -0.04414,-0.08261 -0.132038,-0.0856 -0.196507,-0.0068 z"
id="path28-7-9-2"
style="fill:#d66dae;fill-opacity:1;stroke:#8e2867;stroke-width:0.250098;stroke-dasharray:none;stroke-opacity:1" />
<path
d="m 32.66895,47.825222 c -0.06448,0.0789 -0.08092,0.20959 -0.03677,0.292195 0.04414,0.08261 0.132039,0.08559 0.196507,0.0068 l 2.852095,-3.490326 c 0.06448,-0.07891 0.08092,-0.20959 0.03677,-0.292194 -0.04414,-0.08261 -0.132038,-0.0856 -0.196507,-0.0068 z"
id="path28-7-0"
style="fill:#d66dae;fill-opacity:1;stroke:#8e2867;stroke-width:0.250098;stroke-dasharray:none;stroke-opacity:1" />
<path
d="m 33.922016,48.863635 c -0.06448,0.0789 -0.08092,0.20959 -0.03677,0.292195 0.04414,0.08261 0.132039,0.08559 0.196507,0.0068 l 2.852095,-3.490326 c 0.06448,-0.07891 0.08092,-0.20959 0.03677,-0.292194 -0.04414,-0.08261 -0.132038,-0.0856 -0.196507,-0.0068 z"
id="path28-7-9-23"
style="fill:#d66dae;fill-opacity:1;stroke:#8e2867;stroke-width:0.250098;stroke-dasharray:none;stroke-opacity:1" />
<path
d="m 35.237607,49.940137 c -0.06448,0.0789 -0.08092,0.20959 -0.03677,0.292195 0.04414,0.08261 0.132039,0.08559 0.196507,0.0068 l 2.852095,-3.490326 c 0.06448,-0.07891 0.08092,-0.20959 0.03677,-0.292194 -0.04414,-0.08261 -0.132038,-0.0856 -0.196507,-0.0068 z"
id="path28-7-9-2-7"
style="fill:#d66dae;fill-opacity:1;stroke:#8e2867;stroke-width:0.250098;stroke-dasharray:none;stroke-opacity:1" />
<path
d="M 88.065262,125.88281 H 60.120926 c -0.276367,0 -0.5,0.22364 -0.5,0.5 0,0.27637 0.223633,0.5 0.5,0.5 h 27.944336 c 0.276367,0 0.5,-0.22363 0.5,-0.5 0,-0.27636 -0.223633,-0.5 -0.5,-0.5 z"
id="path29"
style="fill:#384b7d;stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none" />
<path
d="m 45.682964,128.15257 h -15.03145 c -0.14866,0 -0.268954,0.25848 -0.268954,0.57789 0,0.31942 0.120294,0.57789 0.268954,0.57789 h 15.03145 c 0.148659,0 0.268953,-0.25847 0.268953,-0.57789 0,-0.31941 -0.120294,-0.57789 -0.268953,-0.57789 z"
id="path29-5-2"
style="fill:#000000;fill-opacity:1;stroke:#8c8c8c;stroke-width:0.580663;stroke-dasharray:none;stroke-opacity:1;opacity:1" />
<path
d="m 112.77464,128.05537 h -7.86796 c -0.0778,0 -0.14078,0.289 -0.14078,0.64612 0,0.35713 0.063,0.64612 0.14078,0.64612 h 7.86796 c 0.0778,0 0.14078,-0.28899 0.14078,-0.64612 0,-0.35712 -0.063,-0.64612 -0.14078,-0.64612 z"
id="path29-5-28"
style="fill:#000000;fill-opacity:1;stroke:#8c8c8c;stroke-width:0.444209;stroke-dasharray:none;stroke-opacity:1;opacity:1" />
<path
d="m 20.382102,127.90601 h -7.86796 c -0.0778,0 -0.14078,0.289 -0.14078,0.64612 0,0.35713 0.063,0.64612 0.14078,0.64612 h 7.86796 c 0.0778,0 0.14078,-0.28899 0.14078,-0.64612 0,-0.35712 -0.063,-0.64612 -0.14078,-0.64612 z"
id="path29-5-28-7"
style="fill:#000000;fill-opacity:1;stroke:#8c8c8c;stroke-width:0.444209;stroke-dasharray:none;stroke-opacity:1;opacity:1" />
<path
d="M 130.27554,128.08485 H 117.1819 c -0.12948,0 -0.23427,0.2655 -0.23427,0.59359 0,0.3281 0.10481,0.59359 0.23427,0.59359 h 13.09364 c 0.12947,0 0.23428,-0.26549 0.23428,-0.59359 0,-0.32809 -0.10481,-0.59359 -0.23428,-0.59359 z"
id="path29-5-28-9"
style="fill:#000000;fill-opacity:1;stroke:#8c8c8c;stroke-width:0.549257;stroke-dasharray:none;stroke-opacity:1;opacity:1" />
<path
d="m 62.741043,120.14648 h 22.705078 c 0.276367,0 0.5,-0.22363 0.5,-0.5 0,-0.27636 -0.223633,-0.5 -0.5,-0.5 H 62.741043 c -0.276367,0 -0.5,0.22364 -0.5,0.5 0,0.27637 0.223633,0.5 0.5,0.5 z"
id="path30"
style="fill:#7eb2de;stroke:#7eb2de;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none;fill-opacity:1" />
<path
d="m 67.980301,113.41016 h 12.225586 c 0.276367,0 0.5,-0.22364 0.5,-0.5 0,-0.27637 -0.223633,-0.5 -0.5,-0.5 H 67.980301 c -0.276367,0 -0.5,0.22363 -0.5,0.5 0,0.27636 0.223633,0.5 0.5,0.5 z"
id="path31"
style="fill:#384b7d;stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none" />
<path
d="m 124.6678,96.561523 -0.0732,0.07324 c -0.19531,0.195312 -0.19531,0.511718 0,0.707031 0.0977,0.09766 0.22558,0.146484 0.35351,0.146484 0.12793,0 0.25586,-0.04883 0.35352,-0.146484 l 0.0732,-0.07324 c 0.19531,-0.195313 0.19531,-0.511719 0,-0.707032 -0.19531,-0.195312 -0.51172,-0.195312 -0.70703,10e-7 z"
id="path34"
style="fill:#384b7d;stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none" />
<g
id="g39"
style="opacity:0.3;stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none">
<path
d="m 102.67159,79.755615 c -0.13001,0.08008 -0.26001,0.159912 -0.39002,0.23999 -2.659973,1.570069 -5.70996,2.399903 -8.809997,2.399903 -1.179993,0 -2.349976,-0.109864 -3.5,-0.349854 L 84.261612,50.355469 c 2.75,-1.729981 5.919983,-2.639893 9.179993,-2.639893 0.609985,0 1.22998,0.03003 1.849975,0.100098 0.150025,0.01001 0.299988,0.03003 0.450012,0.05005 z"
fill="#d4f4ff"
id="path39"
style="stroke:#384b7d;stroke-opacity:1;stroke-width:0.73643555;stroke-dasharray:none" />
</g>
<path
d="m 106.95604,76.490266 c -0.14997,0.180176 -0.31,0.350098 -0.46996,0.52002 -0.13002,0.170166 -0.26002,0.290039 -0.39003,0.420166 -0.30999,0.309814 -0.64001,0.619873 -0.96997,0.899902 -0.14001,0.130127 -0.29004,0.23999 -0.42999,0.360107 -0.52002,0.419922 -1.08002,0.819825 -1.66003,1.179932 -0.13001,0.08008 -0.26001,0.159912 -0.39002,0.23999 -2.659974,1.570069 -5.709962,2.399903 -8.809992,2.399903 -1.18,0 -2.34998,-0.109864 -3.5,-0.349854 -0.03,-0.01001 -0.06,-0.01001 -0.09,-0.02002 -3.28003,-0.679932 -6.28003,-2.310059 -8.68,-4.709961 -6.76,-6.76001 -6.76,-17.77002 0,-24.53003 0.90998,-0.910156 1.90998,-1.709961 2.97999,-2.379882 0.03,-0.02002 0.05,-0.03027 0.08,-0.05029 2.75,-1.729981 5.91998,-2.639893 9.17999,-2.639893 0.60998,0 1.22998,0.03003 1.84997,0.100098 0.15003,0.01001 0.29999,0.03003 0.45002,0.05005 0.66998,0.07983 1.34002,0.209961 2.01001,0.379883 0.17999,0.05005 0.35998,0.09009 0.53997,0.149903 0.59003,0.170166 1.179998,0.380127 1.780032,0.620117 0.20996,0.08984 0.41998,0.179931 0.63,0.270019 1.87,0.859864 3.56,2.03003 5.02997,3.51001 6.48999,6.479981 6.82001,16.719971 0.85999,23.579834 z"
fill="#ffffff"
id="path38"
style="opacity:0.5;stroke:#384b7d;stroke-width:0.736436;stroke-dasharray:none;stroke-opacity:1" />
<g
id="g40"
style="opacity:0.3;stroke:#384b7d;stroke-width:0.736436;stroke-dasharray:none;stroke-opacity:1"
transform="translate(0.36447318,0.11477774)">
<path
d="m 106.59157,76.375488 c -0.14997,0.180176 -0.31,0.350098 -0.46997,0.52002 -0.13001,0.170166 -0.26001,0.290039 -0.39002,0.420166 -0.30999,0.309814 -0.64001,0.619873 -0.96997,0.899902 L 98.29158,48.395508 c 0.590027,0.170166 1.179993,0.380127 1.78003,0.620117 0.20996,0.08984 0.41998,0.179932 0.63,0.270019 z"
fill="#d4f4ff"
id="path40"
style="stroke:#384b7d;stroke-width:0.736436;stroke-dasharray:none;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 25 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

View file

@ -1,5 +1,6 @@
.blog-content { .blog-content {
max-width: 900px; max-width: 900px;
min-width: 100px;
.highlight { .highlight {
pre { pre {
@ -7,4 +8,29 @@
border-radius: 8px; border-radius: 8px;
} }
} }
h2 {
margin-top: 3rem;
margin-bottom: 1rem;
color: $primary;
}
h3 {
margin-top: 2rem;
color: $danger;
font-size: inherit;
font-weight: 600;
}
h4 {
font-size: inherit;
font-weight: bold;
margin-top: 2rem;
}
div.footnotes {
margin-top: 5rem;
filter: opacity(60%);
}
} }

View file

@ -1,11 +1,19 @@
.ecosystem img.raster { .ecosystem {
margin-left: auto; & img.raster {
margin-right: auto; margin-left: auto;
width: 40%; margin-right: auto;
} width: 40%;
}
& img.svg {
margin-left: auto;
margin-right: auto;
width: 60%;
}
& .card {
height: 100%;
}
.ecosystem img.svg {
margin-left: auto;
margin-right: auto;
width: 60%;
} }

View file

@ -7,6 +7,12 @@
// } // }
// } // }
} }
@media (max-width: 400px) {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.hero-title { .hero-title {
strong { strong {
color: $danger; color: $danger;

View file

@ -4,4 +4,13 @@
flex-direction: row-reverse; flex-direction: row-reverse;
} }
} }
img {
margin-left: auto;
margin-right: auto;
@media (max-width: 900px) {
margin-bottom: 3rem;
}
}
} }

View file

@ -0,0 +1,21 @@
@use 'sass:color';
$blockquote-y-padding: 0.7rem;
blockquote {
border-left-color: desaturate($primary, 20%);
border-left-width: 0.4rem;
border-left-style: solid;
padding-left: 0.5rem;
padding-top: $blockquote-y-padding;
padding-bottom: $blockquote-y-padding;
>:first-child {
margin-top: 0;
}
>:last-child {
margin-bottom: 0;
}
}

View file

@ -0,0 +1,3 @@
.btn-primary.text-light {
font-weight: 600;
}

View file

@ -0,0 +1,12 @@
$code-colour: darken($light, 5%);
pre {
background-color: $code-colour;
padding: 0.8rem;
border-radius: 0.5rem;
}
:not(pre)>code {
background-color: $code-colour;
font-size: 0.85em;
padding: 0.2em;
border-radius: 0.3em;
}

View file

@ -0,0 +1,3 @@
a.svglogo {
/* filter: invert(65%) sepia(7%) saturate(4368%) hue-rotate(284deg) brightness(82%) contrast(101%); */
}

View file

@ -0,0 +1,10 @@
html {
/* The default body text size of 16px is slightly too small. Make it 18px
* (relatively, of course, so that people can change their browser settings).
*
* Doing it this way ensures that the entire type scale aligns with the body
* text size rather than being detached from it (and possibly having
* too-small headers and similar problems).
*/
font-size: 112.5%;
}

View file

@ -3,8 +3,12 @@
@import "fonts"; @import "fonts";
@import "utilities"; @import "utilities";
@import "type";
@import "blockquote";
@import "code";
@import "header"; @import "header";
@import "footer"; @import "footer";
@import "buttons";
@import "../sections/hero"; @import "../sections/hero";
@import "../sections/brands"; @import "../sections/brands";

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 B

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

View file

@ -21,8 +21,8 @@
{{ end }} {{ end }}
</div> </div>
<div class="card-body"> <div class="card-body">
<h5 class="card-title fw-semibold">{{ .Title }}</h5> <h5 class="card-title fw-semibold">{{ .Title | safeHTML }}</h5>
<p class="card-text text-black-61">{{ .Summary | plainify }}</p> <p class="card-text text-black-61">{{ .Summary }}</p>
</div> </div>
</a> </a>
</div> </div>

View file

@ -3,8 +3,8 @@
<div class="container"> <div class="container">
<div class="row justify-content-center pb-5"> <div class="row justify-content-center pb-5">
<div class="col-12"> <div class="col-12">
{{ with .Title }} {{ with .Title | safeHTML }}
<h2 class="display-1 fw-bold text-center text-primary pb-3">{{ . }}</h2> <h2 class="display-2 fw-bold text-center text-primary pb-3">{{ . }}</h2>
{{ end }} {{ end }}
{{ with .Params.description }} {{ with .Params.description }}
<p class="text-black-61 text-center pb-3">{{ . }}</p> <p class="text-black-61 text-center pb-3">{{ . }}</p>
@ -13,7 +13,7 @@
</div> </div>
<div class="row pb-5"> <div class="row pb-5">
<div class="col-12 d-flex justify-content-center"> <div class="col-12 d-flex justify-content-center">
<div class="blog-content fs-5"> <div class="blog-content">
{{ .Content }} {{ .Content }}
</div> </div>
</div> </div>

View file

@ -0,0 +1,50 @@
{{ define "main" }}
<section class="section blog-single py-5">
<div class="container">
<div class="row justify-content-center pb-5">
<div class="col-12">
{{ with .Title | safeHTML }}
<h2 class="display-2 fw-bold text-center text-primary pb-3">{{ . }}</h2>
{{ end }}
{{ with .Params.description }}
<p class="text-black-61 text-center pb-3">{{ . }}</p>
{{ end }}
</div>
</div>
<div class="row pb-5">
<div class="col-12 d-flex justify-content-center">
<div class="blog-content">
{{ .Content }}
{{ $data := dict }}
{{ $path := "links.yaml" }}
{{ with .Resources.Get $path }}
{{ with . | transform.Unmarshal }}
{{ $data = . }}
{{ end }}
{{ else }}
{{ errorf "Unable to get quicklinks %q" $path }}
{{ end }}
<div class="flex">
{{ range $data }}
{{ with .url }}
<a href="{{ . }}">
{{- end -}}
<div class="btn btn-primary text-light px-3 mt-2">
{{- .label | markdownify -}}
</div>
{{- with .url -}}
</a>
{{- end -}}
{{ end }}
</div>
</div>
</div>
</div>
<div class="row pb-5">
</div>
</div>
</section>
{{ end }}

View file

@ -4,7 +4,7 @@
{{- end -}} {{- end -}}
{{- $favicon = slice $favicon | resources.Concat "favicon.ico" -}} {{- $favicon = slice $favicon | resources.Concat "favicon.ico" -}}
{{- $logo := resources.Get "images/logo.png" -}} {{- $logo := resources.Get "images/favicon.png" -}}
{{- with .Site.Params.logo -}} {{- with .Site.Params.logo -}}
{{- with resources.Get . -}} {{- with resources.Get . -}}
{{- $logo = . -}} {{- $logo = . -}}

View file

@ -1,3 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-dribbble" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M8 0C3.584 0 0 3.584 0 8s3.584 8 8 8c4.408 0 8-3.584 8-8s-3.592-8-8-8zm5.284 3.688a6.802 6.802 0 0 1 1.545 4.251c-.226-.043-2.482-.503-4.755-.217-.052-.112-.096-.234-.148-.355-.139-.33-.295-.668-.451-.99 2.516-1.023 3.662-2.498 3.81-2.69zM8 1.18c1.735 0 3.323.65 4.53 1.718-.122.174-1.155 1.553-3.584 2.464-1.12-2.056-2.36-3.74-2.551-4A6.95 6.95 0 0 1 8 1.18zm-2.907.642A43.123 43.123 0 0 1 7.627 5.77c-3.193.85-6.013.833-6.317.833a6.865 6.865 0 0 1 3.783-4.78zM1.163 8.01V7.8c.295.01 3.61.053 7.02-.971.199.381.381.772.555 1.162l-.27.078c-3.522 1.137-5.396 4.243-5.553 4.504a6.817 6.817 0 0 1-1.752-4.564zM8 14.837a6.785 6.785 0 0 1-4.19-1.44c.12-.252 1.509-2.924 5.361-4.269.018-.009.026-.009.044-.017a28.246 28.246 0 0 1 1.457 5.18A6.722 6.722 0 0 1 8 14.837zm3.81-1.171c-.07-.417-.435-2.412-1.328-4.868 2.143-.338 4.017.217 4.251.295a6.774 6.774 0 0 1-2.924 4.573z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1 KiB

View file

@ -1,3 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-facebook" viewBox="0 0 16 16">
<path d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z"/>
</svg>

Before

Width:  |  Height:  |  Size: 437 B

View file

@ -1,4 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-geo-alt" viewBox="0 0 16 16">
<path d="M12.166 8.94c-.524 1.062-1.234 2.12-1.96 3.07A31.493 31.493 0 0 1 8 14.58a31.481 31.481 0 0 1-2.206-2.57c-.726-.95-1.436-2.008-1.96-3.07C3.304 7.867 3 6.862 3 6a5 5 0 0 1 10 0c0 .862-.305 1.867-.834 2.94zM8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10z"/>
<path d="M8 8a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/>
</svg>

Before

Width:  |  Height:  |  Size: 484 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 0 92 92"><defs><clipPath id="a"><path d="M0 .113h91.887V92H0Zm0 0"/></clipPath></defs><g clip-path="url(#a)"><path style="stroke:none;fill-rule:nonzero;fill:#f03c2e;fill-opacity:1" d="M90.156 41.965 50.036 1.848a5.918 5.918 0 0 0-8.372 0l-8.328 8.332 10.566 10.566a7.03 7.03 0 0 1 7.23 1.684 7.034 7.034 0 0 1 1.669 7.277l10.187 10.184a7.028 7.028 0 0 1 7.278 1.672 7.04 7.04 0 0 1 0 9.957 7.05 7.05 0 0 1-9.965 0 7.044 7.044 0 0 1-1.528-7.66l-9.5-9.497V59.36a7.04 7.04 0 0 1 1.86 11.29 7.04 7.04 0 0 1-9.957 0 7.04 7.04 0 0 1 0-9.958 7.06 7.06 0 0 1 2.304-1.539V33.926a7.049 7.049 0 0 1-3.82-9.234L29.242 14.272 1.73 41.777a5.925 5.925 0 0 0 0 8.371L41.852 90.27a5.925 5.925 0 0 0 8.37 0l39.934-39.934a5.925 5.925 0 0 0 0-8.371"/></g></svg>

After

Width:  |  Height:  |  Size: 820 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>

After

Width:  |  Height:  |  Size: 814 B

View file

@ -1,3 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-instagram" viewBox="0 0 16 16">
<path d="M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="17.15px" viewBox="0 0 216.4144 232.00976">
<path fill="#2b90d9" d="M211.80734 139.0875c-3.18125 16.36625-28.4925 34.2775-57.5625 37.74875-15.15875 1.80875-30.08375 3.47125-45.99875 2.74125-26.0275-1.1925-46.565-6.2125-46.565-6.2125 0 2.53375.15625 4.94625.46875 7.2025 3.38375 25.68625 25.47 27.225 46.39125 27.9425 21.11625.7225 39.91875-5.20625 39.91875-5.20625l.8675 19.09s-14.77 7.93125-41.08125 9.39c-14.50875.7975-32.52375-.365-53.50625-5.91875C9.23234 213.82 1.40609 165.31125.20859 116.09125c-.365-14.61375-.14-28.39375-.14-39.91875 0-50.33 32.97625-65.0825 32.97625-65.0825C49.67234 3.45375 78.20359.2425 107.86484 0h.72875c29.66125.2425 58.21125 3.45375 74.8375 11.09 0 0 32.975 14.7525 32.975 65.0825 0 0 .41375 37.13375-4.59875 62.915"/>
<path fill="#fff" d="M177.50984 80.077v60.94125h-24.14375v-59.15c0-12.46875-5.24625-18.7975-15.74-18.7975-11.6025 0-17.4175 7.5075-17.4175 22.3525v32.37625H96.20734V85.42325c0-14.845-5.81625-22.3525-17.41875-22.3525-10.49375 0-15.74 6.32875-15.74 18.7975v59.15H38.90484V80.077c0-12.455 3.17125-22.3525 9.54125-29.675 6.56875-7.3225 15.17125-11.07625 25.85-11.07625 12.355 0 21.71125 4.74875 27.8975 14.2475l6.01375 10.08125 6.015-10.08125c6.185-9.49875 15.54125-14.2475 27.8975-14.2475 10.6775 0 19.28 3.75375 25.85 11.07625 6.36875 7.3225 9.54 17.22 9.54 29.675"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -0,0 +1,8 @@
<svg version="1.1" viewBox="0 0 27.9 32" width="16px" height="18px" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<title>Matrix (protocol) logo</title>
<g transform="translate(-.095 .005)" fill="#040404">
<path d="m27.1 31.2v-30.5h-2.19v-0.732h3.04v32h-3.04v-0.732z"/>
<path d="m8.23 10.4v1.54h0.044c0.385-0.564 0.893-1.03 1.49-1.37 0.58-0.323 1.25-0.485 1.99-0.485 0.72 0 1.38 0.14 1.97 0.42 0.595 0.279 1.05 0.771 1.36 1.48 0.338-0.5 0.796-0.941 1.38-1.32 0.58-0.383 1.27-0.574 2.06-0.574 0.602 0 1.16 0.074 1.67 0.22 0.514 0.148 0.954 0.383 1.32 0.707 0.366 0.323 0.653 0.746 0.859 1.27 0.205 0.522 0.308 1.15 0.308 1.89v7.63h-3.13v-6.46c0-0.383-0.015-0.743-0.044-1.08-0.0209-0.307-0.103-0.607-0.242-0.882-0.133-0.251-0.336-0.458-0.584-0.596-0.257-0.146-0.606-0.22-1.05-0.22-0.44 0-0.796 0.085-1.07 0.253-0.272 0.17-0.485 0.39-0.639 0.662-0.159 0.287-0.264 0.602-0.308 0.927-0.052 0.347-0.078 0.697-0.078 1.05v6.35h-3.13v-6.4c0-0.338-7e-3 -0.673-0.021-1-0.0114-0.314-0.0749-0.623-0.188-0.916-0.108-0.277-0.3-0.512-0.55-0.673-0.258-0.168-0.636-0.253-1.14-0.253-0.198 0.0083-0.394 0.042-0.584 0.1-0.258 0.0745-0.498 0.202-0.705 0.374-0.228 0.184-0.422 0.449-0.584 0.794-0.161 0.346-0.242 0.798-0.242 1.36v6.62h-3.13v-11.4z"/>
<path d="m0.936 0.732v30.5h2.19v0.732h-3.04v-32h3.03v0.732z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -10,11 +10,11 @@
{{ end }} {{ end }}
</div> </div>
</div> </div>
<div class="row g-5"> <div class="row g-4 g-md-5">
{{ range .content.cards }} {{ range .content.cards }}
<div class="col-12 col-xl-4"> <div class="col-12 col-xl-4">
<div class="card bg-blue-16 border-0 border-radius-34 p-4"> <div class="card bg-blue-16 border-0 border-radius-34 p-4">
{{ with .image }}{{ partial "utilities/image-fluid.html" . }}{{ end }} {{ partial "utilities/image-fluid.html" (dict "image" .image "alt" .alt) }}
<div class="card-body text-center"> <div class="card-body text-center">
{{ with .title }}<h4 class="card-title text-center text-primary pb-4">{{ . }}</h4>{{ end }} {{ with .title }}<h4 class="card-title text-center text-primary pb-4">{{ . }}</h4>{{ end }}
{{ with .text }}<p class="card-text text-black-61 pb-4">{{ . }}</p>{{ end }} {{ with .text }}<p class="card-text text-black-61 pb-4">{{ . }}</p>{{ end }}

View file

@ -2,7 +2,7 @@
<div class="container"> <div class="container">
<div class="row flex-column flex-xl-row-reverse"> <div class="row flex-column flex-xl-row-reverse">
<div class="col-12 col-xl-6 d-flex flex-column justify-content-center hero-image"> <div class="col-12 col-xl-6 d-flex flex-column justify-content-center hero-image">
{{ partial "utilities/image-fluid" "images/hero-image.png" }} {{ partial "utilities/image-fluid" (dict "image" "images/hero-image.png" "alt" "image of cranes constructing a lix system") }}
</div> </div>
<div class="col-12 col-xl-6 d-flex flex-column justify-content-center"> <div class="col-12 col-xl-6 d-flex flex-column justify-content-center">
{{ with .content.title }} {{ with .content.title }}

View file

@ -3,9 +3,7 @@
{{ range .content }} {{ range .content }}
<div class="row portfolio-feature"> <div class="row portfolio-feature">
<div class="col-12 col-xl-6 d-flex flex-column justify-content-center"> <div class="col-12 col-xl-6 d-flex flex-column justify-content-center">
{{ with .image }} {{ partial "utilities/image-fluid.html" (dict "image" .image "alt" .alt "width" .width) }}
{{ partial "utilities/image-fluid.html" . }}
{{ end }}
</div> </div>
<div class="col-12 col-xl-6 d-flex flex-column justify-content-center"> <div class="col-12 col-xl-6 d-flex flex-column justify-content-center">
{{ with .pretitle }} {{ with .pretitle }}

View file

@ -10,9 +10,7 @@
<div class="row"> <div class="row">
{{ with .content.featured }} {{ with .content.featured }}
<div class="col-12 col-xl-5 d-flex flex-column justify-content-center"> <div class="col-12 col-xl-5 d-flex flex-column justify-content-center">
{{ with .image }} {{ partial "utilities/image-fluid.html" (dict "image" .image) }}
{{ partial "utilities/image-fluid.html" . }}
{{ end }}
</div> </div>
<div class="col-12 col-xl-7 d-flex flex-column justify-content-center"> <div class="col-12 col-xl-7 d-flex flex-column justify-content-center">
<div class="pb-4">{{ partial "utilities/image-third.html" "images/testimonials-left-quote.png" }}</div> <div class="pb-4">{{ partial "utilities/image-third.html" "images/testimonials-left-quote.png" }}</div>

View file

@ -6,17 +6,17 @@
<p class="small text-black-61">{{ .Site.Params.description }}</p> <p class="small text-black-61">{{ .Site.Params.description }}</p>
{{ with .Site.Params.social }} {{ with .Site.Params.social }}
<ul class="d-flex justify-content-center justify-content-xl-start list-unstyled"> <ul class="d-flex justify-content-center justify-content-xl-start list-unstyled">
{{ with .dribbble }}<li class="rounded-circle bg-blue-63 me-2 p-2"><a class="d-flex align-items-center justify-content-center size-16" href="{{ . }}">{{ partial "icons/dribbble.html" }}</a></li>{{ end }} {{ with .mastodon }}<li class="rounded-circle bg-blue-63 me-2 p-2"><a rel="me" class="d-flex align-items-center justify-content-center size-16 svglogo" href="{{ . }}">{{ partial "icons/mastodon.html" }}</a></li>{{ end }}
{{ with .instagram }}<li class="rounded-circle bg-blue-63 me-2 p-2"><a class="d-flex align-items-center justify-content-center size-16" href="{{ . }}">{{ partial "icons/instagram.html" }}</a></li>{{ end }} {{ with .matrix }}<li class="rounded-circle bg-blue-63 me-2 p-2"><a class="d-flex align-items-center justify-content-center size-16 svglogo" href="{{ . }}">{{ partial "icons/matrix.html" }}</a></li>{{ end }}
{{ with .facebook }}<li class="rounded-circle bg-blue-63 me-2 p-2"><a class="d-flex align-items-center justify-content-center size-16" href="{{ . }}">{{ partial "icons/facebook.html" }}</a></li>{{ end }} {{ with .github }}<li class="rounded-circle bg-blue-63 me-2 p-2"><a class="d-flex align-items-center justify-content-center size-16 svglogo" href="{{ . }}">{{ partial "icons/github.html" }}</a></li>{{ end }}
{{ with .twitter }}<li class="rounded-circle bg-blue-63 me-2 p-2"><a class="d-flex align-items-center justify-content-center size-16" href="{{ . }}">{{ partial "icons/twitter.html" }}</a></li>{{ end }} {{ with .git }}<li class="rounded-circle bg-blue-63 me-2 p-2"><a class="d-flex align-items-center justify-content-center size-16 svglogo" href="{{ . }}">{{ partial "icons/git.html" }}</a></li>{{ end }}
</ul> </ul>
{{ end }} {{ end }}
</div> </div>
<div class="col-12 col-xl-2 text-center text-xl-start pb-4"> <div class="col-12 col-xl-2 text-center text-xl-start pb-4">
<h5 class="fs-6 fw-semibold text-primary">About us</h5> <h5 class="fs-6 fw-semibold text-primary">About us</h5>
<ul class="list-unstyled"> <ul class="list-unstyled">
{{ range .Site.Menus.footer }} {{ range .Site.Menus.aboutus }}
<li class=""> <li class="">
<a class="small text-black-61 text-decoration-none" href="{{ .URL }}">{{ .Name }}</a> <a class="small text-black-61 text-decoration-none" href="{{ .URL }}">{{ .Name }}</a>
</li> </li>
@ -24,18 +24,17 @@
</ul> </ul>
</div> </div>
<div class="col-12 col-xl-3 text-center text-xl-start pb-4"> <div class="col-12 col-xl-3 text-center text-xl-start pb-4">
<h5 class="fs-6 fw-semibold text-primary">Location</h5> <h5 class="fs-6 fw-semibold text-primary">Resources</h5>
<ul class="list-unstyled"> <ul class="list-unstyled">
{{ range .Site.Params.location }} {{ range .Site.Menus.resources }}
<li class="d-flex justify-content-center justify-content-xl-start mb-2"> <li class="">
<div class="d-flex align-items-center text-primary">{{ partial "icons/geo-alt.html" }}</div> <a class="small text-black-61 text-decoration-none" href="{{ .URL }}">{{ .Name }}</a>
<p class="small text-black-61 m-0 ps-2">{{ . }}</p>
</li> </li>
{{ end }} {{ end }}
</ul> </ul>
</div> </div>
<div class="col-12 col-xl-3 text-center text-xl-start pb-4"> <div class="col-12 col-xl-3 text-center text-xl-start pb-4">
<h5 class="fs-6 fw-semibold text-primary">Contact us</h5> <h5 class="fs-6 fw-semibold text-primary">Points of Contact</h5>
{{ range .Site.Params.contact }} {{ range .Site.Params.contact }}
<p class="small text-black-61 mb-1">{{ . }}</p> <p class="small text-black-61 mb-1">{{ . }}</p>
{{ end }} {{ end }}

View file

@ -1,26 +1,26 @@
<nav class="navbar navbar-expand-xl navbar-light bg-light py-4"> <nav class="navbar navbar-expand-xl navbar-light bg-light py-4">
<div class="container"> <div class="container">
<a class="navbar-brand d-flex align-items-center" href="{{ .Site.BaseURL }}"> <a class="navbar-brand d-flex align-items-center" href="{{ .Site.BaseURL }}">
{{ partial "utilities/image.html" "images/logo.png" }} {{ partial "utilities/image.html" (dict "image" "images/logo.png" "alt" "an ice cream cone made of lambdas") }}
</a> </a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarContent" aria-controls="navbarContent" aria-expanded="false" aria-label="Toggle navigation"> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarContent" aria-controls="navbarContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
</button> </button>
<div class="collapse navbar-collapse" id="navbarContent"> <nav id="navbarContent" class="collapse navbar-collapse">
<ul class="navbar-nav ms-auto mb-2 mb-xl-0"> <ul class="navbar-nav ms-auto mb-2 mb-xl-0">
{{ range .Site.Menus.main }} {{ range .Site.Menus.main }}
<li class="nav-item text-center"> <li class="nav-item text-center">
<a class="nav-link text-primary px-4" href="{{ .URL }}">{{ .Name }}</a> <a class="nav-link text-primary px-3" href="{{ .URL }}">{{ .Name }}</a>
</li> </li>
{{ end }} {{ end }}
</ul> </ul>
<ul class="navbar-nav ms-xl-3 mb-2 mb-xl-0"> <ul class="navbar-nav ms-xl-3 mb-2 mb-xl-0">
{{ range .Site.Menus.buttons }} {{ range .Site.Menus.buttons }}
<li class="nav-item"> <li class="nav-item">
<a class="nav-link btn btn-primary text-light px-4" href="{{ .URL }}">{{ .Name }}</a> <a class="nav-link btn btn-primary text-light px-3" href="{{ .URL }}">{{ .Name }}</a>
</li> </li>
{{ end }} {{ end }}
</ul> </ul>
</div> </nav>
</div> </div>
</nav> </nav>

View file

@ -1,7 +1,6 @@
{{ with resources.Get . }} {{ $img := resources.Get .image }}
{{ if eq .MediaType.SubType "svg" }} {{ if eq $img.MediaType.SubType "svg" }}
<img class="img-fluid svg" src="{{ .Permalink }}" alt="{{ .Title }}"> <img class="img-fluid svg" src="{{ $img.Permalink }}" alt="{{ .alt }}" width="{{ .width }}">
{{ else }} {{ else }}
<img class="img-fluid raster" src="{{ .Permalink }}" alt="{{ .Title }}" width="{{ .Width }}" height="{{ .Height }}"> <img class="img-fluid raster" src="{{ $img.Permalink }}" alt="{{ .alt }}" width="{{ $img.Width }}" height="{{ $img.Height }}">
{{ end }} {{ end }}
{{ end }}

View file

@ -1,3 +1,2 @@
{{ with resources.Get . }} {{ $img := resources.Get .image }}
<img class="" src="{{ .Permalink }}" alt="{{ .Title }}" width="{{ .Width }}" height="{{ .Height }}"> <img class="" src="{{ $img.Permalink }}" alt="{{ .alt }}" width="{{ $img.Width }}" height="{{ $img.Height }}">
{{ end }}

55
update_version.py Normal file
View file

@ -0,0 +1,55 @@
import subprocess
from pathlib import Path
import json
def get_archive_hash(url):
output = subprocess.check_output(['nix', 'store', 'prefetch-file', '--name', 'source', '--json', '--unpack', url])
data = json.loads(output)
return data['hash']
def substitute_all(content: str, substitutions: dict[str, str]) -> str:
for sub, value in substitutions.items():
content = content.replace(sub, value)
return content
def substitute_file(path: Path, substitutions: dict[str, str]):
content = path.with_name(path.name + '.in').read_text()
subbed = substitute_all(content, substitutions)
path.write_text(subbed)
def go(version: str):
BASE_URL = 'https://git.lix.systems'
files = [
Path('./content/add-to-config.md'),
Path('./content/install.md')
]
version_notrail = version.partition('-')[0]
substitutions = {
'@VERSION_NOTRAIL@': version_notrail,
'@VERSION@': version,
'@LIX_ARCHIVE_HASH@': get_archive_hash(BASE_URL + f'/lix-project/lix/archive/{version_notrail}.tar.gz'),
'@NIXOS_MODULE_HASH@': get_archive_hash(BASE_URL + f'/lix-project/nixos-module/archive/{version}.tar.gz'),
}
for file in files:
substitute_file(file, substitutions)
def main():
import argparse
ap = argparse.ArgumentParser(description='Update versions of Lix in the website')
ap.add_argument('version', help='Version to make the files at')
args = ap.parse_args()
go(args.version)
if __name__ == '__main__':
main()