nixos/jupyter: add package and command options

This commit is contained in:
Kristoffer Søholm 2020-06-30 23:25:48 +02:00
parent 029a5de083
commit 80a7a4295a

View File

@ -6,10 +6,7 @@ let
cfg = config.services.jupyter;
# NOTE: We don't use top-level jupyter because we don't
# want to pass in JUPYTER_PATH but use .environment instead,
# saving a rebuild.
package = pkgs.python3.pkgs.notebook;
package = cfg.package;
kernels = (pkgs.jupyter-kernel.create {
definitions = if cfg.kernels != null
@ -37,6 +34,27 @@ in {
'';
};
package = mkOption {
type = types.package;
# NOTE: We don't use top-level jupyter because we don't
# want to pass in JUPYTER_PATH but use .environment instead,
# saving a rebuild.
default = pkgs.python3.pkgs.notebook;
description = ''
Jupyter package to use.
'';
};
command = mkOption {
type = types.str;
default = "jupyter-notebook";
example = "jupyter-lab";
description = ''
Which command the service runs. Note that not all jupyter packages
have all commands, e.g. jupyter-lab isn't present in the default package.
'';
};
port = mkOption {
type = types.int;
default = 8888;
@ -157,7 +175,7 @@ in {
serviceConfig = {
Restart = "always";
ExecStart = ''${package}/bin/jupyter-notebook \
ExecStart = ''${package}/bin/${cfg.command} \
--no-browser \
--ip=${cfg.ip} \
--port=${toString cfg.port} --port-retries 0 \