holman / dotfiles

@holman does dotfiles

Home Page:http://zachholman.com/2010/08/dotfiles-are-meant-to-be-forked/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Suggestion] Allow more fine grained installation of dotfiles

darnir opened this issue · comments

The repo currently uses a single bootstrap script to install all the symlinks to their correct places on the system. However, with this script, users must install all your settings at once. It would be much better if fine grained installation of only certain settings files was possible. For example, only the Vim and Zsh configs but nothing else. The script currently does its job, but is a bit hackish and difficult to extend for more features.

I've been writing a small more general purpose solution for maintaining my own dotfiles and think that you may be able to benefit from the set of scripts I have. Do take a look at the architecture I have in my dotfiles repo. The basics of how everything is organized is mentioned in the README file. Currently, the scripts are slightly geared towards my Archlinux installations, but I would be happy to provide more general purpose support for your Mac based settings as well.

The advantage of using something like this is that the various settings can now be split into their logical components and installed separately. Also, certain utilities / tools that you need can be installed and configured with just a single command. In the case of your dotfiles repository, the different components have already been separated, so it would only be migrating your installation to the new architecture.

I shall be happy to answer any questions about the scripts, make any changes needed and help you port your existing setup to it if you'd like.

I think this is pretty interesting, and it kind of also makes me think of the age-old question of what I'm doing with this repo: am I making a general framework for others to use (a la oh-my-zsh), or something for my own purposes?

I think it's the latter, but mostly because I'm lazy and haven't had a chance to do something further.

As for the setup/install stuff- I think I was mentally able to deal with that just for the idea that I think people should be configuring what they want out of my dotfiles before they run the install script. Whether or not that happens in reality, I'm not sure (and maybe we should mention it more strenuously in the README).

I think for now I'm going to close this out more as a wontfix; I think the idea is pretty cool, but I'm a little hesitant to really change how this repo is structured just due to how many people have forked the general idea and want to pull new things down without a lot of work. In other words, things are "okay enough" for me right now, although it's something I'll mull over and think about quite a bit more and we can revisit it in the future if things make sense.

I completely understand that you would not want to change the structure of the repository right now with so many people having forked it. However, I must only mention that those that have already forked the repo and are looking to pull new changes, would not need any additional steps to move to this architecture.

Anyways, if you ever plan on a new branch, or intend to make a general framework, do look into these scripts as a potential option. I'd be happy to help with any changes that may be required.