Maybe I'm going and try to build a proof of concept setup wizzard this weekend, this discussion has sort of fixed me on. Because many of those things shouldn't be hard to do
Well... that was a a bit more than a weekend, and I am far from done, as I initially did not know where I want to go with this. But at least for a base idea I now got something presentable:
https://github.com/Warfley/LazSetupI've experimented with a few different functionalities and things that I think would be useful in other situations. First an updater for Lazarus, and unlike FPCUp, where the versions are hardcoded in the executable, meaning to update to the next version you need a newer version of FPCUp first, here the the newest version number is fetched from Gitlab (tags) and can simply update the Lazarus installation through git. Currently no updating functionality for FPC, but I may add this at some time (rebuilding FPC is always so tedious).
The other main functionality here is to install and uninstall packages, currently only used for the anchordocking and dockedformeditor packages to switch between Docked and Floating mode, but this can easiely be extended for other packages. I am going to defenetly add a Darktheme switch in there (the button already exists), as well as thinking about adding a curated selection of useful packages (such as weblaz, threads, lazreport, etc.). So that a beginner does not have to deal with the Manage Installed Packages dialoge in the beginning.
Also OPM integration shouldn't be that much more effort as well.
Aside from that, I also want to include a feature to fetch the Edito Color Schemes that have been posted to
https://wiki.lazarus.freepascal.org/UserSuppliedSchemeSettings and to download and install them right away.
It's still only a proof of concept, and therefore not really intended to be pretty (also the code is quite hacky at times), but I hope it gets the idea accross.
If anyone has some suggestions or ideas for more features, let me know.