My personal configuration files, tracked with a bare git repository.
Clone the repository and check out the files:
Warning
This will overwrite any existing configs that conflict with the ones tracked here.
git clone --bare https://github.com/time-slayer/dotfiles ~/.dotfiles
git --git-dir=$HOME/.dotfiles --work-tree=$HOME checkout -fThis repo's git directory lives at ~/.dotfiles, and its work-tree is $HOME itself. That means the files here are checked out at their real, normal paths (e.g. ~/.config/fish, ~/.gitconfig).
To manage it, I use a shell alias instead of plain git:
alias dotgit="git --git-dir=$HOME/.dotfiles --work-tree=$HOME"And use dotgit exactly like git:
dotgit status
dotgit add .config/hypr
dotgit commit -m "tweak hyprland"
dotgit pushI also hide untracked files from dotgit status so it doesn't get noisy with the rest of my home directory:
dotgit config --local status.showUntrackedFiles noFirefox normally stores configuration in a randomly generated profile folder, which isn't a stable path to track in git. To work around this, a dedicated profile is created at a permanent, tracked location: ~/.config/mozilla/firefox/dotfiles.
To set this up:
- Open Firefox and go to
about:profiles. - Click Create a New Profile -> Next, and name it.
- Click Choose Folder... and select the tracked directory:
~/.config/mozilla/firefox/dotfiles. - Finish the wizard, then click Set as default profile under the new profile.
- Restart Firefox.
Extensions are managed via a custom ext.sh script located at .config/vscodium-extensions/ext.sh:
cd ~/.config/vscodium-extensions
# install extension list
./ext.sh i
# export installed extensions
./ext.sh e