jupyter-kernel: init

This is a meta package for creating a jupyter notebook
kernel definition folder. It must be used in conjunction
with jupyter or jupyterhub to make different environements
availables.

authored by Augustin Borsu and committed by Frederik Rietdijk 16f4076c 30504063

+76
+74
pkgs/applications/editors/jupyter/kernel.nix
··· 1 + { lib, stdenv, python3}: 2 + 3 + let 4 + 5 + default = { 6 + python3 = let 7 + env = (python3.withPackages (ps: with ps; [ ipykernel ])); 8 + in { 9 + displayName = "Python 3"; 10 + argv = [ 11 + "${env.interpreter}" 12 + "-m" 13 + "ipykernel_launcher" 14 + "-f" 15 + "{connection_file}" 16 + ]; 17 + language = "python"; 18 + logo32 = "${env.sitePackages}/ipykernel/resources/logo-32x32.png"; 19 + logo64 = "${env.sitePackages}/ipykernel/resources/logo-64x64.png"; 20 + }; 21 + }; 22 + 23 + in 24 + { 25 + inherit default; 26 + 27 + # Definitions is an attribute set. 28 + 29 + create = { definitions ? default }: with lib; stdenv.mkDerivation rec { 30 + 31 + name = "jupyter-kernels"; 32 + 33 + src = "/dev/null"; 34 + 35 + unpackCmd = "mkdir jupyter_kernels"; 36 + 37 + installPhase = '' 38 + mkdir kernels 39 + 40 + ${concatStringsSep "\n" (mapAttrsToList (kernelName: kernel: 41 + let 42 + config = builtins.toJSON { 43 + display_name = if (kernel.displayName != "") 44 + then kernel.displayName 45 + else kernelName; 46 + argv = kernel.argv; 47 + language = kernel.language; 48 + }; 49 + logo32 = 50 + if (kernel.logo32 != null) 51 + then "ln -s ${kernel.logo32} 'kernels/${kernelName}/logo-32x32.png';" 52 + else ""; 53 + logo64 = 54 + if (kernel.logo64 != null) 55 + then "ln -s ${kernel.logo64} 'kernels/${kernelName}/logo-64x64.png';" 56 + else ""; 57 + in '' 58 + mkdir 'kernels/${kernelName}'; 59 + echo '${config}' > 'kernels/${kernelName}/kernel.json'; 60 + ${logo32} 61 + ${logo64} 62 + '') definitions)} 63 + 64 + mkdir $out 65 + cp -r kernels $out 66 + ''; 67 + 68 + meta = { 69 + description = "Wrapper to create jupyter notebook kernel definitions"; 70 + homepage = http://jupyter.org/; 71 + maintainers = with maintainers; [ aborsu ]; 72 + }; 73 + }; 74 + }
+2
pkgs/top-level/all-packages.nix
··· 3383 3383 3384 3384 jupp = callPackage ../applications/editors/jupp { }; 3385 3385 3386 + jupyter-kernel = callPackage ../applications/editors/jupyter/kernel.nix { }; 3387 + 3386 3388 jwhois = callPackage ../tools/networking/jwhois { }; 3387 3389 3388 3390 k2pdfopt = callPackage ../applications/misc/k2pdfopt { };