diff --git a/README.md b/README.md index 6598a84..068543f 100644 --- a/README.md +++ b/README.md @@ -1,97 +1,63 @@ # Dotfiles -Personal configuration files managed with GNU Stow. +Personal configuration files managed with [GNU Stow](https://www.gnu.org/software/stow/). ## Contents -- **tmux**: Terminal multiplexer configuration -- **kitty**: Modern terminal emulator configuration -- **nvim**: Neovim configuration (AstroNvim based) -- **fish**: Fish shell configuration with Fisher plugins +- **nvim**: Neovim (LazyVim + Dracula theme, python/yaml/docker/json/markdown extras) +- **tmux**: tmux (Dracula theme) +- **kitty**: Kitty terminal (Dracula theme, Fira Code Nerd Font) +- **fish**: Fish shell (Fisher, fzf.fish, nvm) ## 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 +# Prerequisites 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 +# Clone and deploy +git clone https://gitea.anvil.it.com/kaffa/dotfiles.git ~/dotfiles 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 +stow fish kitty nvim tmux ``` ## Management -### Add new configuration - ```bash -# Example: Adding a new tool configuration +# Add new package 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) +# Remove package stow -D tmux -# Or remove all -stow -D tmux kitty nvim fish +# Dry run (simulate) +stow -n -v tmux ``` ## Structure ``` ~/dotfiles/ -├── tmux/ -│ └── .tmux.conf +├── fish/ +│ └── .config/fish/ +│ ├── config.fish +│ ├── completions/ +│ ├── conf.d/ +│ ├── functions/ +│ └── themes/ ├── kitty/ -│ └── .config/ +│ └── .config/kitty/ │ ├── kitty.conf │ └── dracula.conf ├── nvim/ -│ └── .config/ -│ └── nvim/ -└── fish/ - └── .config/ - └── fish/ +│ └── .config/nvim/ +│ ├── init.lua +│ ├── lazyvim.json +│ └── lua/ +│ ├── config/ +│ └── plugins/ +└── tmux/ + └── .tmux.conf ``` - -## Notes - -- Original configuration files are backed up to `~/backups/` before stowing -- Use `stow -n ` to simulate what will happen without making changes -- Use `stow -v ` for verbose output to see what's being linked \ No newline at end of file