Add Windows support: linker, oh-my-posh installer, README

- link-dotfiles.ps1: stow-equivalent for Windows using junctions/symlinks
  (no admin required), idempotent with .bak backups and -DryRun
- lk-installers/install-ohmyposh.ps1: winget-based install with fallback
- README.md: document Linux/macOS (stow) and Windows flows
- .gitignore: resolve leftover merge conflict markers, ignore *.bak
- ohmyposh/lkraven.toml: oh-my-posh v3 auto-migrated this on load (same
  theme, upgraded schema)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
lkrav
2026-06-08 13:22:33 -07:00
co-authored by Claude Opus 4.8
parent 1b1a1d4bf9
commit 77a8d25488
5 changed files with 281 additions and 78 deletions
+61
View File
@@ -0,0 +1,61 @@
# dotfiles
Personal dotfiles. Configs are organized by where they get linked:
| Folder | Links into | Examples |
| -------------- | ------------ | --------------------------------- |
| `home_root` | `~` | `.zshrc`, `.wezterm.lua`, `.nanorc` |
| `home_config` | `~/.config` | `nvim`, `ohmyposh`, `zellij`, `ghostty` |
| `lk-installers`| n/a | helper scripts to install tooling |
## Linux / macOS (GNU stow)
Requires [`stow`](https://www.gnu.org/software/stow/).
```bash
./link-dotfiles
```
This runs `stow home_root` and `stow --target=$HOME/.config home_config`.
## Windows (PowerShell)
`stow` doesn't run natively on Windows, so use the PowerShell equivalent. It
mirrors stow by creating **junctions** for directories and **symlinks/hardlinks**
for files — none of which require administrator rights:
```powershell
pwsh -File .\link-dotfiles.ps1
```
- Re-running is safe: already-correct links are skipped.
- Any real file/dir that would be overwritten is moved aside to `<name>.bak`.
- Preview without changing anything: `pwsh -File .\link-dotfiles.ps1 -DryRun`
The repo stays the source of truth — edit files under `home_root` /
`home_config` and the linked locations update live.
## Installers
| Script | Platform | Purpose |
| ------------------------------- | -------- | ------------------ |
| `lk-installers/install-ohmyposh` | bash | oh-my-posh (Linux/macOS) |
| `lk-installers/install-ohmyposh.ps1` | pwsh | oh-my-posh (Windows, via winget) |
```powershell
# Windows: install oh-my-posh, then link
pwsh -File .\lk-installers\install-ohmyposh.ps1
pwsh -File .\link-dotfiles.ps1
```
### oh-my-posh
The prompt theme lives at `home_config/ohmyposh/lkraven.toml` and is loaded from
your shell profile, e.g. in PowerShell:
```powershell
oh-my-posh init pwsh --config '~/.config/ohmyposh/lkraven.toml' | Invoke-Expression
```
It expects a Nerd Font (e.g. **VictorMono Nerd Font Mono**) to be installed and
selected in your terminal for the glyphs to render correctly.