feat(windows): добавлены proxy-хелперы и упрощен git baseline
- Зачем: - нужно перенести привычные proxy_on/proxy_off/myip из bash в pwsh и убрать устаревший codevpn. - нужно сделать Windows Git baseline проще и предсказуемее, чтобы effective значения и проверки не путались. - Что: - в managed profile PowerShell 7 добавлены `proxy_on`, `proxy_off`, `myip` и удалён `codevpn`. - Git baseline перенесён в `~/.gitconfig`, а `~/.gitconfig.local` оставлен только для локальных и персональных override-настроек. - README уточнён: legacy-статус Windows PowerShell 5.1, новые helper-функции и корректная команда проверки Git-конфига. - Проверка: - `chezmoi -S "$HOME\dotfiles\chezmoi" apply --force` - `pwsh -NoLogo -Command ''Get-Command proxy_on,proxy_off,myip,Reload-Profile,wt-here; Test-Path function:codevpn''` - `git config --global --includes --list --show-origin`
This commit is contained in:
1 parent
8fd5b9c630
commit
9b66fc70fc
5 files changed
+119
-36
No files matched your search
@@ -137,10 +137,12 @@ chezmoi -S "$HOME\dotfiles\chezmoi" apply
|
||||
|
||||
Этот режим не требует менять глобальный source `chezmoi`: достаточно запускать `chezmoi -S "$HOME\dotfiles\chezmoi" apply` из уже существующего репозитория.
|
||||
|
||||
Windows-слой в этом репозитории настраивает современный `PowerShell 7` как основной рабочий shell. `Windows PowerShell 5.1` сознательно остаётся legacy-режимом совместимости и не получает новые helper-функции, форсированный UTF-8 или другие агрессивные изменения без отдельного явного запроса.
|
||||
|
||||
**Что делает текущий Windows-layer:**
|
||||
- ✅ ставит маленький live-stub в `~/Documents/PowerShell/Microsoft.PowerShell_profile.ps1`
|
||||
- ✅ хранит основную логику `pwsh` в `~/.config/powershell/profile.ps1`
|
||||
- ✅ раскладывает Git на managed baseline в `~/.config/git/config` и локальные overrides в `~/.gitconfig.local`
|
||||
- ✅ хранит Git baseline в `~/.gitconfig`, а локальные overrides в `~/.gitconfig.local`
|
||||
- ✅ оставляет hook'и для локальных добавок: `~/.config/powershell/profile.extra.ps1` и `~/.config/powershell/profile.d/*.ps1`
|
||||
- ✅ идемпотентно приводит `Windows Terminal` к базовому состоянию без полной перезаписи всего `settings.json`
|
||||
|
||||
@@ -151,10 +153,12 @@ chezmoi -S "$HOME\dotfiles\chezmoi" apply
|
||||
- `mkcd` — создаёт директорию и сразу переходит в неё
|
||||
- `open` — открывает путь через `Invoke-Item`
|
||||
- `croot` — переходит в корень текущего Git-репозитория
|
||||
- `proxy_on` — включает `HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY`, `NO_PROXY` для `hproxy.local:12334`
|
||||
- `proxy_off` — очищает proxy-переменные текущей сессии
|
||||
- `myip` — быстро показывает текущий внешний IP
|
||||
- `wt-here` — открывает новое окно Windows Terminal в текущей директории
|
||||
- `wt-tab-here` — открывает новую вкладку Windows Terminal в текущей директории
|
||||
- `wt-split-here` — открывает split-pane Windows Terminal в текущей директории
|
||||
- `codevpn` — запускает `code .` с временно выставленными `HTTP_PROXY` и `HTTPS_PROXY`
|
||||
|
||||
**Что сознательно не делается:**
|
||||
- ❌ `Windows PowerShell 5.1` не форсируется в UTF-8 и не меняется без явного запроса
|
||||
@@ -169,6 +173,7 @@ chezmoi -S "$HOME\dotfiles\chezmoi" apply
|
||||
- `pull.ff = only`
|
||||
- `init.defaultBranch = main`
|
||||
- `user.name`, `user.email`, `core.editor` и `core.sshCommand` в baseline не входят и должны жить в `~/.gitconfig.local`
|
||||
- Проверять итоговые значения удобнее через `git config --global --includes --list --show-origin`
|
||||
|
||||
## 🔧 Требования
|
||||
|
||||
|
||||
Reference in new issue
Block a user