Collection of configuration files for my personal and work setups.
Components:
- Fish shell with custom functions, abbreviations and per-OS configurations
- Tmux with custom keybindings, status bar and plugins
- Basic vim configuration
- Git aliases and per-directory configurations (work, school, etc.)
- Zed editor configuration and vim-centric keymap
- Simple alacritty configuration
- Skhd cofiguration for global keyboard shortcuts on MacOS
- Encrypted secrets using git-crypt
Required packages:
- git-crypt - decrypting secret files
- GNU stow - symlinking dotfiles to $HOME
- make (not neccesarily needed, but nice to have)
- Clone the repo to a directory in
$HOME
, e.g.~/.dotfiles
- Change directory into the repository:
cd .dotfiles
- Decrypt files:
git-crypt unlock /path/to/key
- Create symlinks to all config files:
make stow
- Copy the file with its full directory structure into
~/.dotfiles
- Run
make adopt
- this should symlink the file to the correct location - Add the file to git
- Add the file as an entry in
.gitattributes
usingfilter=git-crypt diff=git-crypt
- Add
.gitattributes
to git - Copy the file with its full directory structure into
~/.dotfiles
- Make sure the file was encrypted:
git crypt status
(should be listed as "encrypted") - Run
make adopt
- this should symlink the file to the correct location
- Make it easier and faster to boostrap dotfiles on a new system
- Add a script to install all the necessary packages for a new system
- GNU stow
- fish shell
- tmux
- vim
- mise
- ...
- Add some background job to check if the dotfiles are up to date
- Add configuration for servers