Go to file
2021-05-28 07:08:18 +02:00
.config removed KeePassXC autostart 2021-02-24 08:03:15 +01:00
.fonts Added Hack fonts 2020-08-02 10:09:03 +02:00
.local/bin trying to get it to work with branches 2020-08-11 08:20:07 +02:00
.todo added todo config 2020-08-10 12:43:20 +02:00
.todo.actions.d customized add to todo.sh 2020-05-20 13:17:49 +02:00
.vim Added spelling function and se add file 2020-08-18 14:48:40 +02:00
bin excluded VirtualBox VMs 2021-02-05 08:16:33 +01:00
salt Added shellcheck with vim integration 2020-10-13 08:07:01 +02:00
.alias added mariadb alias 2020-12-15 09:52:32 +01:00
.bashrc added ~/bin to PATH 2021-01-21 11:15:59 +01:00
.dconf.conf added custom0 keybinding 2020-08-05 07:33:46 +02:00
.functions.sh added restic wrapper 2021-05-28 07:08:18 +02:00
.gbt.sh added kube_gbt to turn on k8s PS1 info 2021-05-20 08:39:10 +02:00
.gbts_theme.sh added my dotfiles 2020-03-30 08:56:05 +02:00
.gitignore added .mc .password-store 2021-01-12 10:18:00 +01:00
.inputrc Prevent execution of pasting multi-line text 2020-11-05 14:07:27 +01:00
.tmux.conf removed powerline 2020-05-14 09:04:30 +02:00
.vimrc added spelling for txt files 2021-03-18 15:23:27 +01:00
README.md added options 2020-08-03 14:03:36 +02:00

title date draft tags
Dotfiles With Git 2020-04-29T13:26:01+02:00 true
bash
git
dotfiles

Simple way to manage dotfiles with git

I use a very simple way to manage my dotfiles with git and some bash aliases. All you have to create a folder for your git repository in your home folder and initiate a bare git repository

mkdir "$HOME/.dotfiles"
git init --bare "$HOME/.dotfiles"

Then create an alias so you don't have to write a long command each time you want to add a file or configure your git repository, don't forget to add that alias to $HOME/.alias

alias dotf='/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME'

so, that alias is calling git and sets the repository as well as working directory and it can be called from what ever path you currently be in.

The next thing we need to do is to configure the repository to not show untracked files and only care about the files we specifically want to manage.

dotf config --local status.showUntrackedFiles no

Now you just use the dotfiles alias for git to add files, commit changes, etc, etc

dotf add .alias .bashrc
dotf commit -m "Added .alias and .bashrc"

To show the status of the repository

dotf status

if you want to add some bash completion to dotf you can just add the following line to your .bashrc

[[ "$(type -t dotf)" == "alias" ]] && [[ "$(type -t __git_complete)" == "function" ]] && __git_complete dotf _git

If you want you can add a remote repository make sure that it's secure if you manage sensitive information.

dotf remote add origin <username>@git.domain.tld/dotfiles.git
dotf push

To initialize my desktop run

bash <(curl -sL https://git.rre.nu/jonas/dotfiles/raw/branch/master/bin/initDesktop)