diff --git a/README.md b/README.md index 6d3f6f3..f025223 100644 --- a/README.md +++ b/README.md @@ -72,3 +72,56 @@ have. cd ~/.homesick/repos/dotfiles bundle + +### Personal dotfiles + +If you want to track personal dotfiles that are gitignored, here is an approach. (Not final, but see the note about `tmux`.) + +Make a private repo (`username/my-dotfiles`) with the private dotfiles you want to track. It should have a structure like this: + +``` +. +└── home + ├── .personal + │ ├── bin + │ │ ├── foo + │ │ └── bar + │ ├── gitconfig.d + │ │ └── user + │ ├── tmux + │ │ └── user.conf + │ ├── vim + │ │ └── spell + │ │ ├── en.utf-8.add + │ │ └── en.utf-8.add.spl + │ └── zsh + │ └── local.zsh + └── .vimrc.local +``` + +Then add another `homesick` castle, after you set up `benjaminoakes/homesick-vi-everywhere` and `ContinuityControl/dotfiles`. + +``` +homesick clone username/my-dotfiles +homesick symlink my-dotfiles --force +``` + +(Note: you can't call it `username/dotfiles` because that would conflict with `ContinuityControl/dotfiles`. Also, be aware that conflicting paths will overwrite. It's best to keep personal dotfiles in `.personal` for this reason.) + +Then add these files (*for now*, more improvements coming later): + +``` +$ cat ~/.zsh/local.zsh +source "$HOME/.personal/zsh/local.zsh" +$ cat ~/.gitconfig.d/user +[include] + path = ~/.personal/gitconfig.d/user +$ cat ~/.tmux/user.conf +source-file "$HOME/.personal/tmux/user.conf" +``` + +(These are still gitignored, but at least they'll stay tiny.) + +#### Future direction + +The `zsh` and `git` configs could be made to look in `.personal` and skip if it doesn't exist (allowing this idea to be pulled up into this repository), but unfortunately `tmux` complains when it can't source a file, which is why we went this route for now.