Configuration is currently saved in the repository. This completely defeats the purpose of configuration.
It is useful to have an example configuration so users can figure out how the heck to use pigeons. But the live configuration doesn't belong in the repository. Simply copying an example configuration to the real configuration path would do the job.
Accordingly, a .gitignore should include whatever the path of the live configuration the app uses, ends up being.
Why
Users will modify the configuration. Without a UI, this is an absolute necessity. When they do, Git will think they might want to commit to the repository. This is not necessarily true, and even if it was, they likely do not want to commit their configuration.
Configuration is separate from code for a reason, and after all, this is lisp - configuration is code!
Considerations
Example configurations would be great. This could make the learning curve much shallower.
Adding configuration path to .gitconfig is a must.
Deleting the existing configuration (if it's still in there) is a must. Don't be shy about this!
Feel free to mess with the configuration path as it stands today, just be sensible about it. There's a sweet spot between "clean" paths and deep nesting, and moving outside this sweet spot can be confusing/daunting. Try to stick to only one directory deep, if you can.
Summary
Configuration is currently saved in the repository. This completely defeats the purpose of configuration.
It is useful to have an example configuration so users can figure out how the heck to use pigeons. But the live configuration doesn't belong in the repository. Simply copying an example configuration to the real configuration path would do the job.
Accordingly, a
.gitignore
should include whatever the path of the live configuration the app uses, ends up being.Why
Users will modify the configuration. Without a UI, this is an absolute necessity. When they do, Git will think they might want to commit to the repository. This is not necessarily true, and even if it was, they likely do not want to commit their configuration.
Configuration is separate from code for a reason, and after all, this is lisp - configuration is code!
Considerations
.gitconfig
is a must.