36 lines
862 B
Nix
36 lines
862 B
Nix
|
{ pkgs, secrets, ... }:
|
||
|
{
|
||
|
users.users.jupyter = {
|
||
|
group = "jupyter";
|
||
|
};
|
||
|
|
||
|
services.jupyter = {
|
||
|
enable = true;
|
||
|
group = "jupyter";
|
||
|
ip = "0.0.0.0";
|
||
|
port = secrets.ports.jupyterhub;
|
||
|
password = secrets.keys.hashed.jupyter;
|
||
|
kernels = {
|
||
|
pythonDS = let
|
||
|
env = (pkgs.python3.withPackages (pythonPackages: with pythonPackages; [
|
||
|
numpy
|
||
|
matplotlib
|
||
|
ipykernel
|
||
|
]));
|
||
|
in {
|
||
|
displayName = "Python for data science";
|
||
|
argv = [
|
||
|
"${env.interpreter}"
|
||
|
"-m"
|
||
|
"ipykernel_launcher"
|
||
|
"-f"
|
||
|
"{connection_file}"
|
||
|
];
|
||
|
language = "python";
|
||
|
logo32 = "${env}/${env.sitePackages}/ipykernel/resources/logo-32x32.png";
|
||
|
logo64 = "${env}/${env.sitePackages}/ipykernel/resources/logo-64x64.png";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|