Add README with installation and usage instructions

This commit is contained in:
kappa
2025-09-22 18:42:45 +09:00
parent f8564fbf20
commit fb7dedbff5

97
README.md Normal file
View File

@@ -0,0 +1,97 @@
# 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