doing a writeup for myself so why not let others in on the thing.
so the main tool is darkman. install instructions are on the github, it’s in the package manager on a lot of distros. after install and starting the service, all that’s needed is to create:
$ mkdir -p ~/.local/share/{light,dark}-mode.d/
not a fan of this layout, a single hook woulda been enough, but what do I know. anyhoo, we need the script to switch the theme:
$ nano ~/.local/share/light-mode.d/light.sh
#!/usr/bin/env bash
export WAYLAND_DISPLAY=wayland-0
export QT_QPA_PLATFORM=wayland
export DISPLAY=:0
plasma-apply-colorscheme BreezeLight
and the inverse for dark:
$ nano ~/.local/share/dark-mode.d/dark.sh
#!/usr/bin/env bash
export WAYLAND_DISPLAY=wayland-0
export QT_QPA_PLATFORM=wayland
export DISPLAY=:0
plasma-apply-colorscheme BreezeDark
make both scripts executable:
$ chmod +x .local/share/{light,dark}-mode.d/*.sh
you can optionally change wallpapers, icons, etc. in them scripts.
and that’s it. works fine, you can hardcode the hours for switching, otherwise it uses your coarse location for determining sunrise/sunset. most QT and GTK apps follow the new setting instantly, some still don’t, you need to restart them. you can use darkman get
to return the current mode, for shell scripts and such.
Another option is just to wait for v6.5: https://www.phoronix.com/news/KDE-Theme-Day-Night-Auto-Switch