--- a/src/meson.build
+++ b/src/meson.build
@@ -69,12 +69,12 @@
 
 ###############################################################################
 
-libnm_systemd_common_cflags = [ ]
+# libnm_systemd_common_cflags = [ ]
 
-libnm_systemd_common_cflags += cc.get_supported_arguments([
-  '-Wno-nonnull-compare',
-  '-Wno-calloc-transposed-args',
-])
+# libnm_systemd_common_cflags += cc.get_supported_arguments([
+#   '-Wno-nonnull-compare',
+#   '-Wno-calloc-transposed-args',
+# ])
 
 ###############################################################################
 
@@ -82,8 +82,8 @@
 subdir('libnm-glib-aux')
 subdir('libnm-log-null')
 subdir('libnm-log-core')
-subdir('libnm-systemd-shared')
-subdir('libnm-systemd-core')
+#subdir('libnm-systemd-shared')
+#subdir('libnm-systemd-core')
 subdir('libnm-udev-aux')
 subdir('libnm-base')
 subdir('libnm-platform')

--- a/src/core/meson.build
+++ b/src/core/meson.build
@@ -38,7 +38,6 @@
     'dhcp/nm-dhcp-client.c',
     'dhcp/nm-dhcp-manager.c',
     'dhcp/nm-dhcp-nettools.c',
-    'dhcp/nm-dhcp-systemd.c',
     'dhcp/nm-dhcp-utils.c',
     'dhcp/nm-dhcp-options.c',
     'ndisc/nm-lndp-ndisc.c',
@@ -59,7 +58,6 @@
   dependencies: [
     core_default_dep,
     libnm_core_public_dep,
-    libsystemd_dep,
     libudev_dep,
   ],
 )
@@ -125,7 +123,6 @@
     'dns/nm-dns-dnsmasq.c',
     'dns/nm-dns-manager.c',
     'dns/nm-dns-plugin.c',
-    'dns/nm-dns-systemd-resolved.c',
     'dnsmasq/nm-dnsmasq-manager.c',
     'dnsmasq/nm-dnsmasq-utils.c',
     'ppp/nm-ppp-manager-call.c',
@@ -177,8 +174,6 @@
   dependencies: nm_deps,
   link_with: [
     libNetworkManagerBase,
-    libnm_systemd_core,
-    libnm_systemd_shared,
   ],
 )
 
@@ -210,7 +205,6 @@
       libnm_lldp,
       libnm_platform,
       libnm_base,
-      libnm_systemd_shared,
       libnm_udev_aux,
       libnm_log_core,
       libnm_glib_aux,

--- a/meson.build
+++ b/meson.build
@@ -266,12 +266,12 @@
   jansson_msg = 'yes (soname: ' + jansson_soname + ')'
 endif
 
-libsystemd_dep = dependency('libsystemd', version: '>= 209', required: false)
-libsystemd_login_dep = dependency('libsystemd-login', version: '>= 183', required: false)
-
-config_h.set10('HAVE_LIBSYSTEMD', libsystemd_dep.found())
-
-systemd_dep = dependency('systemd', required: false)
+#libsystemd_dep = dependency('libsystemd', version: '>= 209', required: false)
+#libsystemd_login_dep = dependency('libsystemd-login', version: '>= 183', required: false)
+#
+#config_h.set10('HAVE_LIBSYSTEMD', libsystemd_dep.found())
+#
+#systemd_dep = dependency('systemd', required: false)
 
 gio_unix_dep = dependency('gio-unix-2.0', version: '>= 2.42')
 
--- a/src/libnm-log-core/meson.build
+++ b/src/libnm-log-core/meson.build
@@ -8,7 +8,6 @@
     top_inc,
   ],
   dependencies: [
-    libsystemd_dep,
     glib_dep,
   ],
 )

--- a/src/libnm-core-impl/meson.build
+++ b/src/libnm-core-impl/meson.build
@@ -106,7 +106,6 @@
     libnm_core_impl,
     libnm_crypto,
     libnm_base,
-    libnm_systemd_shared,
     libnm_log_null,
     libnm_glib_aux,
     libnm_std_aux,

--- a/src/libnm-core-impl/tests/meson.build
+++ b/src/libnm-core-impl/tests/meson.build
@@ -31,7 +31,6 @@
       libnm_core_impl,
       libnm_crypto,
       libnm_base,
-      libnm_systemd_shared,
       libnm_log_null,
       libnm_glib_aux,
       libnm_std_aux,

--- a/src/libnm-client-impl/meson.build
+++ b/src/libnm-client-impl/meson.build
@@ -90,7 +90,6 @@
     libnm_crypto,
     libnm_base,
     libnm_udev_aux,
-    libnm_systemd_shared,
     libnm_log_null,
     libnm_glib_aux,
     libnm_std_aux,

--- a/src/nm-initrd-generator/meson.build
+++ b/src/nm-initrd-generator/meson.build
@@ -33,7 +33,6 @@
     libnm_crypto,
     libnm_platform,
     libnm_base,
-    libnm_systemd_shared,
     libnm_udev_aux,
     libnm_log_core,
     libnm_glib_aux,

--- a/src/nm-initrd-generator/tests/meson.build
+++ b/src/nm-initrd-generator/tests/meson.build
@@ -25,7 +25,6 @@
       libnm_crypto,
       libnm_platform,
       libnm_base,
-      libnm_systemd_shared,
       libnm_udev_aux,
       libnm_log_core,
       libnm_glib_aux,

--- a/src/core/tests/meson.build
+++ b/src/core/tests/meson.build
@@ -35,13 +35,9 @@
     src_inc,
   ],
   dependencies: [
-    libnm_systemd_shared_dep_inc,
-    libnm_systemd_core_dep_inc,
     glib_dep,
   ],
   link_with: [
-    libnm_systemd_shared,
-    libnm_systemd_core,
     libnm_glib_aux,
     libnm_log_null,
     libnm_std_aux,

--- a/src/core/devices/wwan/meson.build
+++ b/src/core/devices/wwan/meson.build
@@ -14,7 +14,6 @@
   ) + (enable_ofono ? files('nm-modem-ofono.c') : files()),
   dependencies: [
     core_plugin_dep,
-    libsystemd_dep,
     mm_glib_dep,
   ],
   link_args: '-Wl,--version-script,@0@'.format(linker_script),
@@ -47,7 +46,6 @@
   ),
   dependencies: [
     core_plugin_dep,
-    libsystemd_dep,
     mm_glib_dep,
   ],
   link_with: libnm_wwan,

--- a/src/libnm-client-impl/tests/meson.build
+++ b/src/libnm-client-impl/tests/meson.build
@@ -28,7 +28,6 @@
       libnm_crypto,
       libnm_base,
       libnm_udev_aux,
-      libnm_systemd_shared,
       libnm_log_null,
       libnm_glib_aux,
       libnm_std_aux,

--- a/src/core/tests/test-core.c
+++ b/src/core/tests/test-core.c
@@ -2400,136 +2400,6 @@
 
 /*****************************************************************************/
 
-static void
-test_nm_utils_dhcp_client_id_systemd_node_specific(gconstpointer test_data)
-{
-    const int     TEST_IDX     = GPOINTER_TO_INT(test_data);
-    const guint8  HASH_KEY[16] = {0x80,
-                                  0x11,
-                                  0x8c,
-                                  0xc2,
-                                  0xfe,
-                                  0x4a,
-                                  0x03,
-                                  0xee,
-                                  0x3e,
-                                  0xd6,
-                                  0x0c,
-                                  0x6f,
-                                  0x36,
-                                  0x39,
-                                  0x14,
-                                  0x09};
-    const guint16 duid_type_en = htons(2);
-    const guint32 systemd_pen  = htonl(43793);
-    const struct {
-        NMUuid      machine_id;
-        const char *ifname;
-        guint64     ifname_hash_1;
-        guint32     iaid_ifname;
-        guint64     duid_id;
-    } d_array[] = {
-        [0] =
-            {
-                .machine_id.uuid = {0xcb,
-                                    0xc2,
-                                    0x2e,
-                                    0x47,
-                                    0x41,
-                                    0x8e,
-                                    0x40,
-                                    0x2a,
-                                    0xa7,
-                                    0xb3,
-                                    0x0d,
-                                    0xea,
-                                    0x92,
-                                    0x83,
-                                    0x94,
-                                    0xef},
-                .ifname          = "lo",
-                .ifname_hash_1   = 0x7297085c2b12c911llu,
-                .iaid_ifname     = htobe32(0x5985c14du),
-                .duid_id         = htobe64(0x3d769bb2c14d29e1u),
-            },
-        [1] =
-            {
-                .machine_id.uuid = {0x11,
-                                    0x4e,
-                                    0xb4,
-                                    0xda,
-                                    0xd3,
-                                    0x22,
-                                    0x4a,
-                                    0xff,
-                                    0x9f,
-                                    0xc3,
-                                    0x30,
-                                    0x83,
-                                    0x38,
-                                    0xa0,
-                                    0xeb,
-                                    0xb7},
-                .ifname          = "eth0",
-                .ifname_hash_1   = 0x9e1cb083b54cd7b6llu,
-                .iaid_ifname     = htobe32(0x2b506735u),
-                .duid_id         = htobe64(0x551572e0f2a2a10fu),
-            },
-    };
-    int                 i;
-    typeof(d_array[0]) *d = &d_array[TEST_IDX];
-    gint64              u64;
-    gint32              u32;
-
-    /* the test already hard-codes the expected values iaid_ifname and duid_id
-     * above. Still, redo the steps to derive them from the ifname/machine-id
-     * and double check. */
-    u64 = c_siphash_hash(HASH_KEY, (const guint8 *) d->ifname, strlen(d->ifname));
-    g_assert_cmpint(u64, ==, d->ifname_hash_1);
-    u32 = be32toh((u64 & 0xffffffffu) ^ (u64 >> 32));
-    g_assert_cmpint(u32, ==, d->iaid_ifname);
-
-    u64 = htole64(c_siphash_hash(HASH_KEY, (const guint8 *) &d->machine_id, sizeof(d->machine_id)));
-    g_assert_cmpint(u64, ==, d->duid_id);
-
-    for (i = 0; i < 2; i++) {
-        const gboolean         legacy_unstable_byteorder = (i != 0);
-        gs_unref_bytes GBytes *client_id                 = NULL;
-        const guint8          *cid;
-        guint32                iaid = d->iaid_ifname;
-        guint32                tmp;
-
-        tmp = nm_utils_create_dhcp_iaid(legacy_unstable_byteorder,
-                                        (const guint8 *) d->ifname,
-                                        strlen(d->ifname));
-        client_id =
-            nm_utils_dhcp_client_id_systemd_node_specific_full(tmp,
-                                                               (const guint8 *) &d->machine_id,
-                                                               sizeof(d->machine_id));
-
-        g_assert(client_id);
-        g_assert_cmpint(g_bytes_get_size(client_id), ==, 19);
-        cid = g_bytes_get_data(client_id, NULL);
-        g_assert_cmpint(cid[0], ==, 255);
-#if __BYTE_ORDER == __BIG_ENDIAN
-        if (legacy_unstable_byteorder) {
-            /* on non-little endian, the legacy behavior is to have the bytes
-             * swapped. */
-            iaid = bswap_32(iaid);
-        }
-#endif
-        g_assert_cmpmem(&cid[1], 4, &iaid, sizeof(iaid));
-        g_assert_cmpmem(&cid[5], 2, &duid_type_en, sizeof(duid_type_en));
-        g_assert_cmpmem(&cid[7], 4, &systemd_pen, sizeof(systemd_pen));
-        g_assert_cmpmem(&cid[11], 8, &d->duid_id, sizeof(d->duid_id));
-
-        g_assert_cmpint(iaid,
-                        ==,
-                        htonl(nm_utils_create_dhcp_iaid(legacy_unstable_byteorder,
-                                                        (const guint8 *) d->ifname,
-                                                        strlen(d->ifname))));
-    }
-}
 
 /*****************************************************************************/
 
@@ -2814,13 +2684,6 @@
 
     g_test_add_func("/general/test_dns_create_resolv_conf", test_dns_create_resolv_conf);
 
-    g_test_add_data_func("/general/nm_utils_dhcp_client_id_systemd_node_specific/0",
-                         GINT_TO_POINTER(0),
-                         test_nm_utils_dhcp_client_id_systemd_node_specific);
-    g_test_add_data_func("/general/nm_utils_dhcp_client_id_systemd_node_specific/1",
-                         GINT_TO_POINTER(1),
-                         test_nm_utils_dhcp_client_id_systemd_node_specific);
-
     g_test_add_func("/core/general/test_connectivity_state_cmp", test_connectivity_state_cmp);
     g_test_add_func("/core/general/test_kernel_cmdline_match_check",
                     test_kernel_cmdline_match_check);
