* Set Power Profiles Rules when plugged in (balanced) and unplugged (power-saver)"
* Check for battery presence before installing power profile rules
* Add battery presence check script and update powerprofilesctl rules
* fix indentation
* Simplify power profile rule creation logic
When a kernel upgrade is taken in, we replace current modules with new
ones and they are not available until we reboot. This can cause the
system to appear broken, especially when plugging new hardwaare like a
pen drive or odd input device.
This patch adds kernel-modules-hook which keeps the current modules even
if the package is replaced. A one-off clean-up service runs on startup
to remove older modules.
Solves the issue from ae10133b5e the right
way using the actual xdg-terminal-exec package and provides resillient
fallbacks no matter what the user might do.
This also removes the need to restart after changing terminals at all.
fixes#2198fixes#2329fixes#2673fixes#1754
Because of [hardcoded terminals in
glib](https://gitlab.gnome.org/GNOME/glib/-/blob/main/gio/gdesktopappinfo.c#L2755)
the previous fix still doesn't work well with Alacritty and Kitty.
Using our `omarchy-launch-terminal` aliased to `xdg-terminal-exec` does
the trick and doesn't introduce any new dependencies or rely on a lib
that isn't stable.
Derives the list of required modules for the installer from Chris
McLeod's manual installation steps. His instructions say to use the
surface-linux kernel however the default kernel has the right set
of modules already (as noted by the fact that the right modules are
loaded for the keyboard to work during the install and after the LUKS
unlock screen).
I only have a Surface Laptop 3 to test this on but based on the guide
where Chris is using a newer laptop and the only difference is the
pinctrl module which I attempt to autodetect I think it should "just"
work for others but definitely "use at your own risk".