2.0 KiB
2.0 KiB
Dotfiles
Personal configuration files managed with GNU Stow.
Contents
- tmux: Terminal multiplexer configuration
- kitty: Modern terminal emulator configuration
- nvim: Neovim configuration (AstroNvim based)
- fish: Fish shell configuration with Fisher plugins
Installation
Prerequisites
# Install Homebrew (if not installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install GNU Stow
brew install stow
Clone and Deploy
# Clone the repository
git clone https://git.anvil.it.com/kaffa/dotfiles.git ~/dotfiles
# Navigate to dotfiles directory
cd ~/dotfiles
# Deploy configurations (choose what you need)
stow tmux # Deploy tmux config
stow kitty # Deploy kitty config
stow nvim # Deploy nvim config
stow fish # Deploy fish config
# Or deploy all at once
stow tmux kitty nvim fish
Management
Add new configuration
# Example: Adding a new tool configuration
mkdir -p ~/dotfiles/toolname/.config/toolname
cp -r ~/.config/toolname/* ~/dotfiles/toolname/.config/toolname/
stow toolname
Update existing configuration
Configurations are symlinked, so any changes made to the actual config files will automatically be reflected in the repository. Just commit and push the changes:
cd ~/dotfiles
git add .
git commit -m "Update configurations"
git push
Remove configuration
# Unstow (remove symlinks)
stow -D tmux
# Or remove all
stow -D tmux kitty nvim fish
Structure
~/dotfiles/
├── tmux/
│ └── .tmux.conf
├── kitty/
│ └── .config/
│ ├── kitty.conf
│ └── dracula.conf
├── nvim/
│ └── .config/
│ └── nvim/
└── fish/
└── .config/
└── fish/
Notes
- Original configuration files are backed up to
~/backups/before stowing - Use
stow -n <package>to simulate what will happen without making changes - Use
stow -v <package>for verbose output to see what's being linked