7.8 KiB
7.8 KiB
🚀 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 (Primary)
- htop - Fallback Monitor (wenn btop abstürzt)
- neofetch - System Info
- yabai - Tiling Window Manager (macOS)
🔧 Installation
Schnellstart (macOS/Linux)
# 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
# Custom taps hinzufügen (für Yabai)
brew tap koekeishiya/formulae
# Core & Development tools installieren
brew install git neovim fish starship fzf ripgrep fd bat btop neofetch direnv lazygit mise yabai tmux
brew install --cask ghostty 1password-cli
# 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
ln -sf ~/gits/dotfiles/.config/neofetch ~/.config/neofetch
ln -sf ~/gits/dotfiles/.config/yabai ~/.config/yabai
# Btop & Htop Konfigurationsdateien verlinken
mkdir -p ~/.config/btop ~/.config/htop
ln -sf ~/gits/dotfiles/.config/btop/btop.conf ~/.config/btop/btop.conf
ln -sf ~/gits/dotfiles/.config/htop/htoprc ~/.config/htop/htoprc
# Tmux Konfiguration verlinken (modern & klassisch)
mkdir -p ~/.config/tmux
ln -sf ~/gits/dotfiles/.config/tmux/tmux.conf ~/.config/tmux/tmux.conf
ln -sf ~/gits/dotfiles/.config/tmux/tmux.conf ~/.tmux.conf
# 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 (primary)
│ ├── htop/ # System monitor fallback
│ ├── neofetch/ # System info config
│ ├── yabai/ # Window manager (macOS)
│ └── starship.toml # Prompt 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 definitiongr- Go to referencesK- Hover documentation<leader>ca- Code actions<leader>rn- Rename
🔄 Updates
# 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
# Lazy.nvim neu installieren
rm -rf ~/.local/share/nvim
nvim
Fish Plugins fehlen
# 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
# 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)
🤖 KI / AI CLI Tools (Optional)
Das Installationsskript kann optional verschiedene KI-Kommandozeilentools für Sie einrichten:
- Google Antigravity CLI (
agy): Das primäre AI-Agent-Werkzeug für dieses Setup.- Installation:
curl -sS https://antigravity.google/install.sh | bash
- Installation:
- Claude Code (
@anthropic-ai/claude-code): Anthropic's offizielles, agentisches Terminal-Tool für Claude.- Installation (via Mise):
mise exec -- npm install -g @anthropic-ai/claude-code
- Installation (via Mise):
- LLM CLI (
llm): Simon Willison's CLI für den universellen API-Zugriff auf ChatGPT, Claude und DeepSeek über Plugins.- Installation:
brew install llmbzw.pip install llm - Plugins:
llm install llm-claude llm-gpt3 llm-deepseek
- Installation:
- tgpt: Ein Zero-Config Terminal ChatGPT Client (benötigt keinen API-Key).
- Installation:
brew install tgpt
- Installation:
- Ollama: Zum lokalen Offline-Ausführen von Modellen wie
deepseek-coder.- Installation:
brew install --cask ollama(macOS) bzw.curl -fsSL https://ollama.com/install.sh | sh(Linux) - Ausführen:
ollama run deepseek-coder
- Installation:
🎨 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
✅ Mise Integration - Modernes Tool- & 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
📄 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! 🚀