Baerspektivo 0379a21780 feat: Complete Neovim Scratch setup with all fixes
- 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
2025-10-13 11:38:18 +02:00
2025-06-04 20:15:29 +02:00
2024-10-31 11:44:45 +01:00
2025-10-13 10:15:50 +02:00
2025-10-13 10:15:50 +02:00

🚀 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 definition
  • gr - Go to references
  • K - 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+
  • 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
Dotfiles
Readme 594 KiB
Languages
Shell 68.8%
Lua 31.2%