Is it possible to sync all the user settings (interface settings, program settings), as well as programs for multiple computers? Data is not as important, though the settings (which is technically data, but not that kind of data, like music, files...) and applications are. Also, it will not sync the drivers. (Example: 1 computer uses bumblebee and the other uses ATI catalyst, and maybe there's different network drivers.. etc.)
I think I have a plausible answer for you; enter rsync. If you have multiple machines you would want to use this in a script; You would want to ensure that the package, 'openssh-server' is installed on all of the target machines and you would run:
rsync -ar -e ssh /home/* user@destination_hostname:/home
In the above example user would be a user with write permissions to the destination /home filesystem. After each run it will only synch the diffs. You would need to run this on the system that is going to act as the source system along with the target user account having write permissions to /home.
For multiple systems I would throw all of the target hostnames in a file, 'hosts.txt' run this shell code:
for i in