From 3d0df3ed30014f22574af4b390553930ef7cbb7f Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Sat, 2 Mar 2019 16:54:23 -0800 Subject: Flesh out build topology --- Makefile | 2 +- README.md | 11 +++++++++-- default.nix | 4 ++++ depo/default.nix | 3 +++ 4 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 default.nix create mode 100644 depo/default.nix diff --git a/Makefile b/Makefile index 8ddaa9b..71c1a16 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ USER = root OUT = $(shell readlink -n ./result) result: - nix-build --attr system ./depo/nutin-madaj + nix-build -A depo.nutin-madaj.system copy: result nix copy --to "ssh://$(USER)@$(HOST)" ./result diff --git a/README.md b/README.md index 4bcc314..ab47227 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ This isn't totally in place yet, but it's something to work toward. To get a development shell, for example to work on ibb, you can do: - $ nix-shell pack --attr ibb + $ nix-shell -A pack.ibb $ ghci GHCi, version 8.4.4: http://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /home/ben/src/biz/.ghci @@ -27,7 +27,14 @@ To get a development shell, for example to work on ibb, you can do: [2 of 2] Compiling Ibb ( apex/Ibb.hs, interpreted ) Ok, two modules loaded. -Goals of the developer workflow: +The build system topology is defined in `./default.nix`, so follow the import +paths there to see what's available for building and installing locally. For +example, to build `ibb`: `nix-build -A pack.ibb`. Or, to build the main app +server with all dependencies and configuration: `nix-build -A +depo.nutin-madaj.system`. Omitting `.system` will also build a VM that you can +run locally for testing. + +## Goals of the developer workflow: - have minimal ceremony - default to asynchrony, but allow for synchronous work when necessary diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..543f571 --- /dev/null +++ b/default.nix @@ -0,0 +1,4 @@ +{ +depo = import ./depo; +pack = import ./pack; +} diff --git a/depo/default.nix b/depo/default.nix new file mode 100644 index 0000000..79cdca5 --- /dev/null +++ b/depo/default.nix @@ -0,0 +1,3 @@ +{ +nutin-madaj = import ./nutin-madaj; +} -- cgit v1.2.3