summaryrefslogtreecommitdiff
path: root/_drafts/dotfiles-under-revision-control.md
diff options
context:
space:
mode:
Diffstat (limited to '_drafts/dotfiles-under-revision-control.md')
-rw-r--r--_drafts/dotfiles-under-revision-control.md83
1 files changed, 0 insertions, 83 deletions
diff --git a/_drafts/dotfiles-under-revision-control.md b/_drafts/dotfiles-under-revision-control.md
deleted file mode 100644
index 4cccea3..0000000
--- a/_drafts/dotfiles-under-revision-control.md
+++ /dev/null
@@ -1,83 +0,0 @@
----
-title: "Dotfiles under revision control"
-description: "How I manage my configuration files with Git."
-published: 2019-09-02
----
-
-<!-- TODO: Test commands -->
-
-I regularly spend some time to fit my preferred tools to my personal need and taste.
-Luckily, most command-line tools and a growing number of graphical tools, accept configuration files -- commonly called _dotfiles_ because of the typical dot at the beginnig of the file name, e.g., `.tmux.conf`.
-This post describes my not-so-special way to put these dotfiles under revision control using Git and Bash.
-In fact, you'll find a myriad of public dotfiles repositories on the web, for example on [GitHub](https://github.com/search?q=dotfiles).
-
-Add the following snippet to your `~/.bashrc`.
-The first line defines a `dotfiles` alias for `git` to distinguish your dotfiles repository from any other Git repository in and below your home directory.
-The remaining lines reuse -- you might say hack -- Git's Bash completion for the alias.
-
-```sh
-alias dotfiles="git --git-dir=\${HOME}/.dotfiles/ --work-tree=\${HOME}"
-if [ -f /usr/share/git/completion/git-completion.bash ]; then
- source /usr/share/git/completion/git-completion.bash
- __git_complete dotfiles __git_main
-fi
-```
-
-Initialize a bare Git repository for your dotfiles, and tell Git to ignore untracked files.
-
-```sh
-mkdir ~/.dotfiles
-git -C ~/.dotfiles init --bare
-dotfiles config status.showUntrackedFiles no
-```
-
-Now you can `add`, `commit`, and `push` your dotfiles as usual.
-
-You can even add other repositories as submodules.
-The following snippet, for example, adds Vim and Tmux plug-ins for the acclaimed [Solarized](https://ethanschoonover.com/solarized/) color scheme.
-
-```sh
-mkdir -p ~/.tmux/plugins
-cd ~/.tmux/plugins
-dotfiles submodule add https://github.com/seebi/tmux-colors-solarized.git
-
-mkdir -p ~/.vim/pack/stefan/{start,opt}
-cd ~/.vim/pack/stefan/start
-dotfiles submodule add https://github.com/altercation/vim-colors-solarized.git
-
-dotfiles add ~/gitmodules
-```
-
-Update the submodules as always.
-
-```sh
-dotfiles submodule update --remote --merge
-```
-
-Generate help tags.
-
-```sh
-for d in ~/.vim/pack/stefan/*/*/doc; do
- vim -u NONE -c "helptags $d" -c q
-done
-```
-
-Finally, clone your dotfiles to another machine.
-Be careful to clone into a temporary directory, though.
-Otherwise you might screw up your home directory.
-
-```sh
-git clone \
- --recurse-submodules \
- --separate-git-dir=$HOME/.dotfiles \
- example.com:~/git/dotfiles ~/dotfiles-tmp
-rm ~/dotfiles-tmp/.git
-cp -ai ~/dotfiles-tmp/.* ~
-rm -r ~/dotfiles-tmp
-dotfiles config status.showUntrackedFiles no
-```
-
-That's it. Happy tracking!
-
-P.S. Did you know that Unix' hidden files were a mistake?
-See [this archived post](https://web.archive.org/web/20190318012059/https://plus.google.com/101960720994009339267/posts/R58WgWwN9jp) by Rob Pike.
Generated by cgit. See skreutz.com for my tech blog and contact information.