alichtman / shallow-backup

Git-integrated backup tool for macOS and Linux devs.
MIT License
1.23k stars 248 forks source link

OS-specific configurations #286

Open tim-coutinho opened 3 years ago

tim-coutinho commented 3 years ago

Is this something that's up for consideration? I use different operating systems for work vs. my personal computer. As of now, I'm controlling which files are backed up and/or reinstalled with something like [[ $OSTYPE =~ 'linux' ]] or [[ $OSTYPE =~ 'darwin' ]] in the condition fields, but it doesn't make much sense to backup shallow-backup.conf itself due to paths differing based on the OS, e.g. on my Macbook, my Sublime Text settings are at /Users/$USER/Library/Application Support/Sublime Text 3/Installed Packages, while on my personal Windows machine with WSL, they're at /mnt/c/Users/$USER/AppData/Roaming/Sublime Text 3. The backup_path potentially differs for both as well.

Basically, more programmatic parsing of shallow-backup.conf is what I'm looking for.

alichtman commented 3 years ago

I'm open to re-engineering this feature. It was a duct-tape patch originally to get minimal functionality for me to use it across my devices, but definitely has some shortcomings (like you mentioned).

It would be a good idea to fix this.

One idea is separate top level keys per-OS. This leads to a lot of duplication, so maybe we could have a default backup profile and then OS-specific overrides.

tim-coutinho commented 3 years ago

Sounds good, I'll potentially look into giving it a shot.