From 8e31088a019c2c118e40323b1c7f9471805317c6 Mon Sep 17 00:00:00 2001 From: toastal Date: Mon, 1 Jul 2024 17:02:37 +0700 Subject: [PATCH] docs(tvix): introduction MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Includes hacky, but workable solution for the pronunciation ‘issue’ Karl comes from: http://ipa-reader.xyz/?text=tvɪks&voice=Karl Co-Authored-By: Florian Klink Change-Id: Iad7788ec7295902fd2159766a664016c7b1e2ae9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11908 Tested-by: BuildkiteCI Reviewed-by: flokli --- tvix/docs/book.toml | 1 + tvix/docs/mdbook-extra.js | 24 ++++++++++++++++++++++++ tvix/docs/src/SUMMARY.md | 2 ++ tvix/docs/src/community.md | 23 +++++++++++++++++++++++ tvix/docs/src/introduction.md | 23 +++++++++++++++++++++++ 5 files changed, 73 insertions(+) create mode 100644 tvix/docs/mdbook-extra.js create mode 100644 tvix/docs/src/community.md create mode 100644 tvix/docs/src/introduction.md diff --git a/tvix/docs/book.toml b/tvix/docs/book.toml index 093b73b8e..56bdd860c 100644 --- a/tvix/docs/book.toml +++ b/tvix/docs/book.toml @@ -23,3 +23,4 @@ after = ["links"] # ensure `{{#include}}` also gets processed [output.html] additional-css = ["./mdbook-admonish.css", "./mdbook-extra.css"] +additional-js = ["./mdbook-extra.js"] diff --git a/tvix/docs/mdbook-extra.js b/tvix/docs/mdbook-extra.js new file mode 100644 index 000000000..bff412e69 --- /dev/null +++ b/tvix/docs/mdbook-extra.js @@ -0,0 +1,24 @@ +"use strict" + +function main() { + document.removeEventListener("DOMContentLoaded", main, false) + + // NOTE: this is a hacky solution but should do the job for making a + // listenable audio link + function playAudio(evt) { + evt.preventDefault() + var audio = document.createElement("audio") + audio.addEventListener("ended", function() { audio.delete() }, false) + audio.addEventListener("loadeddata", function() { audio.play() }, false) + audio.src = evt.target.href + audio.load() + } + + var audios = document.querySelectorAll("a[href^=\"data:audio/\"]") + Array.prototype.forEach.call(audios, function setupAudio(elem) { + elem.setAttribute("role", "button") + elem.addEventListener("click", playAudio, false) + }) +} + +document.addEventListener("DOMContentLoaded", main, false) diff --git a/tvix/docs/src/SUMMARY.md b/tvix/docs/src/SUMMARY.md index 6b3c43035..a912832eb 100644 --- a/tvix/docs/src/SUMMARY.md +++ b/tvix/docs/src/SUMMARY.md @@ -1,6 +1,8 @@ # Summary # Welcome +* [Introduction](./introduction.md) +* [Community](./community.md) * [Getting Started](./getting-started.md) # Contributing diff --git a/tvix/docs/src/community.md b/tvix/docs/src/community.md new file mode 100644 index 000000000..9ab117c55 --- /dev/null +++ b/tvix/docs/src/community.md @@ -0,0 +1,23 @@ +# Community + +## Chatroom + +Tvix development discussions happen on IRC. We use the [hackint][] IRC network +where you should be able to join using your favorite client/protocol. + +* [IRC][] / [Webchat][] +* [Matrix][] +* [XMPP][] + +## Mailing list + +Discussions on larger architectural problems and thoughts occasionally happen +on the [TVL Public Inbox][public inbox] mailing list. + +[hackint]: https://hackint.org/ +[IRC]: ircs://irc.hackint.org:6697/#tvix-dev +[Webchat]: https://webirc.hackint.org/#ircs://irc.hackint.org/#tvix-dev +[Matrix]: matrix:r/tvix-dev:hackint.org?action=join +[XMPP]: xmpp:#tvix-dev@irc.hackint.org?join +[depot@tvl.su]: mailto:depot@tvl.su +[public inbox]: https://inbox.tvl.su/depot/ diff --git a/tvix/docs/src/introduction.md b/tvix/docs/src/introduction.md new file mode 100644 index 000000000..744fbeec9 --- /dev/null +++ b/tvix/docs/src/introduction.md @@ -0,0 +1,23 @@ +# Introduction + +Tvix (\[tvɪks\], [🔈][pronunciation]) is a new Rust implementation of the +components of the [Nix package manager][Nix]. + +Tvix’s modularity & composability allows recombining its parts in novel ways. +It also provides library access to Nix data formats and concepts. In the +long-run, Tvix aims to produce a Nixpkgs-compatible alternative to NixCpp +with respects to evaluation and building Nix expressions & systems. + +Tvix still is in its early stages of development, **you cannot yet use it as a +Nix replacement**. However, if you willing to roll up your sleeves and pipe +together some existing functionality, it may already provide most of what is +needed for your usecase! [Get in touch](./community.md) if you want to +collaborate or contribute. + +Tvix is developed as a GPLv3-licensed free software project with +source code available in the [TVL monorepo][]. + +[Nix]: https://nixos.org +[TVL]: https://tvl.fyi +[TVL monorepo]: https://cs.tvl.fyi/depot/-/tree/tvix +[pronunciation]: data:audio/mpeg;base64,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