as for 1. if you ever have some free time on your hands, and want to take declarative configs to the next level, you can check out Impermanence for NixOS: https://news.ycombinator.com/item?id=37218289
and 2...hm I know i've done Miracast before with GNOME Network Displays https://flathub.org/apps/org.gnome.NetworkDisplays