diff --git a/data/org.gnome.Shell.Extensions.GSConnect.desktop.in b/data/org.gnome.Shell.Extensions.GSConnect.desktop.in index 3fb887c3..e8cbe1bd 100644 --- a/data/org.gnome.Shell.Extensions.GSConnect.desktop.in +++ b/data/org.gnome.Shell.Extensions.GSConnect.desktop.in @@ -5,7 +5,7 @@ [Desktop Entry] Type=Application Name=GSConnect -Exec=gapplication launch org.gnome.Shell.Extensions.GSConnect %U +Exec=@gapplication@ launch org.gnome.Shell.Extensions.GSConnect %U Terminal=false NoDisplay=true Icon=org.gnome.Shell.Extensions.GSConnect diff --git a/src/__nix-prepend-search-paths.js b/src/__nix-prepend-search-paths.js new file mode 100644 index 00000000..e664ad9b --- /dev/null +++ b/src/__nix-prepend-search-paths.js @@ -0,0 +1,2 @@ +import GIRepository from 'gi://GIRepository'; +'@typelibPath@'.split(':').forEach(path => GIRepository.Repository.dup_default().prepend_search_path(path)); diff --git a/src/extension.js b/src/extension.js index b82a9754..7303ee7a 100644 --- a/src/extension.js +++ b/src/extension.js @@ -2,6 +2,8 @@ // // SPDX-License-Identifier: GPL-2.0-or-later +import './__nix-prepend-search-paths.js'; + import Gio from 'gi://Gio'; import GObject from 'gi://GObject'; diff --git a/src/gsconnect-preferences b/src/gsconnect-preferences index 652f6b2e..7122bed6 100755 --- a/src/gsconnect-preferences +++ b/src/gsconnect-preferences @@ -15,5 +15,5 @@ if [ ! -f "./gsconnect-preferences.js" ]; then fi cd "$extension_dir" || exit 1 fi -exec /usr/bin/env gjs -m gsconnect-preferences.js +exec @gjs@ -m gsconnect-preferences.js diff --git a/src/gsconnect-preferences.js b/src/gsconnect-preferences.js index e2b1efe9..c2060e61 100644 --- a/src/gsconnect-preferences.js +++ b/src/gsconnect-preferences.js @@ -4,6 +4,8 @@ // -*- mode: js; -*- +import './__nix-prepend-search-paths.js'; + import Gdk from 'gi://Gdk?version=3.0'; import 'gi://GdkPixbuf?version=2.0'; import Gio from 'gi://Gio?version=2.0'; diff --git a/src/prefs.js b/src/prefs.js index e4d38f8c..e177810b 100644 --- a/src/prefs.js +++ b/src/prefs.js @@ -2,6 +2,8 @@ // // SPDX-License-Identifier: GPL-2.0-or-later +import './__nix-prepend-search-paths.js'; + import Gio from 'gi://Gio'; import GLib from 'gi://GLib'; import Adw from 'gi://Adw'; @@ -28,6 +30,6 @@ export default class GSConnectExtensionPreferences extends ExtensionPreferences const _launcher = Gio.SubprocessLauncher.new({flags: Gio.SubprocessFlags.NONE}); _launcher.set_cwd(this.path); - _launcher.spawnv(['gjs', '-m', 'gsconnect-preferences.js']); + _launcher.spawnv(['@gjs@', '-m', 'gsconnect-preferences.js']); } } diff --git a/src/service/daemon.js b/src/service/daemon.js index dda8b434..889c7d48 100755 --- a/src/service/daemon.js +++ b/src/service/daemon.js @@ -214,7 +214,7 @@ const Service = GObject.registerClass({ {flags: Gio.SubprocessFlags.NONE} ); _launcher.set_cwd(Config.PACKAGE_DATADIR); - _launcher.spawnv(['gjs', '-m', 'gsconnect-preferences.js']); + _launcher.spawnv(['@gjs@', '-m', 'gsconnect-preferences.js']); } /**