aboutsummaryrefslogtreecommitdiff
path: root/shell.nix
diff options
context:
space:
mode:
authorAdrian Kummerlaender2019-12-19 13:07:02 +0100
committerAdrian Kummerlaender2019-12-19 13:18:41 +0100
commit923ad5e83be561dcadfec113177cd7cbcaea56d9 (patch)
treef6d254fdf7da328ca4318cfd089921759d60792e /shell.nix
downloadfirmament-923ad5e83be561dcadfec113177cd7cbcaea56d9.tar
firmament-923ad5e83be561dcadfec113177cd7cbcaea56d9.tar.gz
firmament-923ad5e83be561dcadfec113177cd7cbcaea56d9.tar.bz2
firmament-923ad5e83be561dcadfec113177cd7cbcaea56d9.tar.lz
firmament-923ad5e83be561dcadfec113177cd7cbcaea56d9.tar.xz
firmament-923ad5e83be561dcadfec113177cd7cbcaea56d9.tar.zst
firmament-923ad5e83be561dcadfec113177cd7cbcaea56d9.zip
Basic sky rendering using the model by Nishita et al.
See "Display of the earth taking into account atmospheric scattering" (Nishita et al., 1993) `bluedot.py` renders the full earth disk while rotating the sun around it. `sunrise.py` renders the rise of the sun. Physical model constants may be changed in `planets.py`.
Diffstat (limited to 'shell.nix')
-rw-r--r--shell.nix26
1 files changed, 26 insertions, 0 deletions
diff --git a/shell.nix b/shell.nix
new file mode 100644
index 0000000..5f57bc8
--- /dev/null
+++ b/shell.nix
@@ -0,0 +1,26 @@
+{ pkgs ? import <nixpkgs> { }, ... }:
+
+pkgs.stdenvNoCC.mkDerivation rec {
+ name = "pycl-env";
+ env = pkgs.buildEnv { name = name; paths = buildInputs; };
+
+ buildInputs = let
+ local-python = pkgs.python3.withPackages (python-packages: with python-packages; [
+ numpy
+ sympy
+ pyopencl setuptools
+ matplotlib
+ ]);
+
+ in [
+ local-python
+ pkgs.opencl-info
+ pkgs.universal-ctags
+ ];
+
+ shellHook = ''
+ export NIX_SHELL_NAME="${name}"
+ export PYOPENCL_COMPILER_OUTPUT=1
+ export PYTHONPATH="$PWD:$PYTHONPATH"
+ '';
+}