{pkgs, ...}: pkgs.writeNushellApplication { name = "spawn-term"; runtimeInputs = [pkgs.harbor.active-window]; text = '' let window = (active-window | from json) let window_info = { is_kitty: ($window.class? == "kitty"), pid: $window.pid? } if $window_info.is_kitty { let kitty_pid = $window_info.pid if ($kitty_pid | is-empty) { kitty exit 0 } let shell_pid = (ps | where ppid == $kitty_pid | where name != "kitten" | get pid | first) if ($shell_pid | is-empty) { kitty exit 0 } let path = ($"/proc/($shell_pid)/cwd" | path expand) kitty --directory $path } else { kitty } ''; }