Files
dotfiles/README.md
T
lkrav 7076d40191 chore(shell): powerlevel10k prompt, host-aware bootstrap, drop thefuck
- zsh prompt: replace oh-my-posh with powerlevel10k via zinit, with the
  instant-prompt preamble near the top of .zshrc for fast startup
- remove thefuck/thefk entirely: .zshrc aliases, install-thefk,
  home_config/thefuck, and its .stow-global-ignore entry
- link-dotfiles: one-shot host-aware bootstrap — detect macOS vs Linux,
  install GNU stow if missing (brew / apt/dnf/pacman), then stow both trees
- retire oh-my-posh: delete the bash + pwsh installers and
  home_config/ohmyposh (starship covers PowerShell separately)
- README: document the new bootstrap and prompt setup
2026-06-26 07:33:57 -07:00

63 lines
2.4 KiB
Markdown

# 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`, `zellij`, `ghostty`, `aerospace` |
| `windows` | Windows-only | `windows-terminal/settings.json` |
| `lk-installers`| n/a | helper scripts to install tooling |
## Linux / macOS (GNU stow)
One-shot, host-aware:
```bash
./link-dotfiles
```
It detects the host (macOS vs Linux), installs [`stow`](https://www.gnu.org/software/stow/)
if missing (Homebrew on macOS; apt/dnf/pacman on Linux), then runs
`stow home_root` and `stow --target=$HOME/.config home_config`. Re-running is
safe — stow is idempotent.
## 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.
### 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.
## Prompt
**zsh uses [Powerlevel10k](https://github.com/romkatv/powerlevel10k)** — loaded
through zinit straight from `.zshrc`, with the instant-prompt preamble near the
top for fast startup. The theme config lives at `home_root/.p10k.zsh` (stowed to
`~/.p10k.zsh`); there's no separate installer — zinit fetches it on first shell
start.
PowerShell uses [starship](https://starship.rs/) (configured separately).
Both expect a **Nerd Font v3** (e.g. **VictorMono Nerd Font Mono**) installed and
selected in your terminal for glyphs to render.