How do you declare your PWA:s?


I have a few apps that I run as PWA (Outlook, Teams, ProtonPass) via Vivaldi, potentially more… How do you approach these when configuring your systems/flakes?

I want to have them declared so I can get my desktop entries from scratch but from what I can tell I have to manually “install” the site as a PWA in Vivaldi so it gets an entry in vivaldi://apps and then all it does is create a desktop entry in .local/share/applications that basically opens Vivaldi with a set of parameters. But I don’t want to have hard-coded app ids in my configuration etc…

Is there better way of “encapsulating” these sites as apps, instead of installing them via a browser? I know of Ferdium, but I want each app to have its own desktop entry. I found this compiled list of services but it’s quite outdated and I can’t find any of them in nixpkgs.