about summary refs log tree commit diff
path: root/nix/buildLisp/example/default.nix
diff options
context:
space:
mode:
authorVincent Ambo <Vincent Ambo>2020-01-08T21·41+0000
committerVincent Ambo <Vincent Ambo>2020-01-08T21·41+0000
commit7bc10eb9b78c08ae1e64ae5e24db26cdb74c7834 (patch)
treef0b7c032232f32bf701cbb2548668f7efb151981 /nix/buildLisp/example/default.nix
parentbdad8f664220798bd5183933145e62bfceeea130 (diff)
feat(buildLisp): Add initial, tiny example program r/350
Diffstat (limited to 'nix/buildLisp/example/default.nix')
-rw-r--r--nix/buildLisp/example/default.nix32
1 files changed, 32 insertions, 0 deletions
diff --git a/nix/buildLisp/example/default.nix b/nix/buildLisp/example/default.nix
new file mode 100644
index 000000000000..4a8cba60023a
--- /dev/null
+++ b/nix/buildLisp/example/default.nix
@@ -0,0 +1,32 @@
+{ pkgs, ... }:
+
+let
+  inherit (pkgs.nix) buildLisp;
+
+  # Example Lisp library.
+  #
+  # Currently the `name` attribute is only used for the derivation
+  # itself, it has no practical implications.
+  libExample = buildLisp.library {
+    name = "lib-example";
+    srcs = [
+      ./lib.lisp
+    ];
+  };
+
+# Example Lisp program.
+#
+# This builds & writes an executable for a program using the library
+# above to disk.
+#
+# By default, buildLisp.program expects the entry point to be
+# `$name:main`. This can be overridden by configuring the `main`
+# attribute.
+in buildLisp.program {
+  name = "example";
+  deps = [ libExample ];
+
+  srcs = [
+    ./main.lisp
+  ];
+}