{ lib, pkg-config, dbus, dconf, fetchFromGitHub, glib, nautilus, nautilus-python, gobject-introspection, gsettings-desktop-schemas, gtk3, python3, wrapGAppsHook3, }: python3.pkgs.buildPythonPackage rec { pname = "nautilus-open-any-terminal"; version = "0.6.0"; pyproject = true; src = fetchFromGitHub { owner = "Stunkymonkey"; repo = pname; tag = version; hash = "sha256-jKPqgd0sSt/qKPqbYbvdeGuo78R5gp1R5tSTPAzz+IU="; }; patches = [ ./hardcode-gsettings.patch ]; nativeBuildInputs = [ glib gobject-introspection pkg-config wrapGAppsHook3 python3.pkgs.setuptools-scm ]; buildInputs = [ dbus dconf nautilus nautilus-python gsettings-desktop-schemas gtk3 python3.pkgs.pygobject3 ]; postPatch = '' substituteInPlace nautilus_open_any_terminal/nautilus_open_any_terminal.py \ --subst-var-by gsettings_path ${glib.makeSchemaPath "$out" "$name"} ''; postInstall = '' glib-compile-schemas "$out/share/glib-2.0/schemas" ''; meta = with lib; { description = "Extension for nautilus, which adds an context-entry for opening other terminal-emulators then `gnome-terminal`"; license = licenses.gpl3Plus; maintainers = with maintainers; [ stunkymonkey ]; homepage = "https://github.com/Stunkymonkey/nautilus-open-any-terminal"; platforms = platforms.linux; }; }