diff options
| author | Thomas Schmucker <ts@its1.de> | 2026-08-12 11:38:42 +0200 |
|---|---|---|
| committer | Thomas Schmucker <ts@its1.de> | 2026-08-12 11:38:42 +0200 |
| commit | bdc80dabce5e46945ca34ccf74861371485ac2f2 (patch) | |
| tree | c73ab4900ce8360ab230c7d46e114486bdea0d6a | |
| parent | 189d244d36d4ebb2189b698adb21f51cf1c4176a (diff) | |
| download | dotfiles-bdc80dabce5e46945ca34ccf74861371485ac2f2.tar.gz dotfiles-bdc80dabce5e46945ca34ccf74861371485ac2f2.tar.bz2 dotfiles-bdc80dabce5e46945ca34ccf74861371485ac2f2.zip | |
Normalize line endings
| -rw-r--r-- | .gitattributes | 1 | ||||
| -rw-r--r-- | bootstrap-win/neovim.ps1 | 448 | ||||
| -rw-r--r-- | npm/npmrc | 42 | ||||
| -rw-r--r-- | windows/bin/gmake.cmd | 22 | ||||
| -rw-r--r-- | windows/bin/nvim-update.cmd | 24 |
5 files changed, 269 insertions, 268 deletions
diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6313b56 --- /dev/null +++ b/.gitattributes | |||
| @@ -0,0 +1 @@ | |||
| * text=auto eol=lf | |||
diff --git a/bootstrap-win/neovim.ps1 b/bootstrap-win/neovim.ps1 index 7779107..c12ed6b 100644 --- a/bootstrap-win/neovim.ps1 +++ b/bootstrap-win/neovim.ps1 | |||
| @@ -1,224 +1,224 @@ | |||
| 1 | #Requires -Version 5.1 | 1 | #Requires -Version 5.1 |
| 2 | <# | 2 | <# |
| 3 | Windows-natives Pendant zu bootstrap/neovim.sh - nutzt winget/npm statt | 3 | Windows-natives Pendant zu bootstrap/neovim.sh - nutzt winget/npm statt |
| 4 | brew/pkg, daher eigenstaendiges Skript ohne Git-Bash-/WSL-Abhaengigkeit. | 4 | brew/pkg, daher eigenstaendiges Skript ohne Git-Bash-/WSL-Abhaengigkeit. |
| 5 | 5 | ||
| 6 | Aufruf (keine Admin-Rechte noetig): | 6 | Aufruf (keine Admin-Rechte noetig): |
| 7 | .\bootstrap-win\neovim.ps1 | 7 | .\bootstrap-win\neovim.ps1 |
| 8 | 8 | ||
| 9 | yamlfmt, gawk und xmllint sind bewusst nicht enthalten (siehe | 9 | yamlfmt, gawk und xmllint sind bewusst nicht enthalten (siehe |
| 10 | neovim-windows-setup.md). Fehlgeschlagene Installationen werden als | 10 | neovim-windows-setup.md). Fehlgeschlagene Installationen werden als |
| 11 | Warnung gemeldet, das Skript bricht nicht ab. | 11 | Warnung gemeldet, das Skript bricht nicht ab. |
| 12 | #> | 12 | #> |
| 13 | 13 | ||
| 14 | $ErrorActionPreference = "Stop" | 14 | $ErrorActionPreference = "Stop" |
| 15 | $script:Failures = @() | 15 | $script:Failures = @() |
| 16 | 16 | ||
| 17 | function Write-Ok($msg) { | 17 | function Write-Ok($msg) { |
| 18 | Write-Host "OK $msg" -ForegroundColor Green | 18 | Write-Host "OK $msg" -ForegroundColor Green |
| 19 | } | 19 | } |
| 20 | 20 | ||
| 21 | function Write-Step($msg) { | 21 | function Write-Step($msg) { |
| 22 | Write-Host "==> $msg" -ForegroundColor Cyan | 22 | Write-Host "==> $msg" -ForegroundColor Cyan |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | function Write-Skip($msg) { | 25 | function Write-Skip($msg) { |
| 26 | Write-Host "- $msg bereits vorhanden" -ForegroundColor DarkGray | 26 | Write-Host "- $msg bereits vorhanden" -ForegroundColor DarkGray |
| 27 | } | 27 | } |
| 28 | 28 | ||
| 29 | function Write-Warn($msg) { | 29 | function Write-Warn($msg) { |
| 30 | Write-Host "! $msg" -ForegroundColor Yellow | 30 | Write-Host "! $msg" -ForegroundColor Yellow |
| 31 | $script:Failures += $msg | 31 | $script:Failures += $msg |
| 32 | } | 32 | } |
| 33 | 33 | ||
| 34 | function Test-CommandExists([string]$Name) { | 34 | function Test-CommandExists([string]$Name) { |
| 35 | return [bool](Get-Command $Name -ErrorAction SilentlyContinue) | 35 | return [bool](Get-Command $Name -ErrorAction SilentlyContinue) |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | function Find-BinaryDirectory([string]$Binary) { | 38 | function Find-BinaryDirectory([string]$Binary) { |
| 39 | # Deckt den Fall ab, dass winget (v.a. --silent) korrekt installiert, | 39 | # Deckt den Fall ab, dass winget (v.a. --silent) korrekt installiert, |
| 40 | # aber die PATH-Registrierung ausgelassen hat (beobachtet bei LLVM.LLVM). | 40 | # aber die PATH-Registrierung ausgelassen hat (beobachtet bei LLVM.LLVM). |
| 41 | $searchRoots = @( | 41 | $searchRoots = @( |
| 42 | $env:ProgramFiles, | 42 | $env:ProgramFiles, |
| 43 | ${env:ProgramFiles(x86)}, | 43 | ${env:ProgramFiles(x86)}, |
| 44 | (Join-Path $env:LOCALAPPDATA "Programs") | 44 | (Join-Path $env:LOCALAPPDATA "Programs") |
| 45 | ) | Where-Object { $_ -and (Test-Path $_) } | 45 | ) | Where-Object { $_ -and (Test-Path $_) } |
| 46 | 46 | ||
| 47 | foreach ($root in $searchRoots) { | 47 | foreach ($root in $searchRoots) { |
| 48 | $found = Get-ChildItem -Path $root -Recurse -Depth 4 -Filter "$Binary.exe" -File -ErrorAction SilentlyContinue | Select-Object -First 1 | 48 | $found = Get-ChildItem -Path $root -Recurse -Depth 4 -Filter "$Binary.exe" -File -ErrorAction SilentlyContinue | Select-Object -First 1 |
| 49 | if ($found) { | 49 | if ($found) { |
| 50 | return $found.DirectoryName | 50 | return $found.DirectoryName |
| 51 | } | 51 | } |
| 52 | } | 52 | } |
| 53 | 53 | ||
| 54 | return $null | 54 | return $null |
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | function Add-ToUserPath([string]$Dir) { | 57 | function Add-ToUserPath([string]$Dir) { |
| 58 | $userPath = [Environment]::GetEnvironmentVariable("PATH", "User") | 58 | $userPath = [Environment]::GetEnvironmentVariable("PATH", "User") |
| 59 | $entries = $userPath -split ";" | 59 | $entries = $userPath -split ";" |
| 60 | 60 | ||
| 61 | if ($entries -contains $Dir) { | 61 | if ($entries -contains $Dir) { |
| 62 | return $false | 62 | return $false |
| 63 | } | 63 | } |
| 64 | 64 | ||
| 65 | [Environment]::SetEnvironmentVariable("PATH", "$userPath;$Dir", "User") | 65 | [Environment]::SetEnvironmentVariable("PATH", "$userPath;$Dir", "User") |
| 66 | $env:PATH = "$env:PATH;$Dir" | 66 | $env:PATH = "$env:PATH;$Dir" |
| 67 | return $true | 67 | return $true |
| 68 | } | 68 | } |
| 69 | 69 | ||
| 70 | function Install-WingetPackage([string]$Binary, [string]$Id) { | 70 | function Install-WingetPackage([string]$Binary, [string]$Id) { |
| 71 | if (Test-CommandExists $Binary) { | 71 | if (Test-CommandExists $Binary) { |
| 72 | Write-Skip $Binary | 72 | Write-Skip $Binary |
| 73 | return | 73 | return |
| 74 | } | 74 | } |
| 75 | 75 | ||
| 76 | Write-Step "winget install $Id" | 76 | Write-Step "winget install $Id" |
| 77 | $output = winget install --id $Id -e --source winget --accept-package-agreements --accept-source-agreements --silent 2>&1 | 77 | $output = winget install --id $Id -e --source winget --accept-package-agreements --accept-source-agreements --silent 2>&1 |
| 78 | 78 | ||
| 79 | if ($LASTEXITCODE -ne 0) { | 79 | if ($LASTEXITCODE -ne 0) { |
| 80 | $text = $output -join " " | 80 | $text = $output -join " " |
| 81 | $lastLine = ($output | Select-Object -Last 3) -join " / " | 81 | $lastLine = ($output | Select-Object -Last 3) -join " / " |
| 82 | 82 | ||
| 83 | if ($text -match "bereits ein vorhandenes Paket|already installed|No applicable update") { | 83 | if ($text -match "bereits ein vorhandenes Paket|already installed|No applicable update") { |
| 84 | # Installiert, aber nicht im PATH - Binary suchen und PATH ergaenzen. | 84 | # Installiert, aber nicht im PATH - Binary suchen und PATH ergaenzen. |
| 85 | $dir = Find-BinaryDirectory $Binary | 85 | $dir = Find-BinaryDirectory $Binary |
| 86 | 86 | ||
| 87 | if ($dir) { | 87 | if ($dir) { |
| 88 | Add-ToUserPath $dir | Out-Null | 88 | Add-ToUserPath $dir | Out-Null |
| 89 | if (Test-CommandExists $Binary) { | 89 | if (Test-CommandExists $Binary) { |
| 90 | Write-Ok "$Id ('$Binary' in $dir gefunden, User-PATH ergaenzt)" | 90 | Write-Ok "$Id ('$Binary' in $dir gefunden, User-PATH ergaenzt)" |
| 91 | } else { | 91 | } else { |
| 92 | Write-Warn "${Id}: $dir zum User-PATH hinzugefuegt, aber '$Binary' laesst sich immer noch nicht ausfuehren - manuell pruefen." | 92 | Write-Warn "${Id}: $dir zum User-PATH hinzugefuegt, aber '$Binary' laesst sich immer noch nicht ausfuehren - manuell pruefen." |
| 93 | } | 93 | } |
| 94 | } else { | 94 | } else { |
| 95 | Write-Warn "$Id ist laut winget bereits installiert, aber '$Binary' wurde nicht gefunden und konnte auch nicht automatisch lokalisiert werden (durchsucht: Program Files, Program Files (x86), $env:LOCALAPPDATA\Programs). Installationsordner manuell suchen und zum PATH hinzufuegen." | 95 | Write-Warn "$Id ist laut winget bereits installiert, aber '$Binary' wurde nicht gefunden und konnte auch nicht automatisch lokalisiert werden (durchsucht: Program Files, Program Files (x86), $env:LOCALAPPDATA\Programs). Installationsordner manuell suchen und zum PATH hinzufuegen." |
| 96 | } | 96 | } |
| 97 | } else { | 97 | } else { |
| 98 | Write-Warn "winget install $Id fehlgeschlagen (Binary '$Binary' nicht gefunden): $lastLine -- Pruefen mit: winget search $Id" | 98 | Write-Warn "winget install $Id fehlgeschlagen (Binary '$Binary' nicht gefunden): $lastLine -- Pruefen mit: winget search $Id" |
| 99 | } | 99 | } |
| 100 | return | 100 | return |
| 101 | } | 101 | } |
| 102 | 102 | ||
| 103 | Write-Ok $Id | 103 | Write-Ok $Id |
| 104 | } | 104 | } |
| 105 | 105 | ||
| 106 | function Test-BinaryRuns([string]$Binary, [string[]]$VerifyArgs) { | 106 | function Test-BinaryRuns([string]$Binary, [string[]]$VerifyArgs) { |
| 107 | # Einige npm-Pakete (z.B. tree-sitter-cli) installieren nur einen JS-Shim | 107 | # Einige npm-Pakete (z.B. tree-sitter-cli) installieren nur einen JS-Shim |
| 108 | # und laden die eigentliche native Binary per Post-Install-Skript separat | 108 | # und laden die eigentliche native Binary per Post-Install-Skript separat |
| 109 | # von GitHub herunter. Schlaegt dieser Download fehl (Proxy, npm | 109 | # von GitHub herunter. Schlaegt dieser Download fehl (Proxy, npm |
| 110 | # allow-scripts-Policy, Antivirus-Quarantaene), landet der Shim trotzdem | 110 | # allow-scripts-Policy, Antivirus-Quarantaene), landet der Shim trotzdem |
| 111 | # im PATH und Test-CommandExists meldet faelschlich Erfolg. Deshalb hier | 111 | # im PATH und Test-CommandExists meldet faelschlich Erfolg. Deshalb hier |
| 112 | # tatsaechlich ausfuehren statt nur pruefen, ob der Befehlsname | 112 | # tatsaechlich ausfuehren statt nur pruefen, ob der Befehlsname |
| 113 | # aufloesbar ist. | 113 | # aufloesbar ist. |
| 114 | try { | 114 | try { |
| 115 | & $Binary @VerifyArgs *> $null | 115 | & $Binary @VerifyArgs *> $null |
| 116 | return $LASTEXITCODE -eq 0 | 116 | return $LASTEXITCODE -eq 0 |
| 117 | } catch { | 117 | } catch { |
| 118 | return $false | 118 | return $false |
| 119 | } | 119 | } |
| 120 | } | 120 | } |
| 121 | 121 | ||
| 122 | function Install-NpmPackage([string]$Binary, [string]$Package, [string[]]$VerifyArgs = $null) { | 122 | function Install-NpmPackage([string]$Binary, [string]$Package, [string[]]$VerifyArgs = $null) { |
| 123 | if (Test-CommandExists $Binary) { | 123 | if (Test-CommandExists $Binary) { |
| 124 | if ($VerifyArgs -and -not (Test-BinaryRuns $Binary $VerifyArgs)) { | 124 | if ($VerifyArgs -and -not (Test-BinaryRuns $Binary $VerifyArgs)) { |
| 125 | Write-Warn "'$Binary' ist im PATH, laesst sich aber nicht ausfuehren - vermutlich hat der Post-Install-Download von '$Package' nicht geklappt (Proxy/npm allow-scripts-Policy pruefen: 'npm config get allow-scripts'). 'npm uninstall -g $Package' und neu installieren." | 125 | Write-Warn "'$Binary' ist im PATH, laesst sich aber nicht ausfuehren - vermutlich hat der Post-Install-Download von '$Package' nicht geklappt (Proxy/npm allow-scripts-Policy pruefen: 'npm config get allow-scripts'). 'npm uninstall -g $Package' und neu installieren." |
| 126 | } else { | 126 | } else { |
| 127 | Write-Skip $Binary | 127 | Write-Skip $Binary |
| 128 | } | 128 | } |
| 129 | return | 129 | return |
| 130 | } | 130 | } |
| 131 | 131 | ||
| 132 | if (-not (Test-CommandExists "npm")) { | 132 | if (-not (Test-CommandExists "npm")) { |
| 133 | Write-Warn "npm wurde nicht gefunden - kann '$Package' nicht installieren." | 133 | Write-Warn "npm wurde nicht gefunden - kann '$Package' nicht installieren." |
| 134 | return | 134 | return |
| 135 | } | 135 | } |
| 136 | 136 | ||
| 137 | Write-Step "npm install -g $Package" | 137 | Write-Step "npm install -g $Package" |
| 138 | npm install -g $Package | Out-Null | 138 | npm install -g $Package | Out-Null |
| 139 | 139 | ||
| 140 | if ($LASTEXITCODE -ne 0) { | 140 | if ($LASTEXITCODE -ne 0) { |
| 141 | Write-Warn "npm install -g $Package fehlgeschlagen." | 141 | Write-Warn "npm install -g $Package fehlgeschlagen." |
| 142 | return | 142 | return |
| 143 | } | 143 | } |
| 144 | 144 | ||
| 145 | if ($VerifyArgs -and -not (Test-BinaryRuns $Binary $VerifyArgs)) { | 145 | if ($VerifyArgs -and -not (Test-BinaryRuns $Binary $VerifyArgs)) { |
| 146 | Write-Warn "npm install -g $Package war erfolgreich, aber '$Binary' laesst sich nicht ausfuehren - vermutlich hat der Post-Install-Download der nativen Binary nicht geklappt (Proxy/npm allow-scripts-Policy pruefen: 'npm config get allow-scripts')." | 146 | Write-Warn "npm install -g $Package war erfolgreich, aber '$Binary' laesst sich nicht ausfuehren - vermutlich hat der Post-Install-Download der nativen Binary nicht geklappt (Proxy/npm allow-scripts-Policy pruefen: 'npm config get allow-scripts')." |
| 147 | return | 147 | return |
| 148 | } | 148 | } |
| 149 | 149 | ||
| 150 | Write-Ok $Package | 150 | Write-Ok $Package |
| 151 | } | 151 | } |
| 152 | 152 | ||
| 153 | function Test-Prerequisites { | 153 | function Test-Prerequisites { |
| 154 | if (-not (Test-CommandExists "winget")) { | 154 | if (-not (Test-CommandExists "winget")) { |
| 155 | Write-Host "Fehler: winget wurde nicht gefunden. 'App Installer' aus dem Microsoft Store installieren." -ForegroundColor Red | 155 | Write-Host "Fehler: winget wurde nicht gefunden. 'App Installer' aus dem Microsoft Store installieren." -ForegroundColor Red |
| 156 | exit 1 | 156 | exit 1 |
| 157 | } | 157 | } |
| 158 | } | 158 | } |
| 159 | 159 | ||
| 160 | function Update-SessionPath { | 160 | function Update-SessionPath { |
| 161 | # Registry-PATH-Aenderungen durch winget/npm wirken erst nach diesem Refresh. | 161 | # Registry-PATH-Aenderungen durch winget/npm wirken erst nach diesem Refresh. |
| 162 | $machine = [Environment]::GetEnvironmentVariable("PATH", "Machine") | 162 | $machine = [Environment]::GetEnvironmentVariable("PATH", "Machine") |
| 163 | $user = [Environment]::GetEnvironmentVariable("PATH", "User") | 163 | $user = [Environment]::GetEnvironmentVariable("PATH", "User") |
| 164 | $env:PATH = "$machine;$user" | 164 | $env:PATH = "$machine;$user" |
| 165 | } | 165 | } |
| 166 | 166 | ||
| 167 | function Install-Prerequisites { | 167 | function Install-Prerequisites { |
| 168 | Install-WingetPackage -Binary "git" -Id "Git.Git" | 168 | Install-WingetPackage -Binary "git" -Id "Git.Git" |
| 169 | Install-WingetPackage -Binary "node" -Id "OpenJS.NodeJS.LTS" | 169 | Install-WingetPackage -Binary "node" -Id "OpenJS.NodeJS.LTS" |
| 170 | Update-SessionPath | 170 | Update-SessionPath |
| 171 | } | 171 | } |
| 172 | 172 | ||
| 173 | function Install-Formatters { | 173 | function Install-Formatters { |
| 174 | Install-WingetPackage -Binary "jq" -Id "jqlang.jq" | 174 | Install-WingetPackage -Binary "jq" -Id "jqlang.jq" |
| 175 | Install-NpmPackage -Binary "prettier" -Package "prettier" | 175 | Install-NpmPackage -Binary "prettier" -Package "prettier" |
| 176 | Install-WingetPackage -Binary "ruff" -Id "astral-sh.ruff" | 176 | Install-WingetPackage -Binary "ruff" -Id "astral-sh.ruff" |
| 177 | Install-WingetPackage -Binary "shfmt" -Id "mvdan.shfmt" | 177 | Install-WingetPackage -Binary "shfmt" -Id "mvdan.shfmt" |
| 178 | Install-WingetPackage -Binary "stylua" -Id "JohnnyMorganz.StyLua" | 178 | Install-WingetPackage -Binary "stylua" -Id "JohnnyMorganz.StyLua" |
| 179 | 179 | ||
| 180 | # yamlfmt, gawk, xmllint: kein winget-Paket gefunden, siehe neovim-windows-setup.md. | 180 | # yamlfmt, gawk, xmllint: kein winget-Paket gefunden, siehe neovim-windows-setup.md. |
| 181 | } | 181 | } |
| 182 | 182 | ||
| 183 | function Install-Tools { | 183 | function Install-Tools { |
| 184 | Install-WingetPackage -Binary "rg" -Id "BurntSushi.ripgrep.MSVC" | 184 | Install-WingetPackage -Binary "rg" -Id "BurntSushi.ripgrep.MSVC" |
| 185 | Install-WingetPackage -Binary "fd" -Id "sharkdp.fd" | 185 | Install-WingetPackage -Binary "fd" -Id "sharkdp.fd" |
| 186 | Install-NpmPackage -Binary "tree-sitter" -Package "tree-sitter-cli" -VerifyArgs @("--version") | 186 | Install-NpmPackage -Binary "tree-sitter" -Package "tree-sitter-cli" -VerifyArgs @("--version") |
| 187 | 187 | ||
| 188 | # MSVC (cl.exe) ist bereits vorhanden, kein winget-Paket noetig - Neovim | 188 | # MSVC (cl.exe) ist bereits vorhanden, kein winget-Paket noetig - Neovim |
| 189 | # dafuer aber aus einer "Developer PowerShell for VS" starten. | 189 | # dafuer aber aus einer "Developer PowerShell for VS" starten. |
| 190 | Install-WingetPackage -Binary "make" -Id "ezwinports.make" | 190 | Install-WingetPackage -Binary "make" -Id "ezwinports.make" |
| 191 | } | 191 | } |
| 192 | 192 | ||
| 193 | function Install-Lsp { | 193 | function Install-Lsp { |
| 194 | Install-NpmPackage -Binary "basedpyright-langserver" -Package "basedpyright" | 194 | Install-NpmPackage -Binary "basedpyright-langserver" -Package "basedpyright" |
| 195 | Install-NpmPackage -Binary "bash-language-server" -Package "bash-language-server" | 195 | Install-NpmPackage -Binary "bash-language-server" -Package "bash-language-server" |
| 196 | Install-WingetPackage -Binary "clangd" -Id "LLVM.LLVM" | 196 | Install-WingetPackage -Binary "clangd" -Id "LLVM.LLVM" |
| 197 | Install-WingetPackage -Binary "shellcheck" -Id "koalaman.shellcheck" | 197 | Install-WingetPackage -Binary "shellcheck" -Id "koalaman.shellcheck" |
| 198 | Install-NpmPackage -Binary "vscode-html-language-server" -Package "vscode-langservers-extracted" | 198 | Install-NpmPackage -Binary "vscode-html-language-server" -Package "vscode-langservers-extracted" |
| 199 | Install-NpmPackage -Binary "vscode-json-language-server" -Package "vscode-langservers-extracted" | 199 | Install-NpmPackage -Binary "vscode-json-language-server" -Package "vscode-langservers-extracted" |
| 200 | Install-WingetPackage -Binary "lua-language-server" -Id "LuaLS.lua-language-server" | 200 | Install-WingetPackage -Binary "lua-language-server" -Id "LuaLS.lua-language-server" |
| 201 | Install-NpmPackage -Binary "prisma-language-server" -Package "@prisma/language-server" | 201 | Install-NpmPackage -Binary "prisma-language-server" -Package "@prisma/language-server" |
| 202 | Install-NpmPackage -Binary "vtsls" -Package "@vtsls/language-server" | 202 | Install-NpmPackage -Binary "vtsls" -Package "@vtsls/language-server" |
| 203 | } | 203 | } |
| 204 | 204 | ||
| 205 | function Main { | 205 | function Main { |
| 206 | Test-Prerequisites | 206 | Test-Prerequisites |
| 207 | 207 | ||
| 208 | Install-Prerequisites | 208 | Install-Prerequisites |
| 209 | Install-Formatters | 209 | Install-Formatters |
| 210 | Install-Tools | 210 | Install-Tools |
| 211 | Install-Lsp | 211 | Install-Lsp |
| 212 | 212 | ||
| 213 | Write-Host "" | 213 | Write-Host "" |
| 214 | if ($script:Failures.Count -eq 0) { | 214 | if ($script:Failures.Count -eq 0) { |
| 215 | Write-Host "Neovim-Bootstrap abgeschlossen." -ForegroundColor Green | 215 | Write-Host "Neovim-Bootstrap abgeschlossen." -ForegroundColor Green |
| 216 | } else { | 216 | } else { |
| 217 | Write-Host "Neovim-Bootstrap abgeschlossen, mit $($script:Failures.Count) Warnung(en):" -ForegroundColor Yellow | 217 | Write-Host "Neovim-Bootstrap abgeschlossen, mit $($script:Failures.Count) Warnung(en):" -ForegroundColor Yellow |
| 218 | foreach ($f in $script:Failures) { | 218 | foreach ($f in $script:Failures) { |
| 219 | Write-Host " - $f" -ForegroundColor Yellow | 219 | Write-Host " - $f" -ForegroundColor Yellow |
| 220 | } | 220 | } |
| 221 | } | 221 | } |
| 222 | } | 222 | } |
| 223 | 223 | ||
| 224 | Main | 224 | Main |
| @@ -1,21 +1,21 @@ | |||
| 1 | ; ~/.npmrc, %USERPROFILE%\.npmrc | 1 | ; ~/.npmrc, %USERPROFILE%\.npmrc |
| 2 | 2 | ||
| 3 | ; default registry | 3 | ; default registry |
| 4 | registry=https://registry.npmjs.org/ | 4 | registry=https://registry.npmjs.org/ |
| 5 | 5 | ||
| 6 | ; local packages: "npm install -g foo-bar" | 6 | ; local packages: "npm install -g foo-bar" |
| 7 | prefix=${HOME}/.local | 7 | prefix=${HOME}/.local |
| 8 | 8 | ||
| 9 | ; disable fund-spam | 9 | ; disable fund-spam |
| 10 | fund=false | 10 | fund=false |
| 11 | 11 | ||
| 12 | ; suppresses notifications about new npm versions | 12 | ; suppresses notifications about new npm versions |
| 13 | update-notifier=false | 13 | update-notifier=false |
| 14 | 14 | ||
| 15 | ; reduce the attack surface for supply chain attacks | 15 | ; reduce the attack surface for supply chain attacks |
| 16 | min-release-age=3 | 16 | min-release-age=3 |
| 17 | 17 | ||
| 18 | ; whitelist for packages with pre- and post-scripts | 18 | ; whitelist for packages with pre- and post-scripts |
| 19 | allow-scripts=tree-sitter-cli | 19 | allow-scripts=tree-sitter-cli |
| 20 | 20 | ||
| 21 | ; vim: ft=dosini | 21 | ; vim: ft=dosini |
diff --git a/windows/bin/gmake.cmd b/windows/bin/gmake.cmd index 89f3a29..1c45ce5 100644 --- a/windows/bin/gmake.cmd +++ b/windows/bin/gmake.cmd | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | @echo off | 1 | @echo off |
| 2 | rem Wrapper, damit opt.makeprg = "gmake" (aus nvim/lua/config/options.lua) | 2 | rem Wrapper, damit opt.makeprg = "gmake" (aus nvim/lua/config/options.lua) |
| 3 | rem unter Windows funktioniert, ohne die bestehende Config anzupassen. | 3 | rem unter Windows funktioniert, ohne die bestehende Config anzupassen. |
| 4 | rem Reicht alle Argumente an das im PATH gefundene "make" weiter. | 4 | rem Reicht alle Argumente an das im PATH gefundene "make" weiter. |
| 5 | rem | 5 | rem |
| 6 | rem Einmalig einrichten: dieses Verzeichnis (windows\bin) zum PATH | 6 | rem Einmalig einrichten: dieses Verzeichnis (windows\bin) zum PATH |
| 7 | rem hinzufuegen, z.B. ueber: | 7 | rem hinzufuegen, z.B. ueber: |
| 8 | rem setx PATH "%PATH%;%USERPROFILE%\dotfiles\windows\bin" | 8 | rem setx PATH "%PATH%;%USERPROFILE%\dotfiles\windows\bin" |
| 9 | 9 | ||
| 10 | make %* | 10 | make %* |
| 11 | exit /b %ERRORLEVEL% | 11 | exit /b %ERRORLEVEL% |
diff --git a/windows/bin/nvim-update.cmd b/windows/bin/nvim-update.cmd index bf9aff8..7521e7e 100644 --- a/windows/bin/nvim-update.cmd +++ b/windows/bin/nvim-update.cmd | |||
| @@ -1,12 +1,12 @@ | |||
| 1 | @echo off | 1 | @echo off |
| 2 | 2 | ||
| 3 | rem Prüft vor dem Parser-Update, ob ein C-Compiler (cl.exe, MSVC) im PATH | 3 | rem Prüft vor dem Parser-Update, ob ein C-Compiler (cl.exe, MSVC) im PATH |
| 4 | rem gefunden wird - nvim-treesitter braucht ihn zum Kompilieren der Parser. | 4 | rem gefunden wird - nvim-treesitter braucht ihn zum Kompilieren der Parser. |
| 5 | 5 | ||
| 6 | where /q cl.exe | 6 | where /q cl.exe |
| 7 | if errorlevel 1 ( | 7 | if errorlevel 1 ( |
| 8 | echo [nvim-update] cl.exe nicht gefunden - Neovim aus einer "Developer PowerShell for VS" starten. 1>&2 | 8 | echo [nvim-update] cl.exe nicht gefunden - Neovim aus einer "Developer PowerShell for VS" starten. 1>&2 |
| 9 | exit /b 1 | 9 | exit /b 1 |
| 10 | ) | 10 | ) |
| 11 | 11 | ||
| 12 | nvim --headless -c "lua require[[lazy]].sync({ wait = true })" -c "UpdateParsers" -c "qa" | 12 | nvim --headless -c "lua require[[lazy]].sync({ wait = true })" -c "UpdateParsers" -c "qa" |
