vcsh
vcsh copied to clipboard
`vcsh import` -- Take existing dotfile repos and import them into vcsh with a basic wizard
This would need to present a list of files and ask what to do with each. Batch mode would help.
- Move gitignore
- Remove any prepending paths
- Any README or similar needs to move into a subdir
I was just turned on to @lra's excellent mackup project: https://github.com/lra/mackup/
And in particular it's excellent list of which dotfiles common applications depend on: https://github.com/lra/mackup/tree/master/mackup/applications
Might I suggest working to either depend on these or help factor them out into a common repo so that vcsh could allow repo initialization for specific apps without the user having to already possess the knowledge of what dotfiles are relevant per-app?
Cheers,
Brandon
Nice concept; I will need to think about a clean way to do this.
As an aside, this is a glaring security hole so I may need to talk to them and/or maintain my own list: https://github.com/lra/mackup/blob/master/mackup/applications/ssh.cfg
I would not call this a security hole =) the point of those files is to describe how an application handles its config files. If you think it's dangerous, don't use it for ssh, or apply a more tailored configuration for ssh.
There is an ongoing talk with the homebrew cask guys to come up with a repo dedicated to host those files. But there is no concrete need yet. If you'd use it, I can push this forward, the first step was to make those files pure configuration (.py
->.ini
), this is done, we just have to isolate those in a separate repo now.
LMK if it interests you.
Factoring this out into a common repo is an awesome idea. Bravo, @Ira. I'm also a cask user, so this is all very helpful. It also means that discussions about what belong in a given manifest (i.e. the discussion around the .ssh directory above) can happen in PRs focused on that metadata, and not in the context of a larger project. I've followed your Mackup issue and will wait to see if there's any way I can help.