aboutsummaryrefslogtreecommitdiff
path: root/neovim-windows-setup.md
diff options
context:
space:
mode:
authorThomas Schmucker <ts@its1.de>2026-07-23 10:16:22 +0200
committerThomas Schmucker <ts@its1.de>2026-07-23 10:16:22 +0200
commitbb70769ffdc3b93329f364f47c49148658a03d44 (patch)
tree4f21bf43282989fa0d9a872b849e581fc55aad2b /neovim-windows-setup.md
parentb504e16f941470d46c0f8495f7ea4368e5d14871 (diff)
downloaddotfiles-bb70769ffdc3b93329f364f47c49148658a03d44.tar.gz
dotfiles-bb70769ffdc3b93329f364f47c49148658a03d44.tar.bz2
dotfiles-bb70769ffdc3b93329f364f47c49148658a03d44.zip
windows: cmd-Style %VAR%-Syntax in PowerShell-Kontexten korrigiert
setx PATH "%PATH%;..." funktioniert in PowerShell nicht wie in cmd.exe (kein automatisches Expandieren von %VAR%) und haette zusaetzlich den kompletten Prozess-PATH inkl. System-Anteil dauerhaft in den User-PATH kopiert. Ersetzt durch [Environment]::GetEnvironmentVariable/SetEnviron- mentVariable("PATH", ..., "User") in bootstrap/neovim-win.ps1 und neovim-windows-setup.md. Ausserdem klargestellt, dass windows/bin/gmake.cmd bewusst die einzige Nicht-PowerShell-Datei im Windows-Zweig bleibt.
Diffstat (limited to 'neovim-windows-setup.md')
-rw-r--r--neovim-windows-setup.md7
1 files changed, 4 insertions, 3 deletions
diff --git a/neovim-windows-setup.md b/neovim-windows-setup.md
index bc27f4a..61c4b08 100644
--- a/neovim-windows-setup.md
+++ b/neovim-windows-setup.md
@@ -2,7 +2,7 @@
2 2
3Checkliste für die Übernahme der bestehenden `nvim/`-Config aus dem Dotfiles-Repo auf ein natives Windows-System (kein WSL). Repo selbst bleibt unverändert. 3Checkliste für die Übernahme der bestehenden `nvim/`-Config aus dem Dotfiles-Repo auf ein natives Windows-System (kein WSL). Repo selbst bleibt unverändert.
4 4
5Alle Windows-Skripte in diesem Repo sind reines PowerShell (kein Git Bash, kein WSL). Falls die Ausführung durch die Execution Policy blockiert wird, entweder pro Aufruf `powershell -ExecutionPolicy Bypass -File .\skript.ps1` verwenden, oder einmalig `Set-ExecutionPolicy -Scope CurrentUser RemoteSigned`. 5Alle Windows-Skripte in diesem Repo sind reines PowerShell (kein Git Bash, kein WSL) – mit einer Ausnahme: `windows\bin\gmake.cmd` ist ein trivialer Ein-Zeiler-Wrapper, für den sich eine `.ps1`-Datei nicht lohnt. Falls die Ausführung der `.ps1`-Skripte durch die Execution Policy blockiert wird, entweder pro Aufruf `powershell -ExecutionPolicy Bypass -File .\skript.ps1` verwenden, oder einmalig `Set-ExecutionPolicy -Scope CurrentUser RemoteSigned`.
6 6
7## 1. Grundwerkzeuge installieren 7## 1. Grundwerkzeuge installieren
8 8
@@ -41,9 +41,10 @@ Nach Änderungen im Repo `install-win.ps1` erneut ausführen, um die Kopien zu a
41 41
42Installiert per `winget`/`npm`: Git, Node, Formatter (jq, prettier, ruff, shfmt, stylua, yamlfmt, gawk, xmllint), Tools (ripgrep, fd, tree-sitter-cli, zig als C-Compiler für Treesitter, make) und LSP-Server (basedpyright, bash-language-server, clangd, shellcheck, vscode-langservers-extracted, lua-language-server, prisma, vtsls). Einzelne Pakete, die fehlschlagen, werden als Warnung gemeldet statt das Skript abzubrechen – Details siehe Kopfkommentar im Skript (einige winget-IDs, v. a. GnuWin32.Gawk/Libxml2, google.yamlfmt, mvdan.shfmt, astral-sh.ruff, zig.zig, sind ungeprüft). 42Installiert per `winget`/`npm`: Git, Node, Formatter (jq, prettier, ruff, shfmt, stylua, yamlfmt, gawk, xmllint), Tools (ripgrep, fd, tree-sitter-cli, zig als C-Compiler für Treesitter, make) und LSP-Server (basedpyright, bash-language-server, clangd, shellcheck, vscode-langservers-extracted, lua-language-server, prisma, vtsls). Einzelne Pakete, die fehlschlagen, werden als Warnung gemeldet statt das Skript abzubrechen – Details siehe Kopfkommentar im Skript (einige winget-IDs, v. a. GnuWin32.Gawk/Libxml2, google.yamlfmt, mvdan.shfmt, astral-sh.ruff, zig.zig, sind ungeprüft).
43 43
44`windows\bin` (enthält `gmake.cmd`, Wrapper für `opt.makeprg = "gmake"`) danach einmalig zum PATH hinzufügen: 44`windows\bin` (enthält `gmake.cmd`, Wrapper für `opt.makeprg = "gmake"`) danach einmalig zum PATH hinzufügen (PowerShell, User-Scope – nicht `setx PATH "%PATH%;..."` verwenden, das würde den kompletten Prozess-PATH inkl. System-Anteil dauerhaft in den User-PATH kopieren):
45```powershell 45```powershell
46setx PATH "%PATH%;%USERPROFILE%\dotfiles\windows\bin" 46$userPath = [Environment]::GetEnvironmentVariable("PATH", "User")
47[Environment]::SetEnvironmentVariable("PATH", "$userPath;$env:USERPROFILE\dotfiles\windows\bin", "User")
47``` 48```
48 49
49## 4. Bekannte Stolpersteine 50## 4. Bekannte Stolpersteine