1
0
Fork 0
Commit graph

4 commits

Author SHA1 Message Date
b4a4b6e6b4 Add pacstall for neovim install + version updates on debian
Three changes:

1. NEW run_once_05-install-pacstall.sh.tmpl (debian-only)
   Installs pacstall via its official installer. Pacstall is an
   AUR-like package manager for debian/ubuntu, with neovim at
   0.12.2-1 (current as of bootstrap). The installer requires
   root and prompts for 'install axel?', so we run it under
   sudo with NON_INTERACTIVE=true and stdin redirected from /dev/null.

2. UPDATE run_once_20-install-user-packages.sh.tmpl
   On debian, prefer pacstall over the GitHub tarball when
   pacstall is available. The tarball fallback remains for the
   case where pacstall install failed or isn't wanted.

3. NEW dot_config/topgrade/topgrade.toml
   Topgrade's built-in pacstall step auto-detects pacstall and
   runs 'pacstall -U -Up' (update repo + upgrade packages).
   Built-in chezmoi step also auto-detects chezmoi. So our
   topgrade config just sets pre_sudo=true for password caching
   and ignore_failures for node.
2026-06-21 20:43:38 -04:00
6771aff6a6 Fix run_once_20 neovim install for aarch64 + always-fallback
Two bugs hit on rye:

1. neovim tarball URL hardcoded to nvim-linux64.tar.gz (x86_64 only).
   On aarch64 boxes (rye is arm64), curl would 404 the tarball, the
   unpack would create a binary that won't run, or apt's bundled
   neovim might not even be installed.

2. The 'apt's neovim is too old' branch only ran if apt had
   successfully installed an old neovim. If apt didn't install
   neovim at all (or installed a recent enough version), the
   tarball fallback never triggered. On rye, the script reached
   the final 'nvim --version' verification line and crashed with
   'command not found'.

Fix:
- Detect arch via uname -m, map to correct tarball name
  (x86_64 -> nvim-linux64.tar.gz, aarch64 -> nvim-linux-arm64.tar.gz)
- If command -v nvim returns false at all, skip the version check
  entirely and go straight to the GitHub tarball
- If apt's neovim IS recent enough (>= 0.9), keep it and skip the
  tarball
- Final 'nvim --version' verification preceded by a PATH-ensure
  for /usr/local/bin in case the freshly-installed tarball binary
  isn't yet on PATH for this script's environment

Verified template renders cleanly on arch.
2026-06-21 20:29:09 -04:00
e63ddca6ea Add Maple Mono NF font install to bootstrap
- Arch: paru -S maplemono-nf-cn (AUR package, installed via Chaotic-AUR)
- Debian: download MapleMono-NF.zip from subframe7536/Maple-font v7.9
  release, extract to ~/.local/share/fonts, run fc-cache
- Idempotent: skips if fc-list already shows Maple Mono NF
- Pinned to v7.9 (20.6MB); bump MAPLE_FONT_VERSION when upgrading

Also documented in README that the default Maple Mono NF in nvim
init.lua will Just Work on every box thanks to the bootstrap.
2026-06-21 18:25:21 -04:00
2f1477668b Initial chezmoi-managed dotfiles with bootstrap scripts
- Rename master to legacy-2025 on remote (frozen pre-chezmoi snapshot)
- New orphan 'main' branch with bootstrap-enabled config
- .chezmoi.yaml.tmpl detects os_family (debian | arch) from /etc/os-release
- dot_zshrc.tmpl refactored from current miche config with os_family
  conditional for pacman vs apt aliases
- dot_config/: bat, btop, ghostty (with gruvbox themes), kitty (with gruvbox
  colors), nvim (LazyVim), paru
- dot_gitconfig.tmpl, dot_tmux.conf (verbatim from current state)
- run_once_00-install-bootstrap-tools.sh.tmpl: age, git, curl, ca-certificates
- run_once_10-add-chaotic-aur.sh.tmpl (arch-only): add Chaotic-AUR + install paru
- run_once_20-install-user-packages.sh.tmpl: zsh, tmux, neovim (with version
  check + binary tarball fallback for debian), oh-my-zsh + plugins, tpm,
  rustup, all CLI tools
- run_onchange_30-ensure-cargo.sh.tmpl: rustup fallback
- README.md with onboarding runbook
2026-06-21 18:10:54 -04:00