blob: 7c8e7f332dda6a1cb456c05005587a428ce1cb95 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
# Neovim-Setup unter Windows (nativ)
Checkliste für die Übernahme der bestehenden `nvim/`-Config aus dem Dotfiles-Repo auf ein natives Windows-System (kein WSL). Repo selbst bleibt unverändert.
## 1. Grundwerkzeuge installieren
```powershell
winget install Neovim.Neovim
winget install Git.Git
winget install OpenJS.NodeJS.LTS
winget install Python.Python.3.12
```
Git for Windows bringt Git Bash mit – eine POSIX-Shell, mit der `install.sh` und die `bootstrap/*.sh`-Skripte direkt lauffähig sind (kein Portieren nach PowerShell nötig).
## 2. Konfiguration einrichten (Windows-nativer Weg)
Statt `install.sh` samt XDG-Umgebungsvariablen zu verbiegen: `install-win.cmd` im Repo-Root ausführen. Es kopiert (keine Symlinks, keine Admin-Rechte nötig):
- `nvim/` → `%LOCALAPPDATA%\nvim`
- `git/config` → `%USERPROFILE%\.gitconfig`
- `git/config-up2parts` → `%USERPROFILE%\.config\git\config-up2parts` (Pfad ist im `includeIf` von `git/config` hartkodiert)
- `npm/npmrc` → `%USERPROFILE%\.npmrc` (nur falls dort noch keine Datei existiert)
Nach Änderungen im Repo `install-win.cmd` erneut ausführen, um die Kopien zu aktualisieren.
## 3. Externe Abhängigkeiten
`bootstrap/neovim.sh` bricht unter Windows sofort ab (`Nicht unterstütztes Betriebssystem`) – die Pakete müssen manuell installiert werden:
**Tools**
```powershell
winget install BurntSushi.ripgrep.MSVC
winget install sharkdp.fd
winget install tree-sitter.tree-sitter
```
**C-Compiler** (nötig, damit `nvim-treesitter` Parser kompilieren kann):
```powershell
winget install zig.zig
```
(zig funktioniert als `cc`-Ersatz für Treesitter; alternativ MSVC Build Tools oder MinGW-w64)
**Make** (für `opt.makeprg = "gmake"`):
```powershell
winget install GnuWin32.Make
```
Anschließend `windows\bin` (enthält `gmake.cmd`, einen Wrapper der an `make` durchreicht) einmalig zum PATH hinzufügen:
```powershell
setx PATH "%PATH%;%USERPROFILE%\dotfiles\windows\bin"
```
**Formatter** (conform.nvim):
```powershell
winget install jqlang.jq
npm install -g prettier
pip install ruff
winget install mvdan.shfmt
winget install JohnnyMorganz.StyLua
winget install google.yamlfmt
winget install GnuWin32.Gawk
```
`xmllint` (für XML/XSD) ist in libxml2 enthalten – z. B. über `winget install GnuWin32.Libxml2` oder in Git for Windows bereits vorhanden.
**LSP-Server**:
```powershell
npm install -g basedpyright
npm install -g bash-language-server
npm install -g vscode-langservers-extracted
npm install -g @prisma/language-server
npm install -g @vtsls/language-server
winget install LLVM.LLVM # clangd
winget install koalaman.shellcheck
winget install LuaLS.lua-language-server
```
## 4. Bekannte Stolpersteine
- **`g.python3_host_prog`** in `nvim/lua/config/options.lua` ist hart auf einen Unix-Pfad (`$HOME/.local/venv/nvim/bin/python`) gesetzt. Unter Windows existiert weder dieses `HOME`-Layout noch `bin/python` (dort `Scripts\python.exe`). Aktuell nutzt kein installiertes Plugin die Python-Provider-API – daher unkritisch, kann ignoriert werden, solange `:python3`-Funktionen nicht gebraucht werden. (Erwägenswert: `g.loaded_python3_provider = 0` setzen, dann verschwindet das Problem ganz – separat besprochen, noch nicht umgesetzt.)
- **`scripts/sonarqube.sh`** (`:SonarIssues`): reines POSIX-Shellskript. Läuft nur, wenn ein `sh` im PATH liegt (z. B. `sh.exe` aus Git for Windows im PATH verfügbar machen).
- **`bootstrap/neovim-dict.sh`** (deutsche Rechtschreibprüfung): unter Git Bash direkt ausführbar. Lädt die Dateien nach `~/.local/share/nvim/site/spell`; unter nativem Windows-Neovim stattdessen manuell nach `%LOCALAPPDATA%\nvim-data\site\spell` legen.
- **Clipboard** (`unnamedplus`): funktioniert nativ unter Windows-Neovim ohne Zusatztool – anders als unter WSL, wo `win32yank` nötig wäre.
- **`opt.guifont`**: wirkt nur bei GUI-Frontends wie Neovide. Im Windows Terminal muss die Schriftart dort separat eingestellt werden.
## 5. Verifizieren
```
nvim
:checkhealth
```
`:checkhealth` zeigt fehlende Provider/Tools direkt an – guter letzter Schritt nach der Installation.
|