Easier way to source control preferences?
Hi, I try to source control all my configuration so that everything is backed up, versioned, transportable between computers, and easy to set up a new computer with. iterm2's configuration is one of the things constantly causing frustration by always showing up as dirty in my 'git status'.
Issues:
- configuration is saved in ~/Library/Preferences/ instead of (XDG-standard) ~/.config/iterm2/. I source control my ~/.config directory (but for obvious reasons not all of ~/Library/Preferences/) so even after I've set up my dotfiles repo on a new computer I need to manually go to preferences and tell iterm2 where to look for config (since I change it to ~/.config/iterm2/...).
- More importantly: config you want to source control is mixed in with config you don't. The clearest example is the date you last checked for an update. So, iterm2 config is changing constantly even when nothing of substance has changed, and additionally it's likely to cause merge conflicts when I pull my config on another computer.
Suggestions:
- use XDG-standard config location, such as ~/.config/iterm2/config
- separate ephemeral config such as 'timestamp of last update check' and specific window positions from more permanent config like colors, keybindings, and so on. Then I can easily add that separate config file to .gitignore and problem solved (edit: or leave that ephemeral config in ~/Library/Preferences).
Thanks for listening.
Edited by Keith Devens