feat: Sync complete config - Fish, Ghostty, Neovim Scratch
- Add missing Fish configs (direnv, ssh function) - Add Tokyo Night theme for Ghostty - Complete Neovim scratch config sync - Rewrite install.sh for new structure - Add comprehensive README.md
This commit is contained in:
253
README.md
Normal file
253
README.md
Normal file
@@ -0,0 +1,253 @@
|
||||
# 🚀 Dotfiles - QA Engineer Dev Setup
|
||||
|
||||
Meine persönliche Development-Umgebung optimiert für:
|
||||
- **TypeScript/Playwright** Testing (QA bei Mobilistics)
|
||||
- **Go** Development (Benchmarking & Learning)
|
||||
- **Fish Shell** mit modernen Tools
|
||||
- **Ghostty** Terminal
|
||||
- **Neovim** (Scratch Build - kein Framework!)
|
||||
|
||||
---
|
||||
|
||||
## 📦 Was ist enthalten?
|
||||
|
||||
### Core Tools
|
||||
- **Neovim** - Scratch config mit lazy.nvim (TypeScript/Go optimiert)
|
||||
- **Fish Shell** - Mit Fisher, NVM, FZF Integration
|
||||
- **Ghostty** - Modernes Terminal mit Tokyo Night Theme
|
||||
- **Starship** - Cross-shell prompt
|
||||
|
||||
### Development
|
||||
- **LSP Support**: TypeScript (ts_ls), Go (gopls), Lua, HTML, CSS, JSON, YAML
|
||||
- **Completion**: nvim-cmp mit Snippets
|
||||
- **Navigation**: Harpoon, Telescope, Neo-tree
|
||||
- **Git**: LazyGit, Fugitive, Gitsigns
|
||||
- **Formatting**: Conform (Prettier, Black, gofumpt)
|
||||
|
||||
### System Monitoring
|
||||
- **btop** - Ressourcen-Monitor
|
||||
- **neofetch** - System Info
|
||||
- **yabai** - Tiling Window Manager (macOS)
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Installation
|
||||
|
||||
### Schnellstart (macOS/Linux)
|
||||
|
||||
```bash
|
||||
# 1. Clone das Repo
|
||||
git clone https://github.com/yourusername/dotfiles.git ~/gits/dotfiles
|
||||
|
||||
# 2. Run install script
|
||||
cd ~/gits/dotfiles
|
||||
chmod +x install.sh
|
||||
./install.sh
|
||||
|
||||
# 3. Restart terminal
|
||||
# 4. Open Neovim (plugins werden automatisch installiert)
|
||||
nvim
|
||||
```
|
||||
|
||||
### Manuelle Installation
|
||||
|
||||
```bash
|
||||
# Core tools installieren
|
||||
brew install git neovim fish starship fzf ripgrep fd bat btop
|
||||
brew install --cask ghostty
|
||||
|
||||
# Symlinks erstellen
|
||||
ln -sf ~/gits/dotfiles/.config/fish ~/.config/fish
|
||||
ln -sf ~/gits/dotfiles/.config/nvim ~/.config/nvim
|
||||
ln -sf ~/gits/dotfiles/.config/ghostty ~/.config/ghostty
|
||||
ln -sf ~/gits/dotfiles/.config/starship.toml ~/.config/starship.toml
|
||||
|
||||
# Fish als default shell
|
||||
chsh -s $(which fish)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📁 Struktur
|
||||
|
||||
```
|
||||
dotfiles/
|
||||
├── .config/
|
||||
│ ├── fish/ # Fish shell config + plugins
|
||||
│ │ ├── conf.d/ # Auto-loaded configs
|
||||
│ │ ├── functions/ # Fish functions
|
||||
│ │ └── config.fish # Main config
|
||||
│ ├── ghostty/ # Terminal config + themes
|
||||
│ ├── nvim/ # Neovim scratch config
|
||||
│ │ ├── lua/
|
||||
│ │ │ ├── core/ # Options, keymaps, lazy.nvim
|
||||
│ │ │ └── plugins/ # Plugin configs (modular!)
|
||||
│ │ └── init.lua # Entry point
|
||||
│ ├── btop/ # System monitor config
|
||||
│ ├── neofetch/ # System info config
|
||||
│ ├── yabai/ # Window manager (macOS)
|
||||
│ └── starship.toml # Prompt config
|
||||
├── .zsh/ # Zsh configs (optional)
|
||||
├── .zshrc # Zsh config
|
||||
├── install.sh # Automated setup
|
||||
└── README.md # This file
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Neovim Keybindings (Wichtigste)
|
||||
|
||||
### General
|
||||
- `<Space>` - Leader key
|
||||
- `<leader>ee` - Go error handling snippet
|
||||
|
||||
### File Navigation
|
||||
- `<leader>ff` - Telescope find files
|
||||
- `<leader>fg` - Telescope live grep
|
||||
- `<leader>fb` - Telescope buffers
|
||||
- `<leader>e` - Neo-tree toggle
|
||||
|
||||
### Harpoon (File Switching)
|
||||
- `<leader>a` - Mark file
|
||||
- `<leader>h` - Harpoon menu
|
||||
- `<C-j>` - Jump to file 1
|
||||
- `<C-k>` - Jump to file 2
|
||||
- `<C-l>` - Jump to file 3
|
||||
- `<C-;>` - Jump to file 4
|
||||
|
||||
### Git
|
||||
- `<leader>gs` - Git status (Fugitive)
|
||||
- `<leader>gg` - LazyGit
|
||||
|
||||
### LSP
|
||||
- `gd` - Go to definition
|
||||
- `gr` - Go to references
|
||||
- `K` - Hover documentation
|
||||
- `<leader>ca` - Code actions
|
||||
- `<leader>rn` - Rename
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Updates
|
||||
|
||||
```bash
|
||||
# Dotfiles updaten
|
||||
cd ~/gits/dotfiles
|
||||
git pull
|
||||
|
||||
# Neovim plugins updaten
|
||||
nvim
|
||||
:Lazy sync
|
||||
|
||||
# Fish plugins updaten
|
||||
fisher update
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Anpassungen
|
||||
|
||||
### Neovim
|
||||
- **Neue Sprache hinzufügen**: Editiere `~/.config/nvim/lua/plugins/lsp.lua`
|
||||
- **Neues Plugin**: Erstelle neue Datei in `~/.config/nvim/lua/plugins/`
|
||||
- **Keymaps ändern**: Editiere `~/.config/nvim/lua/core/keymaps.lua`
|
||||
|
||||
### Fish
|
||||
- **Neue Aliases**: `~/.config/fish/conf.d/aliases.fish`
|
||||
- **Environment Variables**: `~/.config/fish/conf.d/paths.fish`
|
||||
- **Functions**: Neue Datei in `~/.config/fish/functions/`
|
||||
|
||||
### Ghostty
|
||||
- **Theme ändern**: Editiere `~/.config/ghostty/config`
|
||||
- **Neue Themes**: Hinzufügen in `~/.config/ghostty/themes/`
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Troubleshooting
|
||||
|
||||
### Neovim Plugins laden nicht
|
||||
```bash
|
||||
# Lazy.nvim neu installieren
|
||||
rm -rf ~/.local/share/nvim
|
||||
nvim
|
||||
```
|
||||
|
||||
### Fish Plugins fehlen
|
||||
```bash
|
||||
# Fisher neu installieren
|
||||
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source
|
||||
fisher install jorgebucaran/fisher
|
||||
fisher update
|
||||
```
|
||||
|
||||
### LSP funktioniert nicht
|
||||
```bash
|
||||
# Mason servers neu installieren
|
||||
nvim
|
||||
:Mason
|
||||
# Dann manuell die benötigten Server installieren
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 System Requirements
|
||||
|
||||
### Minimum
|
||||
- **OS**: macOS 12+, Linux (Arch, Debian, Fedora)
|
||||
- **Neovim**: 0.10+
|
||||
- **Git**: 2.30+
|
||||
- **Fish**: 3.5+
|
||||
|
||||
### Recommended
|
||||
- **Neovim**: 0.11+ (für moderne LSP APIs)
|
||||
- **Terminal**: Ghostty, iTerm2, Alacritty
|
||||
- **Font**: Nerd Font (für Icons)
|
||||
|
||||
---
|
||||
|
||||
## 🎨 Features
|
||||
|
||||
### Neovim
|
||||
✅ **Scratch Build** - Kein Framework, volle Kontrolle
|
||||
✅ **Modern APIs** - Neovim 0.11 ready
|
||||
✅ **TypeScript/Playwright** - Optimiert für QA
|
||||
✅ **Go Support** - gopls mit gofumpt
|
||||
✅ **Modular** - Jedes Plugin in eigener Datei
|
||||
✅ **Lazy Loading** - Schneller Start
|
||||
|
||||
### Fish Shell
|
||||
✅ **NVM Integration** - Node Version Management
|
||||
✅ **FZF Integration** - Fuzzy finding everywhere
|
||||
✅ **Git Shortcuts** - Aliases für häufige Commands
|
||||
✅ **Kubernetes** - kubectl completion
|
||||
✅ **Auto-completion** - Für Docker, Git, etc.
|
||||
|
||||
---
|
||||
|
||||
## 📚 Resources
|
||||
|
||||
- [Neovim Docs](https://neovim.io/doc/)
|
||||
- [Fish Shell Docs](https://fishshell.com/docs/current/)
|
||||
- [Ghostty Terminal](https://ghostty.org/)
|
||||
- [lazy.nvim](https://github.com/folke/lazy.nvim)
|
||||
- [ThePrimeagen's Neovim Setup](https://github.com/ThePrimeagen/init.lua)
|
||||
|
||||
---
|
||||
|
||||
## 📄 License
|
||||
|
||||
MIT - Do whatever you want with it!
|
||||
|
||||
---
|
||||
|
||||
## 🙏 Credits
|
||||
|
||||
- **Neovim** Community
|
||||
- **ThePrimeagen** - Harpoon & Inspiration
|
||||
- **folke** - lazy.nvim, tokyonight
|
||||
- **Fish Shell** Community
|
||||
- **Ghostty** Team
|
||||
|
||||
---
|
||||
|
||||
**Happy Coding!** 🚀
|
||||
Reference in New Issue
Block a user