summaryrefslogtreecommitdiff
path: root/Biz/Bild
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2023-07-31 10:15:34 -0400
committerBen Sima <ben@bsima.me>2023-07-31 10:15:34 -0400
commit48b7b222491b2799e265cda9a0b8be0d5d8eb3c0 (patch)
tree9adb350de3a641e05684bbe06d68d2f9526583e4 /Biz/Bild
parent1495f18118711f8fdcc38f469f890b677c1873ff (diff)
Prototype nix expression generation
There are some limitations to this implementation: 1. Using `runCommand` means this will re-run any time anything changes in the repo. The solution is to use the existing import detection to make a list of source files, and put that into a `stdenv.mkDerivation`, which I'll do next. 2. The `NeatInterpolation` usage is ugly. The templated nix code should be extracted into its own file, such as `Biz/Bild/Builder.nix`. 3. I'm not actually calling it yet. The ideal thing would be to call `nix-instantiate`, get the output drv path, and then call `nix-store --realise` on that. To do that I need to refactor my `proc` function to return stdout to the calling function, and I should probably just make helper functions like `nixInstatiate :: Target -> IO DrvPath` and `nixStoreRealise :: DrvPath -> NixStorePath`, or something like that.
Diffstat (limited to 'Biz/Bild')
-rw-r--r--Biz/Bild/Example.hs5
1 files changed, 5 insertions, 0 deletions
diff --git a/Biz/Bild/Example.hs b/Biz/Bild/Example.hs
new file mode 100644
index 0000000..f812707
--- /dev/null
+++ b/Biz/Bild/Example.hs
@@ -0,0 +1,5 @@
+-- : out example
+module Biz.Bild.Example where
+
+main :: IO ()
+main = print "hi"