From b504e16f941470d46c0f8495f7ea4368e5d14871 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Thu, 23 Jul 2026 10:00:34 +0200 Subject: windows: install-win.cmd durch install-win.ps1 ersetzt, neovim-dict-win.ps1 ergaenzt install-win.cmd entfernt, install-win.ps1 (reines PowerShell) uebernimmt dieselbe Aufgabe (Config-Kopie nach %LOCALAPPDATA%\nvim, .gitconfig, config-up2parts, npmrc). Ausserdem bootstrap/neovim-dict-win.ps1 als PowerShell-Pendant zu bootstrap/neovim-dict.sh: laedt die deutschen Rechtschreib-Woerterbuecher nach %LOCALAPPDATA%\nvim-data\site\spell. neovim-windows-setup.md aktualisiert: verweist jetzt durchgehend auf die .ps1-Skripte statt .cmd/Git-Bash, Python-Installationsschritt entfernt (Provider ist deaktiviert), Stolperstein-Liste bereinigt. --- install-win.ps1 | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 install-win.ps1 (limited to 'install-win.ps1') diff --git a/install-win.ps1 b/install-win.ps1 new file mode 100644 index 0000000..41b3b51 --- /dev/null +++ b/install-win.ps1 @@ -0,0 +1,93 @@ +#Requires -Version 5.1 +<# + Windows-natives Pendant zu install.sh (ersetzt install-win.cmd). + install.sh bleibt unveraendert - kopiert (statt zu verlinken) die + relevanten Konfigurationen an ihre nativen Windows-Zielorte. Keine + Admin-Rechte noetig (keine Symlinks). + + Aufruf: + .\install-win.ps1 + + Falls die Ausfuehrung durch die Execution Policy blockiert wird: + powershell -ExecutionPolicy Bypass -File .\install-win.ps1 + + Hinweis: Es wird KOPIERT, nicht verlinkt. Nach Aenderungen im Repo + dieses Skript erneut ausfuehren, um die Kopien zu aktualisieren. +#> + +$ErrorActionPreference = "Stop" + +function Write-Ok($msg) { + Write-Host "OK $msg" -ForegroundColor Green +} + +function Write-Step($msg) { + Write-Host "==> $msg" -ForegroundColor Cyan +} + +function Write-SkipMsg($msg) { + Write-Host "- $msg" -ForegroundColor DarkGray +} + +$RepoRoot = $PSScriptRoot + +$NvimSrc = Join-Path $RepoRoot "nvim" +$NvimDst = Join-Path $env:LOCALAPPDATA "nvim" + +$GitConfigSrc = Join-Path $RepoRoot "git\config" +$GitConfigDst = Join-Path $env:USERPROFILE ".gitconfig" + +$GitUp2partsSrc = Join-Path $RepoRoot "git\config-up2parts" +$GitXdgDir = Join-Path $env:USERPROFILE ".config\git" +$GitUp2partsDst = Join-Path $GitXdgDir "config-up2parts" + +$NpmrcSrc = Join-Path $RepoRoot "npm\npmrc" +$NpmrcDst = Join-Path $env:USERPROFILE ".npmrc" + +function Copy-NvimConfig { + Write-Step "nvim -> $NvimDst" + + if (Test-Path $NvimDst) { + Remove-Item -Recurse -Force $NvimDst + } + + Copy-Item -Recurse -Force $NvimSrc $NvimDst + Write-Ok $NvimDst +} + +function Copy-GitConfig { + Write-Step "git\config -> $GitConfigDst" + Copy-Item -Force $GitConfigSrc $GitConfigDst + Write-Ok $GitConfigDst + + if (-not (Test-Path $GitXdgDir)) { + New-Item -ItemType Directory -Path $GitXdgDir -Force | Out-Null + } + + Write-Step "git\config-up2parts -> $GitUp2partsDst" + Copy-Item -Force $GitUp2partsSrc $GitUp2partsDst + Write-Ok "$GitUp2partsDst (wird per includeIf aus .gitconfig eingebunden)" +} + +function Copy-Npmrc { + if (Test-Path $NpmrcDst) { + Write-SkipMsg "$NpmrcDst existiert bereits, uebersprungen" + return + } + + Write-Step "npm\npmrc -> $NpmrcDst" + Copy-Item -Force $NpmrcSrc $NpmrcDst + Write-Ok $NpmrcDst +} + +function Main { + Copy-NvimConfig + Copy-GitConfig + Copy-Npmrc + + Write-Host "" + Write-Host "Fertig. Dateien wurden KOPIERT, nicht verlinkt." -ForegroundColor Green + Write-Host "Nach Aenderungen im Repo dieses Skript erneut ausfuehren." +} + +Main -- cgit v1.3