dotfiles/win/readme.md
2024-11-20 14:27:00 +00:00

1.7 KiB

Windows dotfiles

By following the Windows Directory Standard, assign the following directories corresponding to $XDG_CONFIG in Unix:

  • %APPDATA% - $XDG_CONFIG_HOME (default: %USERPROFILE%\AppData\Roaming)

PowerShell Profile

This is the PowerShell Core profile, not the legacy Windows PowerShell profile.

By default, PowerShell profile is stored in ~\Documents\PowerShell\Microsoft.PowerShell_profile.ps1.

It is convenient to use $PROFILE to locate the profile file.

Test-Path $PROFILE

To link the profile file:

New-Item -ItemType SymbolicLink -Path $PROFILE -Target "$DOTFILES\win\Microsoft.PowerShell_profile.ps1" -Force

I use starship to customize the prompt, which is located in .dotfiles/.config/starship/starship_pwsh.toml. This prompt config is cross-platform for powershell core, since I use the promp to identify the shell.

.wslconfig - WSL Configuration

.wslconfig only supports ~/.wslconfig as the configuration path

New-Item -ItemType SymbolicLink -Path "~\.wslconfig" -Target "$DOTFILES\win\.wslconfig" -Force

Windows Terminal

Use Hard Link to sync Windows Terminal Settings since it doesn't support symlink.

New-Item -ItemType HardLink -Path "$Env:LocalAppData\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json" -Target "$DOTFILES\win\WindowsTerminal.json" -Force

Neovide

Neovide configuration is (only) stored in %APPDATA%\neovide\config.toml

New-Item -ItemType SymbolicLink -Path "$Env:AppData\neovide\config.toml" -Target "$DOTFILES\win\neovide.toml" -Force