about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--views/.skip-subtree2
-rw-r--r--views/README.md6
-rw-r--r--views/kit/README.md22
-rw-r--r--views/kit/default.nix19
-rw-r--r--views/kit/workspace.josh8
5 files changed, 57 insertions, 0 deletions
diff --git a/views/.skip-subtree b/views/.skip-subtree
new file mode 100644
index 000000000000..d33c73476b52
--- /dev/null
+++ b/views/.skip-subtree
@@ -0,0 +1,2 @@
+//views is not part of the depot build tree, see the README for more
+information.
diff --git a/views/README.md b/views/README.md
new file mode 100644
index 000000000000..83464d5ee21d
--- /dev/null
+++ b/views/README.md
@@ -0,0 +1,6 @@
+depot views
+===========
+
+This folder contains external views of depot content, defined using
+josh workspaces. See the individual views for a description of their
+content and usage information.
diff --git a/views/kit/README.md b/views/kit/README.md
new file mode 100644
index 000000000000..9fb32efb4b82
--- /dev/null
+++ b/views/kit/README.md
@@ -0,0 +1,22 @@
+The TVL Kit
+===========
+
+This folder contains a publicly available version of the core TVL
+tooling, currently comprising of:
+
+* `buildkite`: TVL tooling for dynamically generating Buildkite
+  pipelines with Nix.
+* `buildGo`: Nix-based build system for Go.
+* `readTree`: Nix library to dynamically compute attribute trees
+  corresponding to the physical layout of a repository.
+* `besadii`: Configurable Gerrit/Buildkite integration hook.
+
+It can be accessed via git by cloning it as such:
+
+    git clone https://code.tvl.fyi/depot.git:workspace=views/kit.git tvl-kit
+
+If you are looking at this within the TVL depot, you can see the
+[josh][] configuration in `workspace.josh`. You will find the projects
+at slightly different paths within the depot.
+
+[josh]: https://github.com/josh-project/josh/
diff --git a/views/kit/default.nix b/views/kit/default.nix
new file mode 100644
index 000000000000..759b36997ad3
--- /dev/null
+++ b/views/kit/default.nix
@@ -0,0 +1,19 @@
+# Externally importable TVL depot stack. This is intended to be called
+# with a supplied package set, otherwise the package set currently in
+# use by the TVL depot will be used.
+#
+# For now, readTree is not used inside of this configuration to keep
+# it simple. Adding it may be useful if we set up test scaffolding
+# around the exported workspace.
+
+{ pkgs ? import ./nixpkgs { depotOverlays = false; }, ... }:
+
+pkgs.lib.fix(self: {
+  buildGo = import ./buildGo { inherit pkgs; };
+  buildkite = import ./buildkite { inherit pkgs; };
+  readTree = import ./readTree { };
+
+  besadii = import ./besadii {
+    depot.nix.buildGo = self.buildGo;
+  };
+})
diff --git a/views/kit/workspace.josh b/views/kit/workspace.josh
new file mode 100644
index 000000000000..33ca3e22e611
--- /dev/null
+++ b/views/kit/workspace.josh
@@ -0,0 +1,8 @@
+::LICENSE
+besadii = :/ops/besadii
+:/nix:[
+    ::buildGo/
+    ::buildkite/
+    ::readTree/
+]
+nixpkgs = :/third_party/nixpkgs