%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
%{dracutlibdir}/modules.d/01fips
%endif
+%{dracutlibdir}/modules.d/01systemd-ac-power
%{dracutlibdir}/modules.d/01systemd-ask-password
%{dracutlibdir}/modules.d/01systemd-coredump
%{dracutlibdir}/modules.d/01systemd-initrd
--- /dev/null
+# This file is part of dracut systemd ac power module
+SUBSYSTEM=="power_supply", KERNEL=="AC", ATTR{online}=="0", RUN+="/usr/sbin/systemctl start initrd-on-battery-power.target"
+SUBSYSTEM=="power_supply", KERNEL=="AC", ATTR{online}=="1", RUN+="/usr/sbin/systemctl start initrd-on-ac-power.target"
--- /dev/null
+# This file is part of dracut.
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+[Unit]
+Description=Initial RAM Disk On AC Power
+ConditionPathExists=/usr/lib/initrd-release
+DefaultDependencies=no
+StopWhenUnneeded=yes
--- /dev/null
+# This file is part of dracut.
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+[Unit]
+Description=Initial RAM Disk On Battery Power
+ConditionPathExists=/usr/lib/initrd-release
+DefaultDependencies=no
+StopWhenUnneeded=yes
--- /dev/null
+#!/bin/bash
+# This file is part of dracut.
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# Prerequisite check(s) for module.
+check() {
+
+ # Return 255 to only include the module, if another module requires it.
+ return 255
+
+}
+
+# Module dependency requirements.
+depends() {
+
+ # Return 0 to include the dependent module(s) in the initramfs.
+ return 0
+
+}
+
+# Install the required file(s) and directories for the module in the initramfs.
+install() {
+
+ inst_rules "$moddir/99-initrd-power-targets.rules"
+ inst_simple "$systemdutildir"/systemd-ac-power
+ inst_simple "$moddir/initrd-on-ac-power.target" "$systemdsystemunitdir/initrd-on-ac-power.target"
+ inst_simple "$moddir/initrd-on-battery-power.target" "$systemdsystemunitdir/initrd-on-battery-power.target"
+
+}