Configuration files for consistent shell environment across multiple machines (arkadia, docker01, mu, krzroute).
- Fish Shell (
~/.config/fish/)config.fish- SSH agent auto-start, GitHub SSH key, Claude Code CLI aliasfunctions/- Custom functions (e.g.,aifor quick directory navigation)
- Bash (
.bashrc) - Zsh (
.zshrc) - Vim (
.vimrc) - Tmux (
.tmux.conf) - Git (
.gitconfig) - Starship (
.config/starship.toml) - Neofetch (
.config/neofetch/config.conf)
# 1. Clone the repository
git clone git@github.com:tjkrz/dotfiles.git ~/dotfiles
# 2. Back up existing configs (if they exist)
cp ~/.config/fish/config.fish ~/.config/fish/config.fish.backup 2>/dev/null
# 3. Create symlinks
mkdir -p ~/.config/fish
ln -sf ~/dotfiles/.config/fish/config.fish ~/.config/fish/config.fish
ln -sf ~/dotfiles/.config/fish/functions ~/.config/fish/functions
# For other configs (as needed):
ln -sf ~/dotfiles/.bashrc ~/.bashrc
ln -sf ~/dotfiles/.zshrc ~/.zshrc
ln -sf ~/dotfiles/.vimrc ~/.vimrc
ln -sf ~/dotfiles/.tmux.conf ~/.tmux.conf
ln -sf ~/dotfiles/.gitconfig ~/.gitconfig
ln -sf ~/dotfiles/.config/starship.toml ~/.config/starship.toml# Pull latest changes
cd ~/dotfiles
git pull
# Restart shell to apply changes
exec fish # or exec bash, exec zsh- Edit the file in
~/dotfiles/(it's symlinked, so editing either location works) - Commit and push:
cd ~/dotfiles git add -A git commit -m "Description of changes" git push
- On other machines, run
cd ~/dotfiles && git pull
- Multi-PC workflow: Same configs across arkadia, docker01, mu, krzroute
- Version controlled: Track what changed and when
- Symlinked: Edit once, committed centrally
- Privacy-first: Sensitive data (API keys, tokens) stays in
.gitignored files
- Fish config auto-loads
~/.ssh/id_ed25519_githubon shell start - SSH agent starts automatically if not running
- Claude Code CLI available via
claudealias