1diff --git a/clients/common/nm-vpn-helpers.c b/clients/common/nm-vpn-helpers.c
2index 15c47c3ec..4d1913aa6 100644
3--- a/clients/common/nm-vpn-helpers.c
4+++ b/clients/common/nm-vpn-helpers.c
5@@ -208,15 +208,7 @@ nm_vpn_openconnect_authenticate_helper(const char *host,
6 NULL,
7 };
8
9- path = nm_utils_file_search_in_paths("openconnect",
10- "/usr/sbin/openconnect",
11- DEFAULT_PATHS,
12- G_FILE_TEST_IS_EXECUTABLE,
13- NULL,
14- NULL,
15- error);
16- if (!path)
17- return FALSE;
18+ path = "@openconnect@/bin/openconnect";
19
20 if (!g_spawn_sync(NULL,
21 (char **) NM_MAKE_STRV(path, "--authenticate", host),
22diff --git a/data/84-nm-drivers.rules b/data/84-nm-drivers.rules
23index e398cb9f2..a43d61864 100644
24--- a/data/84-nm-drivers.rules
25+++ b/data/84-nm-drivers.rules
26@@ -7,6 +7,6 @@ ACTION!="add|change", GOTO="nm_drivers_end"
27 # Determine ID_NET_DRIVER if there's no ID_NET_DRIVER or DRIVERS (old udev?)
28 ENV{ID_NET_DRIVER}=="?*", GOTO="nm_drivers_end"
29 DRIVERS=="?*", GOTO="nm_drivers_end"
30-PROGRAM="/bin/sh -c '/usr/sbin/ethtool -i $$1 |/usr/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c"
31+PROGRAM="@runtimeShell@ -c '@ethtool@/bin/ethtool -i $$1 |@gnused@/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c"
32
33 LABEL="nm_drivers_end"
34diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in
35index 91ebd9a36..5201a56c3 100644
36--- a/data/NetworkManager.service.in
37+++ b/data/NetworkManager.service.in
38@@ -8,7 +8,7 @@ Before=network.target @DISTRO_NETWORK_SERVICE@
39 [Service]
40 Type=dbus
41 BusName=org.freedesktop.NetworkManager
42-ExecReload=/usr/bin/busctl call org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager Reload u 0
43+ExecReload=@systemd@/bin/busctl call org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager Reload u 0
44 #ExecReload=/bin/kill -HUP $MAINPID
45 ExecStart=@sbindir@/NetworkManager --no-daemon
46 Restart=on-failure
47diff --git a/libnm/meson.build b/libnm/meson.build
48index d0846419c..a7adb2cc6 100644
49--- a/libnm/meson.build
50+++ b/libnm/meson.build
51@@ -280,7 +280,6 @@ if enable_introspection
52 output: 'nm-settings-docs-gir.xml',
53 command: [
54 generate_setting_docs_env,
55- python.path(),
56 join_paths(meson.source_root(), 'tools', 'generate-docs-nm-settings-docs-gir.py'),
57 '--lib-path', meson.current_build_dir(),
58 '--gir', '@INPUT@',
59diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c
60index 040dd0b4d..98aea3aa9 100644
61--- a/src/core/devices/nm-device.c
62+++ b/src/core/devices/nm-device.c
63@@ -13957,14 +13957,14 @@ nm_device_start_ip_check(NMDevice *self)
64 gw = nm_ip4_config_best_default_route_get(priv->ip_config_4);
65 if (gw) {
66 _nm_utils_inet4_ntop(NMP_OBJECT_CAST_IP4_ROUTE(gw)->gateway, buf);
67- ping_binary = nm_utils_find_helper("ping", "/usr/bin/ping", NULL);
68+ ping_binary = "@iputils@/bin/ping";
69 log_domain = LOGD_IP4;
70 }
71 } else if (priv->ip_config_6 && priv->ip_state_6 == NM_DEVICE_IP_STATE_DONE) {
72 gw = nm_ip6_config_best_default_route_get(priv->ip_config_6);
73 if (gw) {
74 _nm_utils_inet6_ntop(&NMP_OBJECT_CAST_IP6_ROUTE(gw)->gateway, buf);
75- ping_binary = nm_utils_find_helper("ping6", "/usr/bin/ping6", NULL);
76+ ping_binary = "@iputils@/bin/ping";
77 log_domain = LOGD_IP6;
78 }
79 }
80diff --git a/src/core/nm-core-utils.c b/src/core/nm-core-utils.c
81index 9075c30dd..4b140e92b 100644
82--- a/src/core/nm-core-utils.c
83+++ b/src/core/nm-core-utils.c
84@@ -333,7 +333,7 @@ nm_utils_modprobe(GError **error, gboolean suppress_error_logging, const char *a
85
86 /* construct the argument list */
87 argv = g_ptr_array_sized_new(4);
88- g_ptr_array_add(argv, "/sbin/modprobe");
89+ g_ptr_array_add(argv, "@kmod@/bin/modprobe");
90 g_ptr_array_add(argv, "--use-blacklist");
91 g_ptr_array_add(argv, (char *) arg1);
92