about summary refs log tree commit diff
path: root/users/Profpatsch/netencode/default.nix
diff options
context:
space:
mode:
authorProfpatsch <mail@profpatsch.de>2021-01-02T16·08+0100
committerProfpatsch <mail@profpatsch.de>2021-01-03T16·29+0000
commit27a73171cf97c24c7785787eb7661405334329de (patch)
tree1ef181be663c0eb2b96c7c4320271a928ca46a23 /users/Profpatsch/netencode/default.nix
parentf1c38e25600d4b61b84a5cdba1c7c9a28cc742a7 (diff)
feat(Profpatsch/netencode): add netencode-mustache r/2058
A little executable, combining the netencode and mustache libraries to
make easy templating from the command line possible.

Combined with the nix netencode generators, it’s now trivial to
populate a mustache template with (nearly) arbitrary data.

Yay.

Change-Id: I5b892c38fbc33dd826a26174dd9567f0b72e6322
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2320
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
Diffstat (limited to 'users/Profpatsch/netencode/default.nix')
-rw-r--r--users/Profpatsch/netencode/default.nix51
1 files changed, 51 insertions, 0 deletions
diff --git a/users/Profpatsch/netencode/default.nix b/users/Profpatsch/netencode/default.nix
index 4a06cd700e94..80ff73aff549 100644
--- a/users/Profpatsch/netencode/default.nix
+++ b/users/Profpatsch/netencode/default.nix
@@ -40,9 +40,60 @@ let
 
   netencode-rs = netencode-rs-common false;
 
+  gen = import ./netencode.nix;
+
+  cfg-if = pkgs.buildRustCrate {
+    pname = "cfg-if";
+    version = "1.0.0";
+    crateName = "cfg-if";
+    sha256 = "1fzidq152hnxhg4lj6r2gv4jpnn8yivp27z6q6xy7w6v0dp6bai9";
+  };
+
+  log = pkgs.buildRustCrate {
+    pname = "log";
+    version = "0.4.11";
+    crateName = "log";
+    sha256 = "0m6xhqxsps5mgd7r91g5mqkndbh8zbjd58p7w75r330zl4n40l07";
+    dependencies = [ cfg-if ];
+  };
+
+  serde_derive = pkgs.buildRustCrate {
+    pname = "serde";
+    version = "1.0.118";
+    crateName = "serde";
+    sha256 = "1kbi2csphq8m4z77fpd6v8jih10j7867wniqnlxnk308mrnxi4r2";
+  };
+
+  serde = pkgs.buildRustCrate {
+    pname = "serde";
+    version = "1.0.118";
+    crateName = "serde";
+    sha256 = "1kbi2csphq8m4z77fpd6v8jih10j7867wniqnlxnk308mrnxi4r2";
+    features = [ "std" ];
+  };
+
+  mustache = pkgs.buildRustCrate {
+    pname = "mustache";
+    version = "0.9.0";
+    crateName = "mustache";
+    sha256 = "1zgl8l15i19lzp90icgwyi6zqdd31b9vm8w129f41d1zd0hs7ayq";
+    dependencies = [ log serde ];
+  };
+
+  netencode-mustache = imports.writers.rustSimple {
+    name = "netencode_mustache";
+    dependencies = [
+      netencode-rs
+      mustache
+    ];
+  } (builtins.readFile ./netencode-mustache.rs);
+
+
 in {
   inherit
    netencode-rs
    netencode-rs-tests
+   netencode-mustache
+   gen
    ;
 }