brent
Making something stateless does not affect performance. It simply allows Solus to ship default configurations and simultaneously respect user configs. Not everything in Solus is stateless and it is not a simple, single system-wide change, it is a per package change and the complexity of the change required is different package to package.
The package manager will not touch /home/ as a matter of policy, /home/ is yours, eopkg no touchy. Any config you see in /home/ is not "installed" there so much as it is generated / saved during the normal running of an application. /home/ configs will continue to be a thing. As the package manager won't touch /home/, Solus does not have to worry about overwriting user changes. Its already clearly defined behaviour.
If you've ever used a Linux distribution and during an update you were prompted with a question about merging configs, this is why. They're not stateless so now you have a three way merge and the package manager is asking you what it should do and choosing the wrong option can some times break things as the application now expects something to be defined that was not in the config before.
So just to be clear how a stateless config works. Samba has been stateless for a long long long time:
/usr/share/defaults/etc/samba/smb.conf
- This belongs to Solus. Users should not edit this as it will get overwritten with every samba update.
/etc/samba/smb.conf
- This belongs to the user and does not exist by default. A user can add it to make their own changes and Solus will never touch it during a update.
As explained here: https://getsol.us/articles/software/samba/en/