ihaskell: re-enable

Changed files
+20 -21
nixos
modules
pkgs
development
tools
haskell
ihaskell
top-level
+2 -2
nixos/modules/misc/ids.nix
···
ripple-data-api = 186;
mediatomb = 187;
rdnssd = 188;
-
# ihaskell = 189; # unused
+
ihaskell = 189;
i2p = 190;
lambdabot = 191;
asterisk = 192;
···
#ripple-data-api = 186; #unused
mediatomb = 187;
#rdnssd = 188; # unused
-
# ihaskell = 189; # unused
+
ihaskell = 189;
i2p = 190;
lambdabot = 191;
asterisk = 192;
+1 -1
nixos/modules/module-list.nix
···
./services/misc/gogs.nix
./services/misc/gollum.nix
./services/misc/gpsd.nix
-
#./services/misc/ihaskell.nix
+
./services/misc/ihaskell.nix
./services/misc/irkerd.nix
./services/misc/jackett.nix
./services/misc/logkeys.nix
+12 -11
pkgs/development/tools/haskell/ihaskell/wrapper.nix
···
-
{ stdenv, writeScriptBin, makeWrapper, buildEnv, ghcWithPackages, ihaskell, ipython, packages }:
+
{ stdenv, writeScriptBin, makeWrapper, buildEnv, haskell, ghcWithPackages, ihaskell, jupyter, packages }:
let
ihaskellEnv = ghcWithPackages (self: [
self.ihaskell
-
self.ihaskell-blaze
-
self.ihaskell-diagrams
-
self.ihaskell-display
+
(haskell.lib.doJailbreak self.ihaskell-blaze)
+
(haskell.lib.doJailbreak self.ihaskell-diagrams)
+
(haskell.lib.doJailbreak self.ihaskell-display)
] ++ packages self);
ihaskellSh = writeScriptBin "ihaskell-notebook" ''
#! ${stdenv.shell}
export GHC_PACKAGE_PATH="$(echo ${ihaskellEnv}/lib/*/package.conf.d| tr ' ' ':'):$GHC_PACKAGE_PATH"
-
export PATH="${stdenv.lib.makeBinPath [ ihaskell ihaskellEnv ipython ]}"
-
${ihaskell}/bin/ihaskell install -l $(${ihaskellEnv}/bin/ghc --print-libdir) && ${ipython}/bin/ipython notebook --kernel=haskell
+
export PATH="${stdenv.lib.makeBinPath ([ ihaskell ihaskellEnv jupyter ])}"
+
${ihaskell}/bin/ihaskell install -l $(${ihaskellEnv}/bin/ghc --print-libdir) && ${jupyter}/bin/jupyter notebook
'';
-
profile = "${ihaskell.pname}-${ihaskell.version}/profile/profile.tar";
in
buildEnv {
name = "ihaskell-with-packages";
-
paths = [ ihaskellEnv ipython ];
+
buildInputs = [ makeWrapper ];
+
paths = [ ihaskellEnv jupyter ];
postBuild = ''
-
. "${makeWrapper}/nix-support/setup-hook"
-
ln -s ${ihaskellSh}/bin/ihaskell-notebook $out/bin/.
+
ln -s ${ihaskellSh}/bin/ihaskell-notebook $out/bin/
for prg in $out/bin"/"*;do
-
wrapProgram $prg --set PYTHONPATH "$(echo ${ipython}/lib/*/site-packages)"
+
if [[ -f $prg && -x $prg ]]; then
+
wrapProgram $prg --set PYTHONPATH "$(echo ${jupyter}/lib/*/site-packages)"
+
fi
done
'';
}
+5 -7
pkgs/top-level/all-packages.nix
···
};
-
# ihaskell = callPackage ../development/tools/haskell/ihaskell/wrapper.nix {
-
# inherit (haskellPackages) ihaskell ghcWithPackages;
+
ihaskell = callPackage ../development/tools/haskell/ihaskell/wrapper.nix {
+
inherit (haskellPackages) ihaskell ghcWithPackages;
-
# ipython = python3.buildEnv.override {
-
# extraLibs = with python3Packages; [ ipython ipykernel jupyter_client notebook ];
-
# };
+
jupyter = python3.withPackages (ps: [ ps.jupyter ps.notebook ]);
-
# packages = config.ihaskell.packages or (self: []);
-
# };
+
packages = config.ihaskell.packages or (self: []);
+
};
imapproxy = callPackage ../tools/networking/imapproxy { };