···1-diff --git a/kitty_tests/ssh.py b/kitty_tests/ssh.py
2-index 1f424146..57620334 100644
3---- a/kitty_tests/ssh.py
4-+++ b/kitty_tests/ssh.py
5-@@ -197,7 +197,7 @@ def test_ssh_login_shell_detection(self):
6- expected_login_shell = pwd.getpwuid(os.geteuid()).pw_shell
7- for m in methods:
8- for sh in self.all_possible_sh:
9-- if 'python' in sh:
10-+ if 'python' in sh or '/sbin/nologin' in expected_login_shell:
11- continue
12- with self.subTest(sh=sh, method=m), tempfile.TemporaryDirectory() as tdir:
13- pty = self.check_bootstrap(sh, tdir, test_script=f'{m}; echo "$login_shell"; exit 0', SHELL_INTEGRATION_VALUE='')
···1+{ lib
2+, buildPythonPackage
3+, fetchPypi
4+, numpy
5+}:
6+7+buildPythonPackage rec {
8+ pname = "isosurfaces";
9+ version = "0.1.0";
10+11+ src = fetchPypi {
12+ inherit pname version;
13+ sha256 = "fa1b44e5e59d2f429add49289ab89e36f8dcda49b7badd99e0beea273be331f4";
14+ };
15+16+ propagatedBuildInputs = [ numpy ];
17+18+ # no tests defined upstream
19+ doCheck = false;
20+21+ pythonImportsCheck = [ "isosurfaces" ];
22+23+ meta = with lib; {
24+ homepage = "https://github.com/jared-hughes/isosurfaces";
25+ description = "Construct isolines/isosurfaces of a 2D/3D scalar field defined by a function";
26+ longDescription = ''
27+ Construct isolines/isosurfaces of a 2D/3D scalar field defined by a
28+ function, i.e. curves over which f(x,y)=0 or surfaces over which
29+ f(x,y,z)=0. Most similar libraries use marching squares or similar over a
30+ uniform grid, but this uses a quadtree to avoid wasting time sampling
31+ many far from the implicit surface.
32+ '';
33+ license = licenses.mit;
34+ maintainers = with maintainers; [ friedelino ];
35+ };
36+}