My personal development environment, managed with GNU Stow, encrypted with Git-Crypt, and componentized with Submodules.
This repository is hidden in ~/.files to keep the home directory clean.
Stow generates symlinks relative to the parent (~).
| 🔧 Tool | 📂 Path | 📝 Description |
|---|---|---|
| Neovim | .config/nvim |
Submodule pointing to my Nvim Config |
| Tmux | .config/tmux |
Terminal multiplexer with TPM submodule |
| Zsh | .zshrc |
Shell configuration |
| Bash | .bashrc |
Shell configuration fallback |
| Starship | .config/starship.toml |
Cross-shell prompt |
| Git | .gitconfig |
Version control settings |
| GitHub | .config/gh |
GH CLI config (Encrypted) |
We use symmetric encryption for sensitive configuration.
- Protected Files:
.gitattributesdefines the filter (e.g.,ghtokens). - Key Management: The binary key is stored offline (Password Manager/USB).
- Warning: Do NOT
git addsecret files unlessgit-crypt statusconfirms they are encrypted.
This repo includes a setup.sh script that installs dependencies (Nvim, Zsh, FZF, etc.), handles encryption keys, and stows your config.
git clone --recurse-submodules [https://github.com/thegreatestgiant/dotfiles.git](https://github.com/thegreatestgiant/dotfiles.git) ~/.files
cd ~/.files
./setup.sh Ensure you have your dotfiles_key.key in your home folder or Downloads, and the script will automatically unlock it.
git clone --recurse-submodules https://github.com/thegreatestgiant/dotfiles.git ~/.files
cd ~/.filesPlace your dotfiles_key.key in a secure location (e.g. ~/Downloads/) and run:
git-crypt unlock ~/Downloads/dotfiles_key.keyUse Stow to link your packages:
stow bash zsh nvim tmux starship git gh