From a4a84f87350ff36b1c9508e79583f3cc64909f3b Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Wed, 3 Jun 2020 20:32:10 +0200 Subject: Explicitly depend on env for Jupyter tasks This way the Jupyter environment is built during home instantiation and not only when actually calling the launcher script. This solves various GC and network availability related issues for this task type. --- module/tasker.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'module') diff --git a/module/tasker.nix b/module/tasker.nix index b79d854..112da88 100644 --- a/module/tasker.nix +++ b/module/tasker.nix @@ -11,9 +11,8 @@ let #!/bin/sh exec ${pkgs.kitty}/bin/kitty -d ${dir} ${cmd} ''; - launchJupyterInDirectory = dir: env: '' - #!/usr/bin/env nix-shell - #!nix-shell ${builtins.unsafeDiscardStringContext env.drvPath} -i fish + launchJupyterInDirectory = dir: jupyter: '' + #!/usr/bin/env fish for port in (seq 9000 9100) if not ss --listening --oneline --tcp --no-header | awk '{ split($4, port, ":"); print port[2]+0 }' | grep -q $port @@ -23,7 +22,7 @@ let end set token (head /dev/urandom | tr -dc A-Za-z0-9 | head -c 40) - jupyter lab --no-browser --port=$free_port --NotebookApp.token=$token & + ${jupyter}/bin/jupyter-lab --no-browser --port=$free_port --NotebookApp.token=$token & sleep 2 ${pkgs.chromium}/bin/chromium --app="http://localhost:$free_port/?token=$token" kill (jobs -lp) @@ -69,7 +68,7 @@ let in pkgs.symlinkJoin { name = "tasker_task_" + name; - paths = [ command shortcut ]; + paths = [ shortcut ]; }) config.custom.tasks; in { -- cgit v1.2.3