diff --git a/Kconfig b/Kconfig
index 506d086..6f1e7ad 100644
--- a/Kconfig
+++ b/Kconfig
@@ -109,18 +109,6 @@ config SYSTEMD
 	  Enable support for systemd's start-up completion
 	  notification and socket-based activation features.
 
-config SYSTEMD_SYSTEM_UNITDIR
-	string "installation path for systemd unit files"
-	depends on SYSTEMD
-	default ""
-	help
-	  Defines the path where systemd service and socket files get
-	  installed to. By default (empty string) the systemd files
-	  are installed to the path provided by the SYSTEMD_SYSTEM_UNITDIR
-	  environment variable or are not installed if this variable is
-	  undefined. To install a set of service files without defining
-	  environment variables, you may set this to /lib/systemd/system.
-
 config SCRIPTS
 	bool "enable pre and postinstall scripts"
 	default y
diff --git a/Makefile b/Makefile
index 9b7f640..22d98c8 100644
--- a/Makefile
+++ b/Makefile
@@ -461,26 +461,6 @@ install: all
 		install -d ${DESTDIR}/usr/lib/lua/$(LUAVER); \
 		install -m 0755 ${lua_swupdate} $(DESTDIR)/usr/lib/lua/$(LUAVER); \
 	fi
-	if [ "x${SYSTEMD_SYSTEM_UNITDIR}" != "x" ]; then \
-		install -d ${DESTDIR}${SYSTEMD_SYSTEM_UNITDIR}; \
-		install -d ${DESTDIR}/usr/lib/swupdate/conf.d; \
-		install -m 755 startup/systemd/swupdate.sh ${DESTDIR}/usr/lib/swupdate; \
-		install -m 644 startup/systemd/swupdate-progress.service ${DESTDIR}${SYSTEMD_SYSTEM_UNITDIR}; \
-		install -m 644 startup/systemd/swupdate-usb@.service ${DESTDIR}${SYSTEMD_SYSTEM_UNITDIR}; \
-		install -m 644 startup/systemd/swupdate.socket ${DESTDIR}${SYSTEMD_SYSTEM_UNITDIR}; \
-		ctrl_path=${CONFIG_SOCKET_CTRL_PATH}; progr_path=${CONFIG_SOCKET_PROGRESS_PATH}; \
-		sed -i -e "s,@@SOCKET_CTRL_PATH@@,$${ctrl_path},g" \
-			-e "s,@@SOCKET_PROGRESS_PATH@@,$${progr_path},g" \
-			${DESTDIR}${SYSTEMD_SYSTEM_UNITDIR}/swupdate.socket; \
-		install -m 644 startup/systemd/swupdate.service ${DESTDIR}${SYSTEMD_SYSTEM_UNITDIR}; \
-		install -d ${DESTDIR}/usr/lib/tmpfiles.d; \
-		install -m 0644 startup/systemd/tmpfiles-swupdate.conf ${DESTDIR}/usr/lib/tmpfiles.d/swupdate.conf; \
-		install -d ${DESTDIR}/etc/udev/rules.d; \
-		install -m 0644 startup/systemd/swupdate-usb.rules ${DESTDIR}/etc/udev/rules.d/; \
-		if [ "x$(CONFIG_MONGOOSE)" == "xy" ]; then \
-			install -m 644 startup/systemd/10-mongoose-args ${DESTDIR}/usr/lib/swupdate/conf.d/; \
-		fi; \
-	fi
 
 PHONY += run-tests
 tests: \
diff --git a/Makefile.flags b/Makefile.flags
index 38db720..614d772 100644
--- a/Makefile.flags
+++ b/Makefile.flags
@@ -184,9 +184,6 @@ endif
 
 ifeq ($(CONFIG_SYSTEMD),y)
 LDLIBS += systemd
-ifneq ($(CONFIG_SYSTEMD_SYSTEM_UNITDIR),)
-export SYSTEMD_SYSTEM_UNITDIR=$(CONFIG_SYSTEMD_SYSTEM_UNITDIR)
-endif
 endif
 
 ifeq ($(CONFIG_BOOTLOADER_EBG),y)
diff --git a/doc/source/swupdate.rst b/doc/source/swupdate.rst
index 6c7a98e..35fa656 100644
--- a/doc/source/swupdate.rst
+++ b/doc/source/swupdate.rst
@@ -522,27 +522,22 @@ configuration switch ``CONFIG_SYSTEMD``. If enabled, SWUpdate
 signals systemd about start-up completion and can make optional
 use of systemd's socket-based activation feature.
 
-To install a generic set of service and socket files, pass the
-`SYSTEMD_SYSTEM_UNITDIR` parameter, which points to `/lib/systemd/system`
-for example, to the "make install" command.
-
-For further runtime adjustments, some shell code snippets can be added
-to the `/usr/lib/swupdate/conf.d` or `/etc/swupdate/conf.d` folders. The
-code snippets are processed by a full-featured shell in alphabetical order.
-Files from /etc overwrite files from /usr/ with the same name.
+A sample systemd service unit file ``/etc/systemd/system/swupdate.service``
+may look like the following starting SWUpdate in suricatta daemon mode:
 
-The purpose of these code snippets is to assign reasonable command line
-parameters to swupdate. The following variables may be set:
+::
 
-- SWUPDATE_ARGS
-- SWUPDATE_WEBSERVER_ARGS
-- SWUPDATE_DOWNLOAD_ARGS
+	[Unit]
+	Description=SWUpdate daemon
+	Documentation=https://github.com/sbabic/swupdate
+	Documentation=https://sbabic.github.io/swupdate
 
-A sample configuration file ``/usr/lib/swupdate/conf.d/10-suricatta``
-may look like the following starting SWUpdate in suricatta daemon mode:
-::
+	[Service]
+	Type=notify
+	ExecStart=/usr/bin/swupdate -u '-t default -u http://localhost -i 25'
 
-	SWUPDATE_DOWNLOAD_ARGS='-t default -u http://localhost -i 25'
+	[Install]
+	WantedBy=multi-user.target
 
 Started via ``systemctl start swupdate.service``, SWUpdate
 (re)creates its sockets on startup. For using socket-based
diff --git a/startup/systemd/10-mongoose-args b/startup/systemd/10-mongoose-args
deleted file mode 100644
index 896e66b..0000000
--- a/startup/systemd/10-mongoose-args
+++ /dev/null
@@ -1 +0,0 @@
-SWUPDATE_WEBSERVER_ARGS="-r /www ${SWUPDATE_MONGOOSE_EXTRA_ARGS:--p 8080}"
diff --git a/startup/systemd/swupdate-progress.service b/startup/systemd/swupdate-progress.service
deleted file mode 100644
index 212d151..0000000
--- a/startup/systemd/swupdate-progress.service
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=swupdate progress service
-Before=swupdate.service
-
-[Service]
-ExecStart=/usr/bin/swupdate-progress -r -w
-
-[Install]
-WantedBy=swupdate.service
diff --git a/startup/systemd/swupdate-usb.rules b/startup/systemd/swupdate-usb.rules
deleted file mode 100644
index 7bba227..0000000
--- a/startup/systemd/swupdate-usb.rules
+++ /dev/null
@@ -1,2 +0,0 @@
-ACTION=="add", KERNEL=="sd*", SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="filesystem", TAG+="systemd", ENV{SYSTEMD_WANTS}+="swupdate-usb@%k.service"
-
diff --git a/startup/systemd/swupdate-usb@.service b/startup/systemd/swupdate-usb@.service
deleted file mode 100644
index eda9d15..0000000
--- a/startup/systemd/swupdate-usb@.service
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=usb media swupdate service
-Requires=swupdate-progress.service
-
-[Service]
-ExecStartPre=/bin/mount /dev/%I /mnt
-ExecStart=/bin/sh -c "swupdate-client -v /mnt/*.swu"
-ExecStopPost=/bin/umount /mnt
diff --git a/startup/systemd/swupdate.service b/startup/systemd/swupdate.service
deleted file mode 100644
index a3d8d19..0000000
--- a/startup/systemd/swupdate.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=SWUpdate daemon
-Documentation=https://github.com/sbabic/swupdate
-Documentation=https://sbabic.github.io/swupdate
-
-[Service]
-ExecStart=/usr/lib/swupdate/swupdate.sh
-KillMode=mixed
-
-[Install]
-WantedBy=multi-user.target
diff --git a/startup/systemd/swupdate.sh b/startup/systemd/swupdate.sh
deleted file mode 100644
index d93ec85..0000000
--- a/startup/systemd/swupdate.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-
-# Override these variables in sourced script(s) located
-# in /usr/lib/swupdate/conf.d or /etc/swupdate/conf.d
-SWUPDATE_ARGS="-v ${SWUPDATE_EXTRA_ARGS}"
-SWUPDATE_WEBSERVER_ARGS=""
-SWUPDATE_DOWNLOAD_ARGS=""
-
-# source all files from /etc/swupdate/conf.d and /usr/lib/swupdate/conf.d/
-# A file found in /etc replaces the same file in /usr
-for f in `(test -d /usr/lib/swupdate/conf.d/ && ls -1 /usr/lib/swupdate/conf.d/; test -d /etc/swupdate/conf.d && ls -1 /etc/swupdate/conf.d) | sort -u`; do
-  if [ -f /etc/swupdate/conf.d/$f ]; then
-    . /etc/swupdate/conf.d/$f
-  else
-    . /usr/lib/swupdate/conf.d/$f
-  fi
-done
-
-#  handle variable escaping in a simmple way. Use exec to forward open filedescriptors from systemd open.
-if [ "$SWUPDATE_WEBSERVER_ARGS" != "" -a  "$SWUPDATE_DOWNLOAD_ARGS" != "" ]; then
-  exec /usr/bin/swupdate $SWUPDATE_ARGS -w "$SWUPDATE_WEBSERVER_ARGS" -u "$SWUPDATE_DOWNLOAD_ARGS"
-elif [ "$SWUPDATE_WEBSERVER_ARGS" != "" ]; then
-  exec /usr/bin/swupdate $SWUPDATE_ARGS -w "$SWUPDATE_WEBSERVER_ARGS"
-elif [ "$SWUPDATE_DOWNLOAD_ARGS" != "" ]; then
-  exec /usr/bin/swupdate $SWUPDATE_ARGS -d "$SWUPDATE_DOWNLOAD_ARGS"
-else
-  exec /usr/bin/swupdate $SWUPDATE_ARGS
-fi
diff --git a/startup/systemd/swupdate.socket b/startup/systemd/swupdate.socket
deleted file mode 100644
index aeb7310..0000000
--- a/startup/systemd/swupdate.socket
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=SWUpdate socket listener
-Documentation=https://github.com/sbabic/swupdate
-Documentation=https://sbabic.github.io/swupdate
-
-[Socket]
-ListenStream=@@SOCKET_CTRL_PATH@@
-ListenStream=@@SOCKET_PROGRESS_PATH@@
-
-[Install]
-WantedBy=sockets.target
diff --git a/startup/systemd/tmpfiles-swupdate.conf b/startup/systemd/tmpfiles-swupdate.conf
deleted file mode 100644
index 4743672..0000000
--- a/startup/systemd/tmpfiles-swupdate.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-X /tmp/datadst
-X /tmp/scripts
