feat(installers): consolidate app installers into host-aware install-apps
Fold macinstaller + install-apt-pkgs + install-tools + install-zellij into a single host-aware lk-installers/install-apps (macOS->Homebrew, bootstrapping Homebrew if absent; Linux->apt + upstream installers). Installs the tools the configs assume (bat, fd, fzf, zoxide, zellij, nvim, btop, htop, tldr) plus the fzf-git.sh helper and fzf shell integration; idempotent. link-dotfiles gains --apps to install then link in one shot. .zshrc drops the redundant brew/system zsh-autosuggestions source (zinit already loads it), fixing the missing-file error on a fresh box. README documents the new flow.
This commit is contained in:
@@ -14,7 +14,8 @@ Personal dotfiles. Configs are organized by where they get linked:
|
||||
One-shot, host-aware:
|
||||
|
||||
```bash
|
||||
./link-dotfiles
|
||||
./link-dotfiles # link only (installs stow if missing)
|
||||
./link-dotfiles --apps # fresh box: install all CLI tools, then link
|
||||
```
|
||||
|
||||
It detects the host (macOS vs Linux), installs [`stow`](https://www.gnu.org/software/stow/)
|
||||
@@ -22,6 +23,23 @@ 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.
|
||||
|
||||
### Installing the tools
|
||||
|
||||
The configs assume a handful of CLI tools (`bat`, `fd`, `fzf`, `zoxide`,
|
||||
`zellij`, `nvim`, `btop`, `htop`, `tldr`, plus the `fzf-git.sh` helper). One
|
||||
host-aware installer covers them:
|
||||
|
||||
```bash
|
||||
./lk-installers/install-apps # macOS -> Homebrew; Linux -> apt + upstream
|
||||
```
|
||||
|
||||
On macOS it bootstraps Homebrew if absent. It's idempotent — re-running only
|
||||
fills gaps. `./link-dotfiles --apps` just runs this first, then links.
|
||||
|
||||
The zsh prompt and plugins (zinit, Powerlevel10k, autosuggestions,
|
||||
syntax-highlighting, completions, vi-mode, fzf-tab) **self-install** from
|
||||
`.zshrc` on first shell start, so they're not part of `install-apps`.
|
||||
|
||||
## Windows (PowerShell)
|
||||
|
||||
`stow` doesn't run natively on Windows, so use the PowerShell equivalent. It
|
||||
|
||||
Reference in New Issue
Block a user