Add README with installation and usage instructions
This commit is contained in:
97
README.md
Normal file
97
README.md
Normal 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
|
||||||
Reference in New Issue
Block a user