git.iko.soy/typeable/nixpkgs
on master help sign in
nautilus-open-any-terminal: init at 0.2.15
commit4b259a5334b4bfe35c87ca86c12edea048da04d0 authorFelix Buehler <account@buehler.rocks> dateSun 21 Mar 2021, 22:59 (6 years ago) parentc1d8849
3 files changed+98
pkgs/tools/misc/nautilus-open-any-terminal/default.nix+64 pkgs/tools/misc/nautilus-open-any-terminal/hardcode-gsettings.patch+32 pkgs/top-level/all-packages.nix+2
pkgs/tools/misc/nautilus-open-any-terminal/default.nixnew file+64
@@ -0,0 +1,64 @@
1+{ lib
2+, pkg-config
3+, dbus
4+, dconf
5+, fetchFromGitHub
6+, glib
7+, gnome
8+, gobject-introspection
9+, gsettings-desktop-schemas
10+, gtk3
11+, python3
12+, substituteAll
13+, wrapGAppsHook
14+}:
15+
16+python3.pkgs.buildPythonPackage rec {
17+ pname = "nautilus-open-any-terminal";
18+ version = "0.2.15";
19+
20+ src = fetchFromGitHub {
21+ owner = "Stunkymonkey";
22+ repo = pname;
23+ rev = version;
24+ sha256 = "sha256-cc6Lh5XeAuU5Os4eJ0QcL6XJYB6DqxeUGaOf6m1OnpY=";
25+ };
26+
27+ patches = [ ./hardcode-gsettings.patch ];
28+
29+ nativeBuildInputs = [
30+ glib
31+ pkg-config
32+ wrapGAppsHook
33+ ];
34+
35+ buildInputs = [
36+ dbus
37+ dconf
38+ gnome.nautilus
39+ gnome.nautilus-python
40+ gobject-introspection
41+ gsettings-desktop-schemas
42+ gtk3
43+ python3.pkgs.pygobject3
44+ ];
45+
46+ postPatch = ''
47+ substituteInPlace nautilus_open_any_terminal/open_any_terminal_extension.py \
48+ --subst-var-by gsettings_path ${glib.makeSchemaPath "$out" "$name"}
49+ '';
50+
51+ postInstall = ''
52+ glib-compile-schemas "$out/share/glib-2.0/schemas"
53+ '';
54+
55+ PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0";
56+
57+ meta = with lib; {
58+ description = "Extension for nautilus, which adds an context-entry for opening other terminal-emulators then `gnome-terminal`";
59+ license = licenses.gpl3Plus;
60+ maintainers = with maintainers; [ stunkymonkey ];
61+ homepage = "https://github.com/Stunkymonkey/nautilus-open-any-terminal";
62+ platforms = platforms.linux;
63+ };
64+}
pkgs/tools/misc/nautilus-open-any-terminal/hardcode-gsettings.patchnew file+32
@@ -0,0 +1,32 @@
1+diff --git a/nautilus_open_any_terminal/open_any_terminal_extension.py b/nautilus_open_any_terminal/open_any_terminal_extension.py
2+index b02a995..a616399 100644
3+--- a/nautilus_open_any_terminal/open_any_terminal_extension.py
4++++ b/nautilus_open_any_terminal/open_any_terminal_extension.py
5+@@ -125,9 +125,10 @@ def set_terminal_args(*args):
6+
7+ class OpenAnyTerminalShortcutProvider(GObject.GObject, Nautilus.LocationWidgetProvider):
8+ def __init__(self):
9+- source = Gio.SettingsSchemaSource.get_default()
10+- if source.lookup(GSETTINGS_PATH, True):
11+- self._gsettings = Gio.Settings.new(GSETTINGS_PATH)
12++ source = Gio.SettingsSchemaSource.new_from_directory("@gsettings_path@", Gio.SettingsSchemaSource.get_default(), True)
13++ if True:
14++ _schema = source.lookup(GSETTINGS_PATH, False)
15++ self._gsettings = Gio.Settings.new_full(_schema, None, None);
16+ self._gsettings.connect("changed", self._bind_shortcut)
17+ self._create_accel_group()
18+ self._window = None
19+@@ -232,9 +233,10 @@ class OpenAnyTerminalExtension(GObject.GObject, Nautilus.MenuProvider):
20+ return items
21+
22+
23+-source = Gio.SettingsSchemaSource.get_default()
24+-if source is not None and source.lookup(GSETTINGS_PATH, True):
25+- _gsettings = Gio.Settings.new(GSETTINGS_PATH)
26++source = Gio.SettingsSchemaSource.new_from_directory("@gsettings_path@", Gio.SettingsSchemaSource.get_default(), True)
27++if True:
28++ _schema = source.lookup(GSETTINGS_PATH, False)
29++ _gsettings = Gio.Settings.new_full(_schema, None, None);
30+ _gsettings.connect("changed", set_terminal_args)
31+ value = _gsettings.get_string(GSETTINGS_TERMINAL)
32+ if value in TERM_PARAMS:
pkgs/top-level/all-packages.nix+2
@@ -3467,6 +3467,8 @@ with pkgs;
34673467
34683468 mrkd = with python3Packages; toPythonApplication mrkd;
34693469
3470+ nautilus-open-any-terminal = callPackage ../tools/misc/nautilus-open-any-terminal { };
3471+
34703472 n2n = callPackage ../tools/networking/n2n { };
34713473
34723474 nextdns = callPackage ../applications/networking/nextdns { };