- Complete migration from Kickstart to Scratch config - Add Python LSP support (pyright) for workflow scripts - Improve Neo-tree: ASCII mode, better folder navigation (o, Z keys) - Add htop config as btop fallback - Configure Ghostty with Hack font + font-thicken - Remove all Zsh configs (Fish-only now) - Update install.sh for new structure - Add comprehensive README.md Working setup: - TypeScript/Playwright QA optimized - Go development ready - Fish shell + Ghostty terminal - All configs synced to dotfiles
🚀 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
# 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 (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)
🎨 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
📄 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! 🚀
Description
Languages
Shell
68.8%
Lua
31.2%