From 4da1e64c030fc9b1bb23f1ef90546a531b5f760e Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Sat, 28 Jan 2023 13:45:38 +0300 Subject: feat(tvix/serde): add an example application to the project This shows how people can use tvix_serde to deserialise configuration structs for their programs from Nix code. Change-Id: I71bf4e03dce19dddafe67dd729b4e4b10719a739 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7945 Reviewed-by: flokli Tested-by: BuildkiteCI --- tvix/serde/examples/foods.nix | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 tvix/serde/examples/foods.nix (limited to 'tvix/serde/examples/foods.nix') diff --git a/tvix/serde/examples/foods.nix b/tvix/serde/examples/foods.nix new file mode 100644 index 000000000000..c8733cd3efec --- /dev/null +++ b/tvix/serde/examples/foods.nix @@ -0,0 +1,22 @@ +# This is content for the `Data` struct, written in intentionally +# convoluted Nix code. +let + mkFlavour = flavour: name: { + inherit name; + value = flavour; + }; + + tasty = mkFlavour "Tasty"; + okay = mkFlavour "Okay"; + eww = mkFlavour "Eww"; +in +{ + name = "exhaustive list of foods"; + + foods = builtins.listToAttrs [ + (tasty "beef") + (okay "tomatoes") + (eww "olives") + (tasty "coffee") + ]; +} -- cgit 1.4.1