Compare commits

..

No commits in common. "main" and "jakehamilton/refactor/better-nix-support" have entirely different histories.

34 changed files with 7875 additions and 8538 deletions

View file

@ -1,12 +0,0 @@
root = true
[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
indent_style = tab
indent_size = 4
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false

View file

@ -1,37 +0,0 @@
name: Check
on:
pull_request:
push:
branches:
- main
jobs:
prettier:
name: Check Code Format
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install NPM dependencies
run: npm ci
- name: Check Prettier
run: npm run prettier:check:ci
nix:
name: Nix Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: cachix/install-nix-action@v25
- name: Check Nix Build
run: nix build
- name: Check Nix Flake
run: nix flake check

View file

@ -1,33 +0,0 @@
name: "Update robots.txt"
on:
schedule:
- cron: "0 0 * * 6" # At 00:00 on Saturday
workflow_dispatch:
jobs:
update:
name: "Update robots.txt"
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Pull latest robots
run: |
curl -X POST https://api.darkvisitors.com/robots-txts \
-H "Authorization: Bearer ${{ secrets.DarkVisitorsBearer }}" \
-H "Content-Type: application/json" \
--data-raw '{"agent_types": ["AI Assistant", "AI Data Scraper", "AI Search Crawler", "Undocumented AI Agent"]}' \
--output ./public/robots.txt
- name: Commit changes
uses: EndBug/add-and-commit@v9
with:
message: "chore: generate robots.txt"
default_author: github_actions
push: true

View file

@ -1,9 +1,9 @@
import { defineConfig } from "astro/config";
import { defineConfig } from 'astro/config';
import tailwind from "@astrojs/tailwind";
import react from "@astrojs/react";
// https://astro.build/config
export default defineConfig({
integrations: [tailwind(), react()],
integrations: [tailwind(), react()]
});

View file

@ -54,16 +54,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1715023704,
"narHash": "sha256-nf72zOUuXkqN4arcQsngR19KkaQa3cDPtaSJLT8XUWY=",
"owner": "auxolotl",
"lastModified": 1714272655,
"narHash": "sha256-3/ghIWCve93ngkx5eNPdHIKJP/pMzSr5Wc4rNKE1wOc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b0fec4b7a197c6d553d353fbe4a1b6105689187c",
"rev": "12430e43bd9b81a6b4e79e64f87c624ade701eaf",
"type": "github"
},
"original": {
"owner": "auxolotl",
"ref": "nixos-unstable",
"owner": "nixos",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
@ -71,14 +71,17 @@
"root": {
"inputs": {
"nixpkgs": "nixpkgs",
"snowfall-lib": "snowfall-lib"
"snowfall-lib": "snowfall-lib",
"unstable": "unstable"
}
},
"snowfall-lib": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils-plus": "flake-utils-plus",
"nixpkgs": ["nixpkgs"]
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1696432959,
@ -108,6 +111,22 @@
"repo": "default",
"type": "github"
}
},
"unstable": {
"locked": {
"lastModified": 1714253743,
"narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
}
},
"root": "root",

View file

@ -12,7 +12,7 @@ in
src = lib.snowfall.fs.get-file "/";
npmDepsHash = "sha256-aFyw9ySIGQqcJZFuVrFrn7Ntm8nzjTZYnZ5X9d/TiiA=";
npmDepsHash = "sha256-ze98HddbmkSAgDxJIw1l2YH3EcJ8NKx6Gz++xbcxBM4=";
npmFlags = ["--ignore-scripts"];

63
package-lock.json generated
View file

@ -21,9 +21,7 @@
"typescript": "^5.4.5"
},
"devDependencies": {
"@tailwindcss/typography": "^0.5.13",
"prettier": "^3.2.5",
"prettier-plugin-astro": "^0.13.0"
"@tailwindcss/typography": "^0.5.13"
}
},
"node_modules/@alloc/quick-lru": {
@ -5259,41 +5257,6 @@
"node": ">=8.15"
}
},
"node_modules/prettier": {
"version": "3.2.5",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz",
"integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==",
"devOptional": true,
"bin": {
"prettier": "bin/prettier.cjs"
},
"engines": {
"node": ">=14"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/prettier-plugin-astro": {
"version": "0.13.0",
"resolved": "https://registry.npmjs.org/prettier-plugin-astro/-/prettier-plugin-astro-0.13.0.tgz",
"integrity": "sha512-5HrJNnPmZqTUNoA97zn4gNQv9BgVhv+et03314WpQ9H9N8m2L9OSV798olwmG2YLXPl1iSstlJCR1zB3x5xG4g==",
"devOptional": true,
"dependencies": {
"@astrojs/compiler": "^1.5.5",
"prettier": "^3.0.0",
"sass-formatter": "^0.7.6"
},
"engines": {
"node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/prettier-plugin-astro/node_modules/@astrojs/compiler": {
"version": "1.8.2",
"resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-1.8.2.tgz",
"integrity": "sha512-o/ObKgtMzl8SlpIdzaxFnt7SATKPxu4oIP/1NL+HDJRzxfJcAkOTAb/ZKMRyULbz4q+1t2/DAebs2Z1QairkZw==",
"devOptional": true
},
"node_modules/prismjs": {
"version": "1.29.0",
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
@ -6026,21 +5989,6 @@
"queue-microtask": "^1.2.2"
}
},
"node_modules/s.color": {
"version": "0.0.15",
"resolved": "https://registry.npmjs.org/s.color/-/s.color-0.0.15.tgz",
"integrity": "sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==",
"devOptional": true
},
"node_modules/sass-formatter": {
"version": "0.7.9",
"resolved": "https://registry.npmjs.org/sass-formatter/-/sass-formatter-0.7.9.tgz",
"integrity": "sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw==",
"devOptional": true,
"dependencies": {
"suf-log": "^2.5.3"
}
},
"node_modules/scheduler": {
"version": "0.23.2",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
@ -6365,15 +6313,6 @@
"node": ">=16 || 14 >=14.17"
}
},
"node_modules/suf-log": {
"version": "2.5.3",
"resolved": "https://registry.npmjs.org/suf-log/-/suf-log-2.5.3.tgz",
"integrity": "sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==",
"devOptional": true,
"dependencies": {
"s.color": "0.0.15"
}
},
"node_modules/supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",

View file

@ -7,9 +7,7 @@
"start": "astro dev",
"build": "astro check && astro build",
"preview": "astro preview",
"astro": "astro",
"prettier:check:ci": "prettier . --check",
"prettier:format": "prettier . --write"
"astro": "astro"
},
"dependencies": {
"@astrojs/check": "^0.5.10",
@ -25,8 +23,6 @@
},
"license": "GPL-3.0-or-later",
"devDependencies": {
"@tailwindcss/typography": "^0.5.13",
"prettier": "^3.2.5",
"prettier-plugin-astro": "^0.13.0"
"@tailwindcss/typography": "^0.5.13"
}
}

View file

@ -1,12 +0,0 @@
/** @type {import("prettier").Config} */
export default {
plugins: ["prettier-plugin-astro"],
overrides: [
{
files: "*.astro",
options: {
parser: "astro",
},
},
],
};

View file

@ -1,301 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="1020"
height="360"
viewBox="0 0 269.87499 95.249999"
version="1.1"
id="svg1"
xml:space="preserve"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
sodipodi:docname="aux-text.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
showguides="true"
inkscape:zoom="1.3883252"
inkscape:cx="452.70373"
inkscape:cy="152.34183"
inkscape:window-width="2776"
inkscape:window-height="1404"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer3" /><defs
id="defs1"><linearGradient
id="linearGradient5"
inkscape:collect="always"><stop
style="stop-color:#f0a3d5;stop-opacity:1;"
offset="0.49842149"
id="stop4" /><stop
style="stop-color:#89c5f1;stop-opacity:1;"
offset="1"
id="stop5" /></linearGradient><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5"
id="linearGradient2"
x1="153.08398"
y1="116.19141"
x2="182.14844"
y2="107.01758"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.39477362,0,0,0.39477362,86.799142,-10.117686)" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5"
id="linearGradient4"
x1="147.5293"
y1="95.201172"
x2="172.55078"
y2="69.738281"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.39477362,0,0,0.39477362,87.320774,-8.5161272)" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5"
id="linearGradient7"
x1="131.19531"
y1="81"
x2="144.85742"
y2="48.019531"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.39477362,0,0,0.39477362,88.755378,-7.9235035)" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5"
id="linearGradient17"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.39477362,0,0,0.39477362,167.55718,-10.117686)"
x1="153.08398"
y1="116.19141"
x2="182.14844"
y2="107.01758" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5"
id="linearGradient18"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.39477362,0,0,0.39477362,167.03554,-8.5161274)"
x1="147.5293"
y1="95.201172"
x2="172.55078"
y2="69.738281" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5"
id="linearGradient19"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.39477362,0,0,0.39477362,165.60094,-7.9235037)"
x1="131.19531"
y1="81"
x2="144.85742"
y2="48.019531" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5"
id="linearGradient2-6"
x1="153.08398"
y1="116.19141"
x2="182.14844"
y2="107.01758"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(12.016015,-10.358081)" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5"
id="linearGradient4-1"
x1="147.5293"
y1="95.201172"
x2="172.55078"
y2="69.738281"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(13.337361,-6.3011758)" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5"
id="linearGradient7-2"
x1="131.19531"
y1="81"
x2="144.85742"
y2="48.019531"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(16.971352,-4.8000023)" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5"
id="linearGradient17-7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1,0,0,1,216.58398,-10.358081)"
x1="153.08398"
y1="116.19141"
x2="182.14844"
y2="107.01758" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5"
id="linearGradient18-0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1,0,0,1,215.26263,-6.3011763)"
x1="147.5293"
y1="95.201172"
x2="172.55078"
y2="69.738281" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5"
id="linearGradient19-9"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1,0,0,1,211.62864,-4.8000028)"
x1="131.19531"
y1="81"
x2="144.85742"
y2="48.019531" /></defs><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
style="display:none;opacity:0.342"><g
id="g1-6"
transform="matrix(-0.39477361,0,0,-0.39477361,111.45074,101.20811)"><g
id="layer2-0"
inkscape:label="bg" /><g
inkscape:label="Layer 1"
id="layer1-5-6"><path
id="rect1-2"
d="m 105.83333,76.199985 h 16.93333 a 33.866665,35.560001 0 0 1 33.86667,35.560005 v 6.77335 a 16.126972,16.933322 0 0 1 -16.12697,16.93332 H 88.093639 A 16.126972,16.933322 0 0 1 71.966667,118.53334 v -6.77335 A 33.866665,35.560001 0 0 1 105.83333,76.199985 Z"
style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" /><ellipse
style="font-variation-settings:'wght' 800;fill:#16181d;fill-opacity:1;stroke:none;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none"
id="path2-6"
cx="97.366684"
cy="101.60001"
rx="8.4666681"
ry="8.4666777" /><ellipse
style="font-variation-settings:'wght' 800;fill:#16181d;fill-opacity:1;stroke:none;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none"
id="path2-5-1"
cx="131.23337"
cy="101.60001"
rx="8.4666653"
ry="8.4666777" /><path
style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 97.366669,152.39999 v 1e-5 a 50.800004,50.800004 0 0 0 50.800001,50.8 h 33.86665 a 50.800008,50.800008 0 0 0 50.8,-50.8 l 1e-5,-67.733336 a 7.0140145,7.0140145 0 0 0 -11.97367,-4.959657 l -3.9325,3.932498 A 61.321,61.321 0 0 0 198.96666,127 v 25.4 a 16.933344,16.933344 0 0 1 -16.93334,16.93334 H 148.16667 A 16.933344,16.933344 0 0 1 131.23333,152.4 v -1e-5 a 8.4666539,8.4666539 0 0 0 -8.46665,-8.46665 h -16.93336 a 8.4666539,8.4666539 0 0 0 -8.466651,8.46665 z"
id="path6-8"
sodipodi:nodetypes="ccccccccc" /><circle
style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="path13-7"
cx="76.20002"
cy="165.09998"
r="12.699999"
inkscape:label="path13" /><circle
style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="path13-6-9"
cx="148.16664"
cy="152.39999"
r="8.4666615" /><circle
style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="path13-0-2"
cx="182.03331"
cy="152.39999"
r="8.4666681" /><circle
style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="path13-0-3-0"
cx="220.13332"
cy="215.89999"
r="12.699999" /><path
style="color:#000000;fill:url(#linearGradient2-6);fill-opacity:1;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 190.74843,94.485665 a 5.2916498,5.2916498 0 0 0 -3.95508,0.87891 c -4.80672,3.36976 -10.53208,5.177735 -16.40234,5.177735 a 5.2916498,5.2916498 0 0 0 -5.29102,5.29102 5.2916498,5.2916498 0 0 0 5.29102,5.29101 c 8.04303,0 15.89266,-2.47672 22.47852,-7.09375 a 5.2916498,5.2916498 0 0 0 1.29492,-7.371095 5.2916498,5.2916498 0 0 0 -3.41602,-2.17383 z"
id="path15-2" /><path
style="color:#000000;fill:url(#linearGradient4-1);fill-opacity:1;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 185.88814,63.437106 a 5.2916665,5.2916665 0 0 0 -6.88867,2.925781 c -2.83974,7.028598 -8.35211,12.635686 -15.33008,15.597657 a 5.2916665,5.2916665 0 0 0 -2.80273,6.939453 5.2916665,5.2916665 0 0 0 6.9375,2.802738 c 9.55796,-4.057118 17.11812,-11.749644 21.00781,-21.376957 a 5.2916665,5.2916665 0 0 0 -2.92383,-6.888672 z"
id="path15-7-3" /><path
style="color:#000000;fill:url(#linearGradient7-2);fill-opacity:1;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 161.82877,43.219528 a 5.2916665,5.2916665 0 0 0 -5.29297,5.291016 c 0,7.580586 -3.00885,14.844794 -8.36914,20.205078 a 5.2916665,5.2916665 0 0 0 0,7.484375 5.2916665,5.2916665 0 0 0 7.48438,0 c 7.34216,-7.342167 11.46875,-17.306061 11.46875,-27.689453 a 5.2916665,5.2916665 0 0 0 -5.29102,-5.291016 z"
id="path15-7-6-7" /><path
style="color:#000000;fill:url(#linearGradient17-7);fill-opacity:1;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 37.85156,94.485665 a 5.2916498,5.2916498 0 0 1 3.95508,0.87891 c 4.80672,3.36976 10.53208,5.177725 16.40234,5.177725 a 5.2916498,5.2916498 0 0 1 5.29102,5.29102 5.2916498,5.2916498 0 0 1 -5.29102,5.29101 c -8.04303,0 -15.89266,-2.47672 -22.47852,-7.09375 a 5.2916498,5.2916498 0 0 1 -1.29492,-7.371085 5.2916498,5.2916498 0 0 1 3.41602,-2.17383 z"
id="path14-5" /><path
style="color:#000000;fill:url(#linearGradient18-0);fill-opacity:1;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 42.71185,63.437106 a 5.2916665,5.2916665 0 0 1 6.88867,2.925781 c 2.83974,7.028598 8.35211,12.635686 15.33008,15.597657 a 5.2916665,5.2916665 0 0 1 2.80273,6.939453 5.2916665,5.2916665 0 0 1 -6.9375,2.802738 C 51.23787,87.645617 43.67771,79.953091 39.78802,70.325778 a 5.2916665,5.2916665 0 0 1 2.92383,-6.888672 z"
id="path16-9" /><path
style="color:#000000;fill:url(#linearGradient19-9);fill-opacity:1;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 66.77122,43.219528 a 5.2916665,5.2916665 0 0 1 5.29297,5.291016 c 0,7.580586 3.00885,14.844794 8.36914,20.205078 a 5.2916665,5.2916665 0 0 1 0,7.484375 5.2916665,5.2916665 0 0 1 -7.48438,0 C 65.60679,68.85783 61.4802,58.893936 61.4802,48.510544 a 5.2916665,5.2916665 0 0 1 5.29102,-5.291016 z"
id="path17-2" /></g></g></g><g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Foreground"><path
d=""
style="fill:#ead2d2;stroke-linecap:round;stroke-linejoin:round"
id="path34" /><g
id="layer2"
inkscape:label="bg"
transform="matrix(0.39477362,0,0,0.39477362,82.055536,-6.0285892)" /><g
id="g34"
transform="translate(-3.7041668)"><path
id="rect1"
d="m 123.83574,24.053155 h 6.68483 a 13.369666,14.03815 0 0 1 13.36967,14.038152 v 2.67394 a 6.3665031,6.6848288 0 0 1 -6.3665,6.684828 h -20.69116 a 6.3665031,6.6848288 0 0 1 -6.3665,-6.684828 v -2.67394 a 13.369666,14.03815 0 0 1 13.36966,-14.038152 z"
style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:6.47595;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" /><ellipse
style="font-variation-settings:'wght' 800;fill:#16181d;fill-opacity:1;stroke:none;stroke-width:6.47595;stroke-linecap:round;stroke-dasharray:none"
id="path2"
cx="120.49333"
cy="34.080418"
rx="3.3424172"
ry="3.3424211" /><ellipse
style="font-variation-settings:'wght' 800;fill:#16181d;fill-opacity:1;stroke:none;stroke-width:6.47595;stroke-linecap:round;stroke-dasharray:none"
id="path2-5"
cx="133.86301"
cy="34.080418"
rx="3.342416"
ry="3.3424211" /><path
style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:6.47595;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 120.49333,54.134907 v 3e-6 a 20.054501,20.054501 0 0 0 20.0545,20.0545 h 13.36966 a 20.054503,20.054503 0 0 0 20.0545,-20.0545 V 27.395576 a 2.7689479,2.7689479 0 0 0 -4.72689,-1.957942 l -1.55244,1.552447 a 24.207913,24.207913 0 0 0 -7.09034,17.11758 V 54.13491 a 6.6848375,6.6848375 0 0 1 -6.68483,6.684836 h -13.36966 a 6.6848375,6.6848375 0 0 1 -6.68484,-6.684836 v -3e-6 a 3.3424116,3.3424116 0 0 0 -3.34241,-3.342411 h -6.68484 a 3.3424116,3.3424116 0 0 0 -3.34241,3.342411 z"
id="path6"
sodipodi:nodetypes="ccccccccc" /><circle
style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:6.47595;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="path13"
cx="112.13729"
cy="59.148525"
r="5.0136247"
inkscape:label="path13" /><circle
style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:6.47595;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="path13-6"
cx="140.54782"
cy="54.134907"
r="3.3424146" /><circle
style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:6.47595;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="path13-0"
cx="153.91748"
cy="54.134907"
r="3.3424172" /><circle
style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:6.47595;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="path13-0-3"
cx="168.95836"
cy="79.203033"
r="5.0136247" /><path
style="color:#000000;fill:url(#linearGradient2);fill-opacity:1;stroke:#16181d;stroke-width:6.47595;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 157.35798,31.271859 a 2.0890037,2.0890037 0 0 0 -1.56136,0.34697 c -1.89756,1.330293 -4.15778,2.044033 -6.47521,2.044033 a 2.0890037,2.0890037 0 0 0 -2.08875,2.088756 2.0890037,2.0890037 0 0 0 2.08875,2.088751 c 3.17518,0 6.274,-0.977744 8.87393,-2.800426 a 2.0890037,2.0890037 0 0 0 0.5112,-2.909913 2.0890037,2.0890037 0 0 0 -1.34856,-0.858171 z"
id="path15" /><path
style="color:#000000;fill:url(#linearGradient4);fill-opacity:1;stroke:#16181d;stroke-width:6.47595;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 155.43927,19.014707 a 2.0890103,2.0890103 0 0 0 -2.71947,1.155021 c -1.12105,2.774705 -3.29719,4.988235 -6.05191,6.157543 a 2.0890103,2.0890103 0 0 0 -1.10644,2.739513 2.0890103,2.0890103 0 0 0 2.73874,1.106447 c 3.77323,-1.601643 6.75778,-4.638449 8.29333,-8.439058 a 2.0890103,2.0890103 0 0 0 -1.15425,-2.719466 z"
id="path15-7" /><path
style="color:#000000;fill:url(#linearGradient7);fill-opacity:1;stroke:#16181d;stroke-width:6.47595;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 145.94127,11.03334 a 2.0890103,2.0890103 0 0 0 -2.08953,2.088754 c 0,2.992615 -1.18781,5.860333 -3.30392,7.976432 a 2.0890103,2.0890103 0 0 0 0,2.954633 2.0890103,2.0890103 0 0 0 2.95464,0 c 2.89849,-2.898493 4.52756,-6.831976 4.52756,-10.931065 a 2.0890103,2.0890103 0 0 0 -2.08875,-2.088754 z"
id="path15-7-6" /><path
style="color:#000000;fill:url(#linearGradient17);fill-opacity:1;stroke:#16181d;stroke-width:6.47595;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 96.998333,31.271859 a 2.0890037,2.0890037 0 0 1 1.561362,0.34697 c 1.897565,1.330293 4.157785,2.04403 6.475215,2.04403 a 2.0890037,2.0890037 0 0 1 2.08875,2.088755 2.0890037,2.0890037 0 0 1 -2.08875,2.088751 c -3.17518,0 -6.274007,-0.977744 -8.873931,-2.800426 a 2.0890037,2.0890037 0 0 1 -0.5112,-2.909909 2.0890037,2.0890037 0 0 1 1.348554,-0.858171 z"
id="path14" /><path
style="color:#000000;fill:url(#linearGradient18);fill-opacity:1;stroke:#16181d;stroke-width:6.47595;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 98.917048,19.014707 a 2.0890103,2.0890103 0 0 1 2.719462,1.155021 c 1.12106,2.774705 3.2972,4.988235 6.05191,6.157543 a 2.0890103,2.0890103 0 0 1 1.10645,2.739513 2.0890103,2.0890103 0 0 1 -2.73874,1.106447 c -3.77323,-1.601643 -6.757786,-4.638449 -8.293333,-8.439058 a 2.0890103,2.0890103 0 0 1 1.154251,-2.719466 z"
id="path16" /><path
style="color:#000000;fill:url(#linearGradient19);fill-opacity:1;stroke:#16181d;stroke-width:6.47595;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 108.41505,11.03334 a 2.0890103,2.0890103 0 0 1 2.08953,2.088754 c 0,2.992615 1.18781,5.860333 3.30391,7.976432 a 2.0890103,2.0890103 0 0 1 0,2.954633 2.0890103,2.0890103 0 0 1 -2.95463,0 c -2.89849,-2.898493 -4.52756,-6.831976 -4.52756,-10.931065 a 2.0890103,2.0890103 0 0 1 2.08875,-2.088754 z"
id="path17" /></g><path
id="path1"
style="color:#000000;fill:#ead2d2;fill-opacity:1;stroke:#16181d;stroke-width:3.175;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 49.246545,17.027384 c -7.81972,0.02854 -16.083041,1.460342 -22.478731,7.429521 -8.497392,7.930723 -9.338588,19.111796 -10.060367,28.482498 -0.72178,9.370702 -0.12144,17.418058 -0.12144,17.418058 0.340268,4.662891 4.395915,8.167216 9.058878,7.827946 4.663673,-0.339247 8.169257,-4.394689 7.830013,-9.058362 0,0 -0.217835,-3.197868 -0.177767,-7.684285 1.136279,-0.124618 2.703961,-0.241105 4.517554,-0.333313 3.675042,-0.186849 6.855527,-0.259412 11.518461,-0.253103 4.662934,0.0063 10.879542,0.325653 14.528418,0.515885 0.297227,0.0155 0.5395,0.03454 0.822689,0.05116 -0.09046,4.511535 -0.459294,7.494367 -0.459294,7.494367 -0.484845,4.650023 2.891231,8.813253 7.541141,9.299173 4.650745,0.485999 8.814828,-2.890386 9.300724,-7.541141 0,0 0.893537,-8.400725 0.361218,-18.105355 C 80.895724,42.865805 80.303782,31.06563 70.834374,23.2854 64.636429,18.193062 57.066266,16.998843 49.246545,17.027384 Z m 0.06253,16.933333 c 5.045793,-0.01842 9.023794,0.959474 11.060307,2.71508 1.834695,1.581626 3.013447,5.752842 3.664267,10.932415 -3.884958,-0.190484 -10.040226,-0.503402 -14.682931,-0.509684 -4.853318,-0.0066 -8.20439,0.06574 -12.235213,0.270673 -0.998609,0.05077 -1.944046,0.107902 -2.836003,0.173632 0.676395,-4.893431 1.783524,-8.82239 4.041097,-10.706839 2.609805,-2.178466 5.942685,-2.85686 10.988476,-2.875277 z"
sodipodi:nodetypes="sssccccsssccscsssssccscss" /><path
id="path33"
style="fill:#ead2d2;stroke:#16181d;stroke-width:3.175;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 196.4401,15.399525 c -2.33071,3.15e-4 -4.56669,0.926945 -6.21459,2.575189 -3.42753,3.428097 -3.42753,9.000582 0,12.42868 l 17.9392,17.939198 -17.9392,17.9392 c -3.42754,3.428101 -3.42754,9.000073 0,12.428173 3.42834,3.428879 9.00239,3.428879 12.4307,0 l 17.93769,-17.938186 17.93869,17.938186 c 3.42808,3.42753 9.00059,3.42753 12.42868,0 3.42754,-3.428097 3.42754,-9.000076 0,-12.428173 l -17.9387,-17.9392 17.9387,-17.939198 c 3.42754,-3.428102 3.42754,-9.00058 0,-12.42868 -1.64789,-1.648246 -3.88387,-2.574874 -6.2146,-2.575189 -2.33072,3.15e-4 -4.56619,0.926943 -6.21408,2.575189 L 220.5939,35.913407 202.65621,17.974714 c -1.64837,-1.64874 -3.88468,-2.575412 -6.21611,-2.575189 z"
sodipodi:nodetypes="cccccsccccccccccccc" /><path
d=""
style="fill:#ead2d2;stroke-linecap:round;stroke-linejoin:round"
id="path31" /></g></svg>

Before

Width:  |  Height:  |  Size: 22 KiB

View file

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 270.93333 270.93333" version="1.1" id="svg1" inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)" sodipodi:docname="auxolotl-logo.svg" inkscape:export-filename="auxolotl-cuddle3.svg" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
<defs id="defs1">
<linearGradient id="linearGradient5" inkscape:collect="always">
<stop style="stop-color:#f0a3d5;stop-opacity:1;" offset="0.49842149" id="stop4"/>
<stop style="stop-color:#89c5f1;stop-opacity:1;" offset="1" id="stop5"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5" id="linearGradient2" x1="153.08398" y1="116.19141" x2="182.14844" y2="107.01758" gradientUnits="userSpaceOnUse" gradientTransform="translate(12.016015,-10.358081)"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5" id="linearGradient4" x1="147.5293" y1="95.201172" x2="172.55078" y2="69.738281" gradientUnits="userSpaceOnUse" gradientTransform="translate(13.337361,-6.3011758)"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5" id="linearGradient7" x1="131.19531" y1="81" x2="144.85742" y2="48.019531" gradientUnits="userSpaceOnUse" gradientTransform="translate(16.971352,-4.8000023)"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5" id="linearGradient17" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-1,0,0,1,216.58398,-10.358081)" x1="153.08398" y1="116.19141" x2="182.14844" y2="107.01758"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5" id="linearGradient18" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-1,0,0,1,215.26263,-6.3011763)" x1="147.5293" y1="95.201172" x2="172.55078" y2="69.738281"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5" id="linearGradient19" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-1,0,0,1,211.62864,-4.8000028)" x1="131.19531" y1="81" x2="144.85742" y2="48.019531"/>
</defs>
<g inkscape:groupmode="layer" id="layer2" inkscape:label="bg"/>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1">
<path id="rect1" d="m 105.83333,76.199985 h 16.93333 a 33.866665,35.560001 0 0 1 33.86667,35.560005 v 6.77335 a 16.126972,16.933322 0 0 1 -16.12697,16.93332 H 88.093639 A 16.126972,16.933322 0 0 1 71.966667,118.53334 v -6.77335 A 33.866665,35.560001 0 0 1 105.83333,76.199985 Z" style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"/>
<ellipse style="font-variation-settings:'wght' 800;fill:#16181d;fill-opacity:1;stroke:none;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none" id="path2" cx="97.366684" cy="101.60001" rx="8.4666681" ry="8.4666777"/>
<ellipse style="font-variation-settings:'wght' 800;fill:#16181d;fill-opacity:1;stroke:none;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none" id="path2-5" cx="131.23337" cy="101.60001" rx="8.4666653" ry="8.4666777"/>
<path style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" d="m 97.366669,152.39999 v 1e-5 a 50.800004,50.800004 0 0 0 50.800001,50.8 h 33.86665 a 50.800008,50.800008 0 0 0 50.8,-50.8 l 1e-5,-67.733336 a 7.0140145,7.0140145 0 0 0 -11.97367,-4.959657 l -3.9325,3.932498 A 61.321,61.321 0 0 0 198.96666,127 v 25.4 a 16.933344,16.933344 0 0 1 -16.93334,16.93334 H 148.16667 A 16.933344,16.933344 0 0 1 131.23333,152.4 v -1e-5 a 8.4666539,8.4666539 0 0 0 -8.46665,-8.46665 h -16.93336 a 8.4666539,8.4666539 0 0 0 -8.466651,8.46665 z" id="path6" sodipodi:nodetypes="ccccccccc"/>
<circle style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" id="path13" cx="76.20002" cy="165.09998" r="12.699999" inkscape:label="path13"/>
<circle style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" id="path13-6" cx="148.16664" cy="152.39999" r="8.4666615"/>
<circle style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" id="path13-0" cx="182.03331" cy="152.39999" r="8.4666681"/>
<circle style="font-variation-settings:'wght' 800;fill:#ead2d2;fill-opacity:1;fill-rule:nonzero;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" id="path13-0-3" cx="220.13332" cy="215.89999" r="12.699999"/>
<path style="color:#000000;fill:url(#linearGradient2);fill-opacity:1;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" d="m 190.74843,94.485665 a 5.2916498,5.2916498 0 0 0 -3.95508,0.87891 c -4.80672,3.36976 -10.53208,5.177735 -16.40234,5.177735 a 5.2916498,5.2916498 0 0 0 -5.29102,5.29102 5.2916498,5.2916498 0 0 0 5.29102,5.29101 c 8.04303,0 15.89266,-2.47672 22.47852,-7.09375 a 5.2916498,5.2916498 0 0 0 1.29492,-7.371095 5.2916498,5.2916498 0 0 0 -3.41602,-2.17383 z" id="path15"/>
<path style="color:#000000;fill:url(#linearGradient4);fill-opacity:1;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" d="m 185.88814,63.437106 a 5.2916665,5.2916665 0 0 0 -6.88867,2.925781 c -2.83974,7.028598 -8.35211,12.635686 -15.33008,15.597657 a 5.2916665,5.2916665 0 0 0 -2.80273,6.939453 5.2916665,5.2916665 0 0 0 6.9375,2.802738 c 9.55796,-4.057118 17.11812,-11.749644 21.00781,-21.376957 a 5.2916665,5.2916665 0 0 0 -2.92383,-6.888672 z" id="path15-7"/>
<path style="color:#000000;fill:url(#linearGradient7);fill-opacity:1;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" d="m 161.82877,43.219528 a 5.2916665,5.2916665 0 0 0 -5.29297,5.291016 c 0,7.580586 -3.00885,14.844794 -8.36914,20.205078 a 5.2916665,5.2916665 0 0 0 0,7.484375 5.2916665,5.2916665 0 0 0 7.48438,0 c 7.34216,-7.342167 11.46875,-17.306061 11.46875,-27.689453 a 5.2916665,5.2916665 0 0 0 -5.29102,-5.291016 z" id="path15-7-6"/>
<path style="color:#000000;fill:url(#linearGradient17);fill-opacity:1;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" d="m 37.85156,94.485665 a 5.2916498,5.2916498 0 0 1 3.95508,0.87891 c 4.80672,3.36976 10.53208,5.177725 16.40234,5.177725 a 5.2916498,5.2916498 0 0 1 5.29102,5.29102 5.2916498,5.2916498 0 0 1 -5.29102,5.29101 c -8.04303,0 -15.89266,-2.47672 -22.47852,-7.09375 a 5.2916498,5.2916498 0 0 1 -1.29492,-7.371085 5.2916498,5.2916498 0 0 1 3.41602,-2.17383 z" id="path14"/>
<path style="color:#000000;fill:url(#linearGradient18);fill-opacity:1;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" d="m 42.71185,63.437106 a 5.2916665,5.2916665 0 0 1 6.88867,2.925781 c 2.83974,7.028598 8.35211,12.635686 15.33008,15.597657 a 5.2916665,5.2916665 0 0 1 2.80273,6.939453 5.2916665,5.2916665 0 0 1 -6.9375,2.802738 C 51.23787,87.645617 43.67771,79.953091 39.78802,70.325778 a 5.2916665,5.2916665 0 0 1 2.92383,-6.888672 z" id="path16"/>
<path style="color:#000000;fill:url(#linearGradient19);fill-opacity:1;stroke:#16181d;stroke-width:16.4042;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" d="m 66.77122,43.219528 a 5.2916665,5.2916665 0 0 1 5.29297,5.291016 c 0,7.580586 3.00885,14.844794 8.36914,20.205078 a 5.2916665,5.2916665 0 0 1 0,7.484375 5.2916665,5.2916665 0 0 1 -7.48438,0 C 65.60679,68.85783 61.4802,58.893936 61.4802,48.510544 a 5.2916665,5.2916665 0 0 1 5.29102,-5.291016 z" id="path17"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 8.5 KiB

View file

@ -1,37 +0,0 @@
{
"root.description": "Eine Alternative zu dem Nix Ökosystem",
"header.community": "Gemeinschaft",
"goals.title": "Unsere Ziele",
"goals.independent.title": "Unabhängigkeit",
"goals.independent": "Wir werden eine Alternative zu NixPkgs und NixOS erstellen, sowie die für das neue Ökosystem notwendigen Dienste bereitstellen, darunter eigenständige 'Continous Integration' und 'Binary Caching' Dienste. Zusätzliche Unterstützung für Projekte wie Nix Darwin und Home Manager wird in Betracht gezogen.",
"goals.gov.title": "Gesellschaftliche Organisation",
"goals.gov.wiki": "Mehr Details zu Auxs Organisation.",
"goals.gov": "Zur Verwaltung des Projekts wird ein demokratisches Modell mit gewählten Positionen eingesetzt. Ein Lenkungsausschuss ('steering committee') entscheidet über den Kurs, während weitere Ausschüsse spezifische oder logistische Aufgaben übernehmen. Features oder einzelne Projekte werden von 'Special Interest Groups' (SIG) umgesetzt. SIGs werden in Arbeitsgruppen ('Working Groups') zusammenarbeiten, um ihre Ziele übergreifend zu erreichen. Für jedes Komitee und jede Gruppe sind die Ziele, Anforderungen und Managementprozesse klar definiert.",
"goals.education.title": "Dokumentation",
"goals.education": "Einheitliche Dokumentation, Anleitungen, Leitfäden und Beispiele sorgen für ein besseres Onboarding-Erlebnis für Neulinge und einen schnelleren Iterationszyklus für Experten.",
"roadmap.title": "Die Roadmap",
"roadmap.soft_fork.title": "Setup und Planung",
"roadmap.soft_fork.1": "Während der Anfangsphase wird eine einfache Ad-hoc-Organisationsstruktur genutzt. Die erklärten Werte, Ziele und Roadmap des Projekts dienen dazu allen Mitwirkenden die Sicherheit zu geben, dass sich die Arbeit, zu der sie sich verpflichtet haben, nicht verändern wird. Es werden Gruppen gebildet, die sich mit den einzelnen Bereichen des Projekts befassen, jedoch ohne explizit definierte Organisationsstrukturen.",
"roadmap.soft_fork.2": "Die Schaffung von Gemeinschaftsräumen, die Organisation und die Planung für die folgenden Phasen sind Schlüsselpunkte dieser Phase. Bevor technische Arbeiten durchgeführt werden können, müssen gut durchdachte Lösungen und ein Proof of Concept vorliegen, um die folgende Implementierungsphase voranzutreiben.",
"roadmap.hard_fork.title": "Implementierung",
"roadmap.hard_fork.1": "Wie in der vorherigen Phase werden auch in dieser Phase ad-hoc gebildete Gruppen dominieren, welche die Standards unserer geplanten Organisationsstrukturen zunächst teilweise einhalten. Vor dem Übergang in die nächste Phase, werden diese Gruppen die neue Organisationsstrukturen vollständig umgesetzt.",
"roadmap.hard_fork.2": "Diese Phase beinhaltet die Erstellung einer Alternative zu NixPkgs und NixOS unter Verwendung des in der Setup- und Planungsphase erstellten Roadmap. Neben der technischen Umsetzung wird ebenfalls eine 'Continuous Integration' Infrastruktur aufgebaut. Je nach Verfügbarkeit und Finanzierung kann ein 'Binary Cache' zur Verfügung gestellt werden.",
"roadmap.hard_fork.3": "Das Projekt kann in die nächste Phase übergehen, sobald eine ausreichende Anzahl von kritischen Paketen erstellt und stabilisiert wurde.",
"roadmap.organization.title": "Stabilisierung",
"roadmap.organization.1": "In dieser Phase wird die technische Implementierung zusammen mit strukturellen Änderungen der Organisationsstrukturen fortgesetzt. Von 'Committees', 'Special Interest Groups' und 'Working Groups' wird nun erwartet, dass sie Satzungen erstellen, in denen ihre Verantwortlichkeiten und Mitgliedschaften festgelegt sind. Die Gruppenmitglieder behalten ihre Rollen bei bis die letzte Phase der Roadmap erreicht ist.",
"roadmap.organization.2": "Diese Phase ist abgeschlossen, sobald ein stabiles Betriebssystem und ein Ersatz fuer Nixpkgs zur Verfügung stehen.",
"roadmap.alignment.title": "Der Feinschliff",
"roadmap.alignment.1": "Wir haben es geschafft. Wir haben einen nachhaltigen und unabhängigen 'Fork' des Nix-Ökosystems geschaffen. Nachdem die ersten Arbeiten nun abgeschlossen sind, werden die ersten demokratischen Wahlen abgehalten und gemeinsam werden wir neue Organisationsstrukturen aufbauen.",
"roadmap.alignment.2": "Dokumentation, Projekt-Branding und Pakete werden auf Vorderman gebracht und als stabile Version veröffentlicht. Von diesem Zeitpunkt an wird der Lenkungsausschuss ('steering committee') die Einrichtung von 'Special Interest Groups' und weiteren erforderlichen 'Committees' verwalten. Zukünftige Verbesserungvorschläge werden in der Form von 'Aux Enhancement Proposals' eingebracht, welches die bestehende SIGs zur Implementierung von Funktionen ermutigt oder die Gründung neuer SIGs zu diesem Zweck fördert. Dies ist nicht das Ende, sondern der Anfang für Aux.",
"values.title": "Unsere Werte",
"values.rep.title": "Repräsentation",
"values.rep": "Die Ansichten der Mitwirkenden sollen vertreten sein und die Organisationsstruktur soll demokratisch ausgerichtet sein.",
"values.kindness.title": "Wohlwollen",
"values.kindness": "Das Projekt soll zum Mitwirken einladen und eine sichere Umgebung zur Beteiligung bieten.",
"values.collab.title": "Zusammenarbeit",
"values.collab": "Kommunikation und Zusammenarbeit soll gefördert werden.",
"values.sustainability.title": "Nachhaltigkeit",
"values.sustainability": "Arbeitsbelastung, Finanzen, Umfang und Burnout werden sorgfältig abgewogen, um sicherzustellen, dass das Projekt stabil ist.",
"values.accessibility.title": "Offenheit",
"values.accessibility": "Elitäres Verhalten ist unerwünscht, unser Wissen soll geteilt werden und wir wollen die Werkzeuge bereitstellen, die jedem zum Erfolg und Lernen verhelfen."
}

View file

@ -1,46 +0,0 @@
{
"root.description": "Et alternativ til Nix økosystemet",
"header.community": "Community",
"goals.title": "Mål",
"goals.independent.title": "Uafhængighed",
"goals.independent": "Vi vil vedligeholde en fork af Nix, NixPkgs, og NixOS. Yderligere understøttelse af projekter såsom Nix Darwin og Home Manager overvejes.",
"goals.gov.title": "Ledelsesform",
"goals.gov.wiki": "Learn about Aux's governance structures.",
"goals.gov": "Projektet ledes via demokratiskt valgte stillinger. Overordnet retning gives af en styringsgruppe, med yderligere grupper til at håndtere specifikke opgaveområder. Af disse vil Special Interest Groups have ansvaret for specifikke features og projekter, eksekveret igennem egne Working Groups. Samtlige grupper vil klart udspecificere hver deres mål, krav, og styringsprocess.",
"goals.stabilization.title": "Stabilisering",
"goals.stabilization": "Brugervenlige features såsom Nix v3 kommandolinjen vil som udgangspunkt være aktive. Nix Flakes er for udbredt en feature til at kunne fjernes eller substantielt ændres, hvorfor den i stedet stabiliseres i sin nuværende form som v0. Yderligere arbejde her håndteres af ansvarshavende Special Interest Group.",
"goals.infra.title": "Infrastruktur",
"goals.infra": "Hvor nødvendigt for opretholdelse af et sundt økosystem vil vi bygge og vedligeholde redskaber og infrastruktur - inklusive Continuous Integration og Binary Caching.",
"goals.education.title": "Læring",
"goals.education": "Igennem samlet dokumentation, tutorials, guides, og eksempler, vil vi sikre forbedret onboarding for nytilkommere samt hurtigere udviklingsprocess for eksperter.",
"roadmap.title": "Roadmap",
"roadmap.soft_fork.title": "Blød Fork",
"roadmap.soft_fork.1": "I opstartsfasen vil en mere ad-hoc ledelsesstruktur anvendes. Projektets målsætninger, værdier, og roadmap fungerer derfor som rettesnor for alle deltagere, samt garanti for at målstolperne for det arbejde de har meldt sig til ikke rykkes.",
"roadmap.soft_fork.2": "Fork af Nix og NixPkgs startes og roller for vedligeholdelse af pakker samt opdatering fra upstream fordeles iblandt deltagere. Det er hensigten at graduere fra denne fase når tilstrækkeligt med deltagere er tilsluttet, således at vi er i stand til at løfte opgaven i vedligeholdelse af en hård fork.",
"roadmap.hard_fork.title": "Hård Fork",
"roadmap.hard_fork.1": "Ad-hoc ledelsesstruktur fortsættes, men styringsgrupper (Committees), Special Interest Groups, og arbejdsgrupper oprettes. Givet opstartsfasens natur, vil stillinger først være på valg i Justerings fasen.",
"roadmap.hard_fork.2": "I denne fase har projektet nok deltagere til sikkert at kunne påtage sig fuldt vedligehold af NixPkgs (eller en rimelig delmængde heraf) samt Nix. Herfra vil divergens fra upstream accepteres og ændringer på repository struktur indføres for strømlining af udviklings-flow.",
"roadmap.hard_fork.3": "Første udgivelse af pakke repository eksekveres og navne-migrering fra `nix` til `aux` startes - for bedre at håndtere de to nu forskellige pakke repositories med færre fejl og misforståelser.",
"roadmap.organization.title": "Strukturering",
"roadmap.organization.1": "Pakke-sæt trækkes ud fra det centrale pakke repository, for at lette vedligeholdelses-opgaver for relevante Special Interest Groups. Eksempelvis flyttes `pythonPackages` til et separat repository, styret af en Python SIG - såfremt dette har interesse.",
"roadmap.organization.2": "Nix Flakes standardiseres i sin nuværende stand som v0. Udbredt brug af denne feature gør dens fjernelsen uden brud med økosystemet til en umulighed, hvilket nødvendiggører dette ikke-ideelle kompromis. Fremadrettet arbejde med Flakes, fokuseret på udbedring af kendte fejl og mangler, håndteres af en Flakes SIG.",
"roadmap.organization.3": "`aux` kommandolinjen modificeres til mere ergonomisk håndtering af pakker og systemer. Nye under-kommandoer såsom `aux system switch` og `aux system build` tilføjes for bedring af onboarding og vedligeholdelse.",
"roadmap.infra.title": "Infrastruktur",
"roadmap.infra.1": "Givet en større divergens fra upstream på dette tidspunkt i processen, er nødvendigheden af egen Continuous Integration og Binary Cache systemer åbenlys. Aktuel ledelsesstruktur anvendes til håndtering af begges etablering.",
"roadmap.infra.2": "For at lette udvikling af læringsmateriale, vil dokumentation inkluderes i Continuous Integration processen - med Continuous Deployment til at sikre tilgængelighed af seneste udgaver.",
"roadmap.infra.3": "Systemer til søgning i pakker og options vil ligeledes lanceres.",
"roadmap.alignment.title": "Justering",
"roadmap.alignment.1": "Vi er i mål. På dette tidspunkt i processen har vi en stabil, uafhængig fork af Nix økosystemet. Med opstartsfasen afsluttet, starter arbejdet med dokumentation af hvordan den nuværende ledelsesform fungerer og rotation påbegyndes med første valg til ledende stillinger.",
"roadmap.alignment.2": "En fuldt ud stabil udgivelse af dokumentation, branding, og pakker pudses af og lanceres. Fra nu af tilfalder ansvaret for oprettelse og styring af alle grupper styringsgruppen. Alle forslag til forbedringer bringes op under Aux Enhancement Proposals, hvilke anbefaler feature implementering til eksisterende SIGs eller oprettelse af nye til eksekvering af samme.",
"values.title": "Værdier",
"values.rep.title": "Repræsentation",
"values.rep": "Deltageres synspunkter bør repræsenteres og ledelsesstruktur skal etableres demokratiskt.",
"values.kindness.title": "Åbenhed",
"values.kindness": "Projektet skal eksistere som et åbent og sikkert sted for deltagere.",
"values.collab.title": "Samarbejde",
"values.collab": "Kommunikation og samarbejde skal fremmes.",
"values.sustainability.title": "Ansvarlighed",
"values.sustainability": "Til sikring af et stabilt projekt skal arbejdsbyrde, financiel balance, scope, og udbrændthed nøje holdes for øje.",
"values.accessibility.title": "Tilgængelighed",
"values.accessibility": "Elitisme er ikke velkomment. Vores viden er til for at blive delt og vi bør tilgængeligtgøre midler således at alle kan lære og vinde."
}

View file

@ -1,37 +0,0 @@
{
"root.description": "An alternative to the Nix ecosystem",
"header.community": "Community",
"goals.title": "Goals",
"goals.independent.title": "Independent",
"goals.independent": "We will create an alternative to NixPkgs and NixOS. We will also provide our own Continuous Integration and Binary Cache along with necessary services for the ecosystem. Additional support for projects such as Nix Darwin and Home Manager will be considered.",
"goals.gov.title": "Governance",
"goals.gov.wiki": "Learn about Aux's governance structures.",
"goals.gov": "A democratic model of governance with elected positions will be used to manage the project. A steering committee will provide direction with additional committees handling specific logistical tasks. Features or individual projects will be owned by Special Interest Groups. SIGs will collaborate within Working Groups to achieve their goals. Each committee and group will have its goals, requirements, and management process clearly defined.",
"goals.education.title": "Education",
"goals.education": "Unified documentation, tutorials, guides, and examples will provide a better onboarding experience for newcomers and a faster iteration cycle for experts.",
"roadmap.title": "Roadmap",
"roadmap.soft_fork.title": "Setup & Planning",
"roadmap.soft_fork.1": "This initial phase will involve an ad-hoc management structure due to its bootstrapping nature. As such, the project's stated Values, Goals, and Roadmap serve to keep all contributors aligned and safe knowing that the work they have committed to will not change. Groups will start forming to address the separate domains of the project, but will not be properly functioning governance structures yet.",
"roadmap.soft_fork.2": "Creation of community spaces, organization, and planning for the following phases are key points of this phase. Before technical work can be done, a well thought out solution and proof of concept must exist to drive the following implementation phase.",
"roadmap.hard_fork.title": "Implementation",
"roadmap.hard_fork.1": "Like the previous phase, this phase will involve loosely-formed groups which do not fully adhere to the standards of our envisioned governance structures yet. However, as the project progresses to the next phase, these groups will be transitioned to proper governance units.",
"roadmap.hard_fork.2": "This phase involves the creation of an alternative to NixPkgs and NixOS using the plan created from the Setup & Planning phase. In addition to technical implementation we will also be creating Continuous Integration infrastructure. Depending on availability and funding, a Binary Cache may also be created.",
"roadmap.hard_fork.3": "The project may move to the next phase once a core set of packages are created and stabilized.",
"roadmap.organization.title": "Solidification",
"roadmap.organization.1": "Implementation continues during this phase alongside structural changes to governance. Committees, Special Interest Groups, and Working Groups are now expected to establish charters defining their responsibilities and memberships. Group members will remain the same as the previous phases until reaching the last phase of this roadmap.",
"roadmap.organization.2": "This phase is complete once a usable OS and package set are available.",
"roadmap.alignment.title": "Polish",
"roadmap.alignment.1": "By this point, we've done it. We have created a sustainable, independent fork of the Nix ecosystem. Now that the initial work has been completed we will begin the governance rotation process with our first elections and education as to how project governance works.",
"roadmap.alignment.2": "Documentation, project branding, and packages will be polished and presented as a fully stable release. From this point forward the Steering Committee will be managing the creation of Special Interest Groups and other necessary Committees. All future enhancements will be suggested in Aux Enhancement Proposals which encourage existing SIGs to implement features or encourage the formation of a new SIG to be created for such a purpose. This is not the end, this is only the beginning for Aux.",
"values.title": "Values",
"values.rep.title": "Representation",
"values.rep": "Contributors should have their views represented and organizational structure should be established democratically.",
"values.kindness.title": "Kindness",
"values.kindness": "The project should be welcoming and a safe place for people to participate.",
"values.collab.title": "Collaboration",
"values.collab": "Communication and cooperation should be encouraged.",
"values.sustainability.title": "Sustainability",
"values.sustainability": "Workload, finance, scope, and burnout should all be considered carefully to ensure that the project is stable.",
"values.accessibility.title": "Accessibility",
"values.accessibility": "Elitism is unwelcome, our knowledge is here to be shared and we should provide the tools to help everyone succeed and learn."
}

View file

@ -1,101 +0,0 @@
# AI Search Crawler
# https://darkvisitors.com/agents/amazonbot
User-agent: Amazonbot
Disallow: /
# Undocumented AI Agent
# https://darkvisitors.com/agents/anthropic-ai
User-agent: anthropic-ai
Disallow: /
# AI Search Crawler
# https://darkvisitors.com/agents/applebot
User-agent: Applebot
Disallow: /
# AI Data Scraper
# https://darkvisitors.com/agents/applebot-extended
User-agent: Applebot-Extended
Disallow: /
# AI Data Scraper
# https://darkvisitors.com/agents/bytespider
User-agent: Bytespider
Disallow: /
# AI Data Scraper
# https://darkvisitors.com/agents/ccbot
User-agent: CCBot
Disallow: /
# AI Assistant
# https://darkvisitors.com/agents/chatgpt-user
User-agent: ChatGPT-User
Disallow: /
# Undocumented AI Agent
# https://darkvisitors.com/agents/claude-web
User-agent: Claude-Web
Disallow: /
# AI Data Scraper
# https://darkvisitors.com/agents/claudebot
User-agent: ClaudeBot
Disallow: /
# Undocumented AI Agent
# https://darkvisitors.com/agents/cohere-ai
User-agent: cohere-ai
Disallow: /
# AI Data Scraper
# https://darkvisitors.com/agents/diffbot
User-agent: Diffbot
Disallow: /
# AI Data Scraper
# https://darkvisitors.com/agents/facebookbot
User-agent: FacebookBot
Disallow: /
# AI Data Scraper
# https://darkvisitors.com/agents/google-extended
User-agent: Google-Extended
Disallow: /
# AI Data Scraper
# https://darkvisitors.com/agents/gptbot
User-agent: GPTBot
Disallow: /
# AI Data Scraper
# https://darkvisitors.com/agents/omgili
User-agent: omgili
Disallow: /
# AI Search Crawler
# https://darkvisitors.com/agents/perplexitybot
User-agent: PerplexityBot
Disallow: /
# AI Search Crawler
# https://darkvisitors.com/agents/youbot
User-agent: YouBot
Disallow: /

View file

@ -0,0 +1,58 @@
---
---
<section id="goals">
<h2 class="title">Goals</h2>
<div>
<ol>
<li>
<h3>Independent</h3>
<p>
We will fork and maintain Nix, NixPkgs, and NixOS. Additional support
for projects such as Nix Darwin and Home Manager will be considered.
</p>
</li>
<li>
<h3>Governance</h3>
<p>
A democratic model of governance with elected positions will be used to
manage the project. A steering committee will provide direction with
additional committees handling specific logistical tasks. Features or
individual projects will be owned by Special Interest Groups. SIGs will
collaborate within Working Groups to achieve their goals. Each committee
and group will have its goals, requirements, and management process
clearly defined.
</p>
</li>
<li>
<h3>Stabilization</h3>
<p>
User-friendly features such as the Nix v3 CLI will be enabled by
default. Nix Flakes are used too heavily to remove or change and will
instead be stabilized as a v0 in its current state with any future work
being handled by a Special Interest Group.
</p>
</li>
<li>
<h3>Infrastructure</h3>
<p>
We will build and maintain the tools and infrastructure necessary to
keep the ecosystem healthy, including Continuous Integration and Binary
Caching.
</p>
</li>
<li>
<h3>Education</h3>
<p>
Unified documentation, tutorials, guides, and examples will provide a
better onboarding experience for newcomers and a faster iteration cycle
for experts.
</p>
</li>
</ol>
</div>
</section>
<style>
</style>

View file

@ -1,60 +1,81 @@
---
interface Props {}
import { useTranslations } from "../i18n/utils";
import type { Params } from "../i18n/utils";
import { Image } from "astro:assets";
import auxolotl from "../../public/auxolotl.svg";
const { lang } = Astro.params as Params;
const translation = useTranslations(lang);
---
<header
class="sticky flex justify-between top-0 bg-[rgb(var(--background-light))] z-10 p-4 text-lg rounded-bl-3xl rounded-br-3xl overflow-hidden"
>
<div class="flex justify-between w-full max-w-4xl mx-auto pr-1">
<div class="flex items-center">
<a
href="https://auxolotl.org"
class="flex items-center text-lg gap-2"
>
<Image
class="w-12 h-12"
src={auxolotl}
alt="auxolotl.org logo"
/>
<header>
<div class="left">
<a href="https://aux.computer" class="brand">
<img class="icon" src="/aux.svg" />
<span class="title">aux.computer</span>
</a>
</div>
<div class="right">
<nav>
<ul class="flex gap-4 items-center h-full">
<ul>
<!--
<li><a href="https://auxolotl.org/contribute">Contribute</a></li>
<li><a href="https://aux.computer/documentation">Documentation</a></li>
<li><a href="https://aux.computer/contribute">Contribute</a></li>
-->
<li>
<a
href="https://wiki.auxolotl.org"
class="inline-block relative after:absolute after:left-0 after:top-full after:w-full after:h-1 after:rounded after:bg-[rgb(var(--text))] after:origin-center after:transform after:scale-x-0 hover:after:scale-x-100 after:transition-transform delay-75 duration-100"
>Wiki</a
>
</li>
<li>
<a
href="https://forum.aux.computer"
class="inline-block relative after:absolute after:left-0 after:top-full after:w-full after:h-1 after:rounded after:bg-[rgb(var(--text))] after:origin-center after:transform after:scale-x-0 hover:after:scale-x-100 after:transition-transform delay-75 duration-100"
>{translation("header.community")}</a
>
</li>
<li>
<a
href="https://git.auxolotl.org/auxolotl"
class="inline-block relative after:absolute after:left-0 after:top-full after:w-full after:h-1 after:rounded after:bg-[rgb(var(--text))] after:origin-center after:transform after:scale-x-0 hover:after:scale-x-100 after:transition-transform delay-75 duration-100"
>Aux Forge</a
>
</li>
<li><a href="https://forum.aux.computer">Community</a></li>
<li><a href="https://github.com/auxolotl">Github</a></li>
</ul>
</nav>
</div>
</header>
<style>
header {
position: sticky;
display: flex;
justify-content: space-between;
top: 0;
background: rgb(var(--background));
padding: 0.5rem 0;
z-index: 100;
}
.left {
display: flex;
align-items: center;
padding-left: 0.5rem;
}
.left .brand {
display: flex;
align-items: center;
font-size: 1.5rem;
}
.left .brand .title {
padding-left: 0.5rem;
}
.icon {
width: 48px;
height: 48px;
}
.right {
display: flex;
justify-content: flex-end;
align-items: center;
padding-right: 1rem;
}
.right nav {
display: flex;
align-items: center;
}
.right nav ul {
display: flex;
list-style: none;
}
.right nav ul li {
}
.right nav ul li:not(:last-child) {
margin-right: 1rem;
}
</style>

64
src/components/Hero.astro Normal file
View file

@ -0,0 +1,64 @@
---
---
<div class="hero">
<div class="content">
<div class="icon">
<img src="/aux.svg" alt="" />
</div>
<h1 class="title">aux.computer</h1>
<div class="description">An alternative to the Nix ecosystem</div>
</div>
</div>
<style>
.hero {
display: flex;
justify-content: center;
max-width: 600px;
margin: 0 auto;
}
.content {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
padding: 2rem;
}
.content .icon {
position: relative;
}
.content .icon::before {
content: "";
display: block;
position: absolute;
width: 100%;
height: 60%;
background: rgb(var(--accent));
border-radius: 50%;
bottom: 0;
left: 0;
transform: rotateZ(-5deg) skewX(-8deg) skewY(-8deg);
z-index: -1;
}
.content .icon img {
width: 250px;
height: 250px;
}
.content .title {
padding-top: 1.5rem;
text-align: center;
font-size: 2rem;
}
.content .description {
text-align: center;
font-size: 1rem;
}
</style>

View file

@ -0,0 +1,106 @@
---
---
<section id="roadmap">
<h2>Roadmap</h2>
<ol>
<li>
<h3>Soft Fork</h3>
<p>
This initial phase will involve an ad-hoc management structure due to
its bootstrapping nature. As such, the project's stated Values, Goals,
and Roadmap serve to keep all contributors aligned and safe knowing that
the work they have committed to will not change.
</p>
<p>
The initial forking off of Nix and NixPkgs will be performed in this
phase and new contributors will be given roles for handling package
maintenance and pulling changes from upstream. We intend to move on from
this phase once enough contributors have joined for the project to be
capable of transitioning into a hard fork.
</p>
</li>
<li>
<h3>Hard Fork</h3>
<p>
Like the Soft Fork phase, management structure will still be ad-hoc, but
Committees, Special Interest Groups, and Working Groups may start to be
formed. Due to there being necessary bootstrapping steps for each,
elections will only begin once the Alignment phase has been reached.
</p>
<p>
At this point we will have enough contributors to safely maintain
NixPkgs (or a reasonable subset) and Nix ourselves. We will begin
allowing divergence from the upstream repository and changes to the
repository structure to improve development can be introduced.
</p>
<p>
An initial release of the packages repository will be created and
migration from `nix` to `aux` naming will begin to reduce confusion and
errors now that the two projects have diverged.
</p>
</li>
<li>
<h3>Organization</h3>
<p>
The packages repository will have sets extracted to allow for Special
Interest Groups to more easily manage their lifecycles. For example,
`pythonPackages` will be moved to a separate repository that will be the
reponsibility of a Python SIG if there is interest.
</p>
<p>
Flakes will be standardized with its current implementation as a v0.
While not ideal, the feature is used far too widely to be changed or
removed without breaking the ecosystem. Instead, this v0 implementation
will be enabled and future work for Flakes that addresses its
shortcomings may be handled by a Flakes SIG.
</p>
<p>
The `aux` CLI will be modified to provide more ergonomic management of
packages and systems. Additional subcommands such as `aux system switch`
and `aux system build` will be added to make onboarding and ongoing
maintenance easier.
</p>
</li>
<li>
<h3>Infrastructure</h3>
<p>
Now that the project has significantly diverged from upstream, we will
need to provide our own Continuous Integration and Binary Cache
services. Existing governance structures will be used to manage the
adoption of these technologies.
</p>
<p>
Documentation will be included as a part of the Continuous Integration
process and will have Continuous Deployment configured to keep it up to
date, making it easier for contributors to create educational materials.
</p>
<p>
Search infrastructure for packages and options will also be created.
</p>
</li>
<li>
<h3>Alignment</h3>
<p>
By this point, we've done it. We have created a sustainable, independent
fork of the Nix ecosystem. Now that the initial work has been completed
we will begin the governance rotation process with our first elections
and education as to how project governance works.
</p>
<p>
Documentation, project branding, and packages will be polished and
presented as a fully stable release. From this point forward the
Steering Committee will be managing the creation of Special Interest
Groups and other necessary Committees. All enhancements will be
suggested in Aux Enhancement Proposals which encourage existing SIGs to
implement features or encourage the formation of a new SIG to be created
for such a purpose.
</p>
</li>
</ol>
</section>
<style>
</style>

View file

@ -0,0 +1,34 @@
---
---
<section id="values">
<h2 class="title">Values</h2>
<h3 class="name">Representation</h3>
<p class="description">
Contributors should have their views represented and organizational
structure should be established democratically.
</p>
<h3 class="name">Kindness</h3>
<p class="description">
The project should be welcoming and a safe place for people to
participate.
</p>
<h3 class="name">Collaboration</h3>
<p class="description">
Communication and cooperation should be encouraged.
</p>
<h3 class="name">Sustainability</h3>
<p class="description">
Workload, finance, scope, and burnout should all be considered carefully
to ensure that the project is stable.
</p>
<h3 class="name">Accessibility</h3>
<p class="description">
Elitism is unwelcome, our knowledge is here to be shared and we should
provide the tools to help everyone succeed and learn.
</p>
</section>
<style>
</style>

View file

@ -1,44 +0,0 @@
---
import { useTranslations } from "../../i18n/utils";
import type { Params } from "../../i18n/utils";
const { lang } = Astro.params as Params;
const translation = useTranslations(lang);
---
<section id="goals">
<h2>{translation("goals.title")}</h2>
<div>
<ol>
<li>
<h3>{translation("goals.independent.title")}</h3>
<p>
{translation("goals.independent")}
</p>
</li>
<li>
<h3>{translation("goals.gov.title")}</h3>
<p>
{translation("goals.gov")}
</p>
<p>
<a
href="https://wiki.auxolotl.org/community"
target="_blank"
rel="noopener noreferrer"
>
{translation("goals.gov.wiki")}
</a>
</p>
</li>
<li>
<h3>{translation("goals.education.title")}</h3>
<p>
{translation("goals.education")}
</p>
</li>
</ol>
</div>
</section>
<style></style>

View file

@ -1,62 +0,0 @@
---
import { useTranslations } from "../../i18n/utils";
import { Image } from "astro:assets";
import auxText from "../../../public/aux-text.svg";
import type { Params } from "../../i18n/utils";
const { lang } = Astro.params as Params;
const translation = useTranslations(lang);
---
<div class="w-full bg-[rgb(var(--background))]">
<div class="hero rounded-bl-3xl rounded-br-3xl">
<div class="content">
<div class="icon">
<Image src={auxText} alt="aux" />
</div>
<div class="description">{translation("root.description")}</div>
</div>
</div>
</div>
<style>
.hero {
display: flex;
justify-content: center;
width: 100%;
margin: 0 auto;
background: rgb(var(--background-light));
padding-top: 1rem;
padding-bottom: 1rem;
}
.content {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
padding: 2rem;
}
.content .icon {
position: relative;
}
.content .icon img {
width: 100%;
height: auto;
max-width: 450px;
}
.content .title {
padding-top: 1.5rem;
text-align: center;
font-size: 2rem;
}
.content .description {
text-align: center;
font-size: 1.25rem;
text-wrap: balance;
}
</style>

View file

@ -1,20 +0,0 @@
---
import Hero from "./Hero.astro";
import Values from "./Values.astro";
import Goals from "./Goals.astro";
import Roadmap from "./Roadmap.astro";
---
<main class="grid place-items-center">
<Hero />
<div
class="py-16 px-4 flex justify-center w-full bg-[rgb(var(--background))]"
>
<div class="prose prose-invert max-w-4xl w-full">
<Values />
<Goals />
<Roadmap />
</div>
</div>
</main>

View file

@ -1,55 +0,0 @@
---
import { useTranslations } from "../../i18n/utils";
import type { Params } from "../../i18n/utils";
const { lang } = Astro.params as Params;
const translation = useTranslations(lang);
---
<section id="roadmap">
<h2>{translation("roadmap.title")}</h2>
<ol>
<li>
<h3>{translation("roadmap.soft_fork.title")}</h3>
<p>
{translation("roadmap.soft_fork.1")}
<p>
{translation("roadmap.soft_fork.2")}
</p>
</p>
<li>
<h3>{translation("roadmap.hard_fork.title")}</h3>
<p>
{translation("roadmap.hard_fork.1")}
</p>
<p>
{translation("roadmap.hard_fork.2")}
</p>
<p>
{translation("roadmap.hard_fork.3")}
</p>
</li>
<li>
<h3>{translation("roadmap.organization.title")}</h3>
<p>
{translation("roadmap.organization.1")}
</p>
<p>
{translation("roadmap.organization.2")}
</p>
</li>
<li>
<h3>{translation("roadmap.alignment.title")}</h3>
<p>
{translation("roadmap.alignment.1")}
</p>
<p>
{translation("roadmap.alignment.2")}
</p>
</li>
</li>
</ol>
<style></style>
</section>

View file

@ -1,33 +0,0 @@
---
import { useTranslations } from "../../i18n/utils";
import type { Params } from "../../i18n/utils";
const { lang } = Astro.params as Params;
const translation = useTranslations(lang);
---
<section id="values">
<h2>{translation("values.title")}</h2>
<h3 class="name">{translation("values.rep.title")}</h3>
<p class="description">
{translation("values.rep")}
</p>
<h3 class="name">{translation("values.kindness.title")}</h3>
<p class="description">
{translation("values.kindness")}
</p>
<h3 class="name">{translation("values.collab.title")}</h3>
<p class="description">
{translation("values.collab")}
</p>
<h3 class="name">{translation("values.sustainability.title")}</h3>
<p class="description">
{translation("values.sustainability")}
</p>
<h3 class="name">{translation("values.accessibility.title")}</h3>
<p class="description">
{translation("values.accessibility")}
</p>
</section>
<style></style>

View file

@ -1,17 +0,0 @@
import de from "../../public/locales/de/translations.json";
import dk from "../../public/locales/dk/translations.json";
import en from "../../public/locales/en/translations.json";
export const languages = {
de: "Deutsch",
dk: "Dansk",
en: "English",
};
export const defaultLang = "en";
export const ui = {
de,
dk,
en,
} as const;

View file

@ -1,21 +0,0 @@
import { ui, defaultLang, languages } from "./ui";
import type {
InferGetStaticParamsType,
InferGetStaticPropsType,
GetStaticPaths,
} from "astro";
export function useTranslations(lang: keyof typeof ui) {
return function t(key: keyof (typeof ui)[typeof defaultLang]) {
return ui[lang][key] || ui[defaultLang][key];
};
}
export const getStaticPaths = (async () => {
return Object.keys(languages).map((name) => ({
params: { lang: name as keyof typeof languages },
}));
}) satisfies GetStaticPaths;
export type Params = InferGetStaticParamsType<typeof getStaticPaths>;
export type Props = InferGetStaticPropsType<typeof getStaticPaths>;

View file

@ -1,23 +1,16 @@
---
import Header from "../components/Header.astro";
import type { Params } from "../i18n/utils";
interface Props {
title: string;
}
const { title } = Astro.props;
const { lang } = Astro.params as Params;
---
<!doctype html>
<html lang={lang}>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="description"
content="An alternative to the Nix ecosystem."
/>
<meta name="description" content="An alternative to the Nix ecosystem." />
<meta name="viewport" content="width=device-width" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="generator" content={Astro.generator} />
@ -25,16 +18,14 @@ const { lang } = Astro.params as Params;
<meta name="verify" content="https://github.com/jakehamilton" />
</head>
<body>
<Header />
<slot />
</body>
</html>
<style is:global>
:root {
--accent: 240, 163, 213;
--background: 22, 24, 29;
--background-light: 27, 28, 33;
--accent: 136, 58, 234;
--background: 24, 24, 24;
--background-light: 34, 34, 38;
--text: 255, 255, 255;
}
@ -42,7 +33,7 @@ const { lang } = Astro.params as Params;
font-size: 16px;
font-family: system-ui, sans-serif;
color: rgb(var(--text));
background: rgb(var(--background-light));
background: rgb(var(--background));
background-size: 224px;
}
</style>

View file

@ -1,9 +0,0 @@
---
import Layout from "../../layouts/Layout.astro";
import Home from "../../components/home/Home.astro";
export { getStaticPaths } from "../../i18n/utils";
---
<Layout title="auxolotl.org">
<Home />
</Layout>

View file

@ -1,5 +1,25 @@
---
import { defaultLang } from "../i18n/ui";
import Layout from "../layouts/Layout.astro";
import Header from "../components/Header.astro";
import Hero from "../components/Hero.astro";
import Values from "../components/Values.astro";
import Goals from "../components/Goals.astro";
import Roadmap from "../components/Roadmap.astro";
---
<meta http-equiv="refresh" content=`0;url=/${defaultLang}/` />
<Layout title="aux.computer">
<main>
<Header />
<div class="grid place-items-center">
<Hero />
<div class="prose prose-invert py-16 px-4 max-w-3xl">
<Values />
<Goals />
<Roadmap />
</div>
</div>
</main>
</Layout>
<style></style>