|  | ||
|---|---|---|
| .config | ||
| .local/bin | ||
| .bash_aliases | ||
| .bashrc | ||
| .inputrc | ||
| .tmux.conf | ||
| LICENSE | ||
| README.md | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	dotfiles
This repo contains the various dotfiles I use on my machines.
NOTE: the main repository resides here.
List of contents
- Gitignore: global gitignore file
- Htop: Config for Htop
- Ion: init file for the Ion shell
- Picom: used for the Picom compositor
- dunst: config for the Dunst notification server
- i3: config files for the i3 window manager, based off the original EndeavourOS config
- nvim: the crown jewel: my Neovim configs
- qutebrowser: Qutebrowser configs
- yay: 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