diff options
author | Ben Sima <ben@bsima.me> | 2018-06-29 19:36:08 -0700 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2018-06-29 19:36:08 -0700 |
commit | e81da383d908d4b7597cb73dc489f5162fcf19bf (patch) | |
tree | c4ac7ea73b180a533937cb26787ce4f095a690b7 /simspace/shell.nix | |
parent | 66e6b47737a9e6411f430a5cd169315f04dcd078 (diff) |
Add simspace
Theres a bug, need Wolfram's book to get into the math of it, I can't
find a good explanation of the actual math anywhere (the wikipedia page
is pretty bad)
Diffstat (limited to 'simspace/shell.nix')
-rw-r--r-- | simspace/shell.nix | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/simspace/shell.nix b/simspace/shell.nix new file mode 100644 index 0000000..757c212 --- /dev/null +++ b/simspace/shell.nix @@ -0,0 +1,28 @@ +{ nixpkgs ? import <nixpkgs> {}, compiler ? "default", doBenchmark ? false }: + +let + + inherit (nixpkgs) pkgs; + + f = { mkDerivation, base, random, split, stdenv }: + mkDerivation { + pname = "simspace"; + version = "0.1.0.0"; + src = ./.; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ base random split ]; + license = stdenv.lib.licenses.bsd3; + }; + + haskellPackages = if compiler == "default" + then pkgs.haskellPackages + else pkgs.haskell.packages.${compiler}; + + variant = if doBenchmark then pkgs.haskell.lib.doBenchmark else pkgs.lib.id; + + drv = variant (haskellPackages.callPackage f {}); + +in + + if pkgs.lib.inNixShell then drv.env else drv |