Here be thy dotfiles. A collection of incantations, symlinks, and shell spells, forged in the fires of frustration and optimised through far too many late nights. Tread carefully, adventurer — what lies within may summon tiling windows, whisper zsh aliases, and open portals to the neovim void.
| Linux | Mac | |
|---|---|---|
| Machine | Intel NUC Hades Canyon | MacBook Pro |
| OS | Fedora | macOS |
| WM | i3 | AeroSpace |
- Dotfile Manager: GNU Stow
- Shell: zsh + znap
- Terminal: Ghostty
- Editor: Neovim + lazy.nvim
- Multiplexer: tmux + tpm; herdr for agent sessions
- Todos: shepherd todo board —
<leader>Tin nvim via nvim-shepherd - Theme: lackluster (nvim, ghostty, tmux, btop, delta)
- Font: Berkeley Mono
dotfiles/
├── common/ # configs for all platforms
│ ├── .config/
│ │ ├── nvim/ # neovim
│ │ ├── zsh/ # aliases, functions, utils
│ │ ├── herdr/ # herdr agent multiplexer
│ │ ├── lazygit/ # lazygit
│ │ ├── yazi/ # yazi file manager
│ │ ├── btop/ # btop system monitor
│ │ ├── bat/ # bat
│ │ ├── ripgrep/ # ripgrep
│ │ └── ai/ # ai prompts + tokens
│ ├── .ssh/
│ │ └── config.template # ssh config template
│ ├── .gitconfig
│ ├── .gitignore
│ ├── .tmux.conf
│ ├── .editorconfig
│ ├── .zshrc
│ └── .zshenv
├── linux/ # fedora-specific configs
│ ├── .config/
│ │ ├── ghostty/ # ghostty terminal
│ │ └── i3/ # i3 window manager
│ └── .local/bin/ # linux scripts (auto on PATH)
│ ├── update # update all packages + tools
│ ├── cleanup # free disk space
│ ├── journalctl-report
│ ├── system-ports
│ ├── systemctl-browser
│ ├── systemctl-failed
│ └── systemctl-logs
├── mac/ # macos-specific configs
│ ├── .config/
│ │ └── ghostty/ # ghostty terminal
│ ├── .gnupg/ # gpg agent config
│ └── .local/bin/ # mac scripts (auto on PATH)
│ ├── update # update all packages + tools
│ └── cleanup # free disk space
├── scripts/
│ ├── install-packages-fedora.sh
│ ├── install-packages-mac.sh
│ └── macos-defaults.sh
└── install.sh
Clone into your home directory:
git clone git@github.com:jwarykowski/dotfiles.git ~/dotfiles
cd ~/dotfilesInstall packages then stow dotfiles:
./install.sh --packagesAdopt current configs into the repo, then stow:
./install.sh --adoptRe-apply dotfiles (safe, idempotent):
./install.sh- tmux plugins: open tmux and press
prefix + Ito install plugins via tpm - neovim plugins: open nvim — lazy.nvim installs automatically on first launch, mason installs LSPs
- zsh plugins: znap clones and caches plugins automatically on first shell start
- zsh default shell:
chsh -s $(which zsh) - ssh config: copy
~/.ssh/config.templateto~/.ssh/configand add your hosts