From 19c452875ee998222dbe4063fc5078f7789c210d Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Tue, 14 Mar 2023 21:40:05 +0300 Subject: feat(tvix): add simple initial website The website itself contains no useful information that we don't already have published anywhere, but it's a decent landing place. Mostly I want to have something on the root of tvix.dev, so that we can start using it for other purposes. Change-Id: Id2b4dabc7f6e4dd26b61484b86dbde2f39aa1719 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8296 Tested-by: BuildkiteCI Reviewed-by: flokli --- tvix/website/default.nix | 32 ++++++++++++++++++++++++++++++++ tvix/website/landing-en.md | 36 ++++++++++++++++++++++++++++++++++++ tvix/website/tvix-logo.webp | Bin 0 -> 82366 bytes 3 files changed, 68 insertions(+) create mode 100644 tvix/website/default.nix create mode 100644 tvix/website/landing-en.md create mode 100644 tvix/website/tvix-logo.webp (limited to 'tvix/website') diff --git a/tvix/website/default.nix b/tvix/website/default.nix new file mode 100644 index 000000000000..2dd939e8a939 --- /dev/null +++ b/tvix/website/default.nix @@ -0,0 +1,32 @@ +{ depot, lib, pkgs, ... }: + +let + # https://developers.google.com/search/docs/advanced/structured-data/logo + structuredData = { + "@context" = "https://schema.org"; + "@type" = "Organisation"; + url = "https://tvl.fyi"; + logo = "https://static.tvl.fyi/latest/logo-animated.svg"; + }; + + # All Tvix-related blog posts from the main TVL website + tvixPosts = builtins.filter + (post: !(post.draft or false) && (lib.hasInfix "Tvix" post.title)) + depot.web.tvl.blog.posts; + + postListEntries = map (p: "* [${p.title}](https://tvl.fyi/blog/${p.key})") tvixPosts; + + landing = depot.web.tvl.template { + title = "Tvix - A new implementation of Nix"; + content = '' + ${builtins.readFile ./landing-en.md} + ${builtins.concatStringsSep "\n" postListEntries} + ''; + }; + +in +pkgs.runCommand "tvix-website" { } '' + mkdir $out + cp ${landing} $out/index.html + cp ${./tvix-logo.webp} $out/tvix-logo.webp +'' diff --git a/tvix/website/landing-en.md b/tvix/website/landing-en.md new file mode 100644 index 000000000000..5620800d924e --- /dev/null +++ b/tvix/website/landing-en.md @@ -0,0 +1,36 @@ + + +------------------ + +Tvix is a new implementation of Nix, a purely-functional package manager. It +aims to have a modular implementation, in which different components can be +reused or replaced based on the use-case. + +Tvix is developed as a GPLv3-licensed open-source project by +[TVL][], with source code available in the [TVL monorepo][]. + +There are several projects within Tvix, such as: + +* `//tvix/eval` - an implementation of the Nix programming language +* `//tvix/serde` - a Rust library for using the Nix language for config files +* `//tvix/nix-compat` - a Rust library for compatbility with C++ Nix + features like encodings and hashing schemes +* ... and a handful others! + +The language evaluator can be toyed with in [Tvixbolt][], and you can check out +the [Tvix README][] ([GitHub mirror][gh]) for additional information on the +project and development workflows. + +Developer documentation for some parts of Tvix is [available online][docs]. + +[TVL]: https://tvl.fyi +[TVL monorepo]: https://cs.tvl.fyi/depot/-/tree/tvix +[Tvixbolt]: https://tvixbolt.tvl.su +[Tvix README]: https://code.tvl.fyi/about/tvix +[gh]: https://github.com/tvlfyi/tvix/ +[docs]: https://docs.tvix.dev + +------------------- + +Check out the latest Tvix-related blog posts from TVL's website: diff --git a/tvix/website/tvix-logo.webp b/tvix/website/tvix-logo.webp new file mode 100644 index 000000000000..07bffc18b7b9 Binary files /dev/null and b/tvix/website/tvix-logo.webp differ -- cgit 1.4.1