about summary refs log tree commit diff
path: root/tvix/website/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/website/default.nix')
-rw-r--r--tvix/website/default.nix32
1 files changed, 32 insertions, 0 deletions
diff --git a/tvix/website/default.nix b/tvix/website/default.nix
new file mode 100644
index 0000000000..2dd939e8a9
--- /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
+''