at 22.05-pre 27 lines 993 B view raw
1{ lib, stdenv, writeScriptBin, makeWrapper, buildEnv, haskell, ghcWithPackages, jupyter, packages }: 2let 3 ihaskellEnv = ghcWithPackages (self: [ 4 self.ihaskell 5 self.ihaskell-blaze 6 self.ihaskell-diagrams 7 ] ++ packages self); 8 ihaskellSh = writeScriptBin "ihaskell-notebook" '' 9 #! ${stdenv.shell} 10 export GHC_PACKAGE_PATH="$(echo ${ihaskellEnv}/lib/*/package.conf.d| tr ' ' ':'):$GHC_PACKAGE_PATH" 11 export PATH="${lib.makeBinPath ([ ihaskellEnv jupyter ])}''${PATH:+:}$PATH" 12 ${ihaskellEnv}/bin/ihaskell install -l $(${ihaskellEnv}/bin/ghc --print-libdir) && ${jupyter}/bin/jupyter notebook 13 ''; 14in 15buildEnv { 16 name = "ihaskell-with-packages"; 17 buildInputs = [ makeWrapper ]; 18 paths = [ ihaskellEnv jupyter ]; 19 postBuild = '' 20 ln -s ${ihaskellSh}/bin/ihaskell-notebook $out/bin/ 21 for prg in $out/bin"/"*;do 22 if [[ -f $prg && -x $prg ]]; then 23 wrapProgram $prg --set PYTHONPATH "$(echo ${jupyter}/lib/*/site-packages)" 24 fi 25 done 26 ''; 27}