97 lines
2.0 KiB
Markdown
97 lines
2.0 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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:
|
|
|
|
```bash
|
|
cd ~/dotfiles
|
|
git add .
|
|
git commit -m "Update configurations"
|
|
git push
|
|
```
|
|
|
|
### Remove configuration
|
|
|
|
```bash
|
|
# 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 |