Jef Roosens ed8e52b480 | ||
---|---|---|
.config | ||
.bash_aliases | ||
.bashrc | ||
LICENSE | ||
README.md |
README.md
dotfiles
This repo contains the various dotfiles I use on my machines.
List of contents
Gitignore
: global gitignore fileHtop
: Config for HtopIon
: init file for the Ion shellPicom
: used for the Picom compositordunst
: config for the Dunst notification serveri3
: config files for the i3 window manager, based off the original EndeavourOS confignvim
: the crown jewel: my Neovim configsqutebrowser
: Qutebrowser configsyay
: The yay package manager for Arch
How to
I'm able to manage my dotfiles using Git thanks to a thing called a bare git repo. It basically means that you can place the Git directory anywhere, allowing you to specify the work tree using a command line parameter. It's pretty easy to set up:
# This initializes the repo
# I personally use ~/.cfg as the .git folder, but you can change this to
whatever you want
git init --bare "$HOME/.cfg"
# For convenience, it's best to define an alias
# Don't forget to replace the '$HOME/.cfg' if you're using another directory.
alias dots="git --git-dir='$HOME/.cfg' --work-tree='$HOME'"
# Then, when you wish to add a dotfile, you just use the alias
# This works from anywhere in the file system
dots add yourdotfile
# You can check the status just like any other repo
dots status
# Don't forget to add your remote
dots remote add origin yourremote
# And then, you can commit and push!
dots commit -m "Bare repos are cool"
dots push
# It's a git repo, that's all it is