Hi there, me again. I have a laptop and a desktop and I want to keep my hazel settings synced across both computers. I want to report my success with keeping my laptop and desktop Hazel rules synced using Unison.
I'm syncing
~/Library/Preferences/com.noodlesoft.HazelHelper.plist
~/Library/Preferences/com.noodlesoft.Hazel.plist
~/Library/Application Support/Hazel/*.hazelrules
.hazeldb files do not play nice with file sync, as they seem to change every few seconds. I assumed that these files are housekeeping info that hazel needs to keep in order to track the last time it tried to apply rules. I don't sync those, and let Hazel apply the rules at different times on the two systems.
Caveats
1. My user is the same on both machines. Therefore the absolute path to ~ is the same on both. This would be an issue if Hazel does not use path names relative to ~ (which it should, for files in a user directory, if it doesn't).
2. I use Unison to make my ~ folders nearly identical. I have to be very careful to ensure that the folders I'm applying Hazel rules on exist on both systems. For rules that apply to folders that only exist on one system or the other, I created the rule, tracked the resulting hazeldb file that was created using FSEventer, and ignored that file in the Unison profile, so that it would not propagate.
3. Having Hazel on both systems is technically redundant. If you have two systems with file systems that are kept in sync well enough to have Hazel rules apply to them, you probably don't need your Hazel rules on both computers. For instance, before I was syncing Hazel rules,the laptop files would be synced to the desktop in their disordered state, cleaned up by Hazel, and then propagated back to the laptop in the changed state on the following sync. I didn't have to do anything extra to set this up. I just found it more convenient to immediately apply the rules (mainly because of less network chatter involved).