# 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` | | `windows` | Windows-only | `windows-terminal/settings.json` | | `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 `.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. ### Windows Terminal `windows/windows-terminal/settings.json` is linked into the Terminal package folder (`...\Microsoft.WindowsTerminal_*\LocalState\settings.json`) by `link-dotfiles.ps1`. Because it's linked, changes you make in the Terminal UI write straight back into this repo. The settings include the **Australis** color scheme and the **VictorMono Nerd Font Mono** profile font; install the font (see below) so glyphs render. ## 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.