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
This commit is contained in:
@@ -5,19 +5,22 @@ 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` |
|
||||
| `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)
|
||||
|
||||
Requires [`stow`](https://www.gnu.org/software/stow/).
|
||||
One-shot, host-aware:
|
||||
|
||||
```bash
|
||||
./link-dotfiles
|
||||
```
|
||||
|
||||
This runs `stow home_root` and `stow --target=$HOME/.config home_config`.
|
||||
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)
|
||||
|
||||
@@ -45,27 +48,15 @@ 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
|
||||
## Prompt
|
||||
|
||||
| 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) |
|
||||
**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
|
||||
# Windows: install oh-my-posh, then link
|
||||
pwsh -File .\lk-installers\install-ohmyposh.ps1
|
||||
pwsh -File .\link-dotfiles.ps1
|
||||
```
|
||||
PowerShell uses [starship](https://starship.rs/) (configured separately).
|
||||
|
||||
### 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.
|
||||
Both expect a **Nerd Font v3** (e.g. **VictorMono Nerd Font Mono**) installed and
|
||||
selected in your terminal for glyphs to render.
|
||||
|
||||
Reference in New Issue
Block a user