Collection of configuration files for my personal and work setups.
I'm focusing on portability of all configs and an as simple as possible setup.
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
- KDE Plasma configs for some apps (used on EndeavourOS)
- Encrypted secrets using git-crypt
- Install scripts for EndeavourOS and devcontainers
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
orgit crypt unlock /path/to/symmetric/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 - Add the file to git
- Add some background job to check if the dotfiles are up to date (git fetch and a shell hook/prompt?)
- Add configuration for servers
- Windows support (mainly for powershell profile)