From f692fbf01edb04a9859070cac1b2c1c34a77ec79 Mon Sep 17 00:00:00 2001 From: rain Date: Wed, 19 Aug 2026 07:24:42 -0400 Subject: [PATCH 1/4] =?UTF-8?q?Remove=20update-neovim.sh=20tarball=20insta?= =?UTF-8?q?ller=20=E2=80=94=20neovim=20comes=20from=20system=20package=20(?= =?UTF-8?q?pacman),=20topgrade=20keeps=20it=20current?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dot_config/topgrade/topgrade.toml | 4 -- dot_local/bin/update-neovim.sh | 58 ----------------------- run_once_20-install-user-packages.sh.tmpl | 49 +------------------ 3 files changed, 2 insertions(+), 109 deletions(-) delete mode 100755 dot_local/bin/update-neovim.sh diff --git a/dot_config/topgrade/topgrade.toml b/dot_config/topgrade/topgrade.toml index 1431b84..9e88ba1 100644 --- a/dot_config/topgrade/topgrade.toml +++ b/dot_config/topgrade/topgrade.toml @@ -31,7 +31,3 @@ repos = [ "~/Documents/Git/*" ] -[commands] -# Bump neovim to the version pinned in update-neovim.sh. Idempotent — no-op -# if already at target. Edit NVIM_TARGET_VERSION in the script to upgrade. -"~/.local/bin/update-neovim.sh" = "neovim" diff --git a/dot_local/bin/update-neovim.sh b/dot_local/bin/update-neovim.sh deleted file mode 100755 index a3d8c92..0000000 --- a/dot_local/bin/update-neovim.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env bash -# ============================================================================= -# update-neovim.sh — chezmoi-managed, deployed to ~/.local/bin/update-neovim.sh -# -# Installs or upgrades neovim from the official binary tarball. -# Bump NVIM_TARGET_VERSION to upgrade. Topgrade calls this via -# ~/.config/topgrade.toml. -# -# Idempotent: no-op if installed version matches target. -# ============================================================================= -set -euo pipefail - -NVIM_TARGET_VERSION="v0.11.4" - -ARCH="$(uname -m)" -case "$ARCH" in - x86_64) - NVIM_TARBALL="nvim-linux64.tar.gz" - NVIM_EXTRACT_DIR="nvim-linux64" - ;; - aarch64|arm64) - NVIM_TARBALL="nvim-linux-arm64.tar.gz" - NVIM_EXTRACT_DIR="nvim-linux-arm64" - ;; - *) - echo "unsupported arch: $ARCH" >&2 - exit 1 - ;; -esac - -if command -v nvim >/dev/null 2>&1; then - INSTALLED_VER="$(nvim --version 2>/dev/null | head -1 | awk '{print $2}')" - if [[ "$INSTALLED_VER" == "$NVIM_TARGET_VERSION" ]]; then - echo "neovim $INSTALLED_VER matches target — no action" - exit 0 - fi - echo "neovim $INSTALLED_VER -> $NVIM_TARGET_VERSION" -else - echo "installing neovim $NVIM_TARGET_VERSION" -fi - -cd /tmp -TMP_TARBALL="$(mktemp /tmp/nvim-update.XXXXXX.tar.gz)" -trap 'rm -f "$TMP_TARBALL"' EXIT - -if ! curl -fL --retry 3 \ - "https://github.com/neovim/neovim/releases/download/${NVIM_TARGET_VERSION}/${NVIM_TARBALL}" \ - -o "$TMP_TARBALL"; then - echo "failed to download $NVIM_TARBALL" >&2 - exit 1 -fi - -sudo rm -rf /opt/nvim-linux* /usr/local/bin/nvim -sudo tar -xzf "$TMP_TARBALL" -C /opt/ -sudo ln -sf "/opt/${NVIM_EXTRACT_DIR}/bin/nvim" /usr/local/bin/nvim - -echo "neovim $NVIM_TARGET_VERSION installed" -nvim --version | head -1 \ No newline at end of file diff --git a/run_once_20-install-user-packages.sh.tmpl b/run_once_20-install-user-packages.sh.tmpl index 1a076f9..b665d42 100755 --- a/run_once_20-install-user-packages.sh.tmpl +++ b/run_once_20-install-user-packages.sh.tmpl @@ -200,53 +200,8 @@ if command -v bun >/dev/null 2>&1; then fi fi -# Neovim — install official binary tarball, pinned to a known-good version. -# Bump NVIM_TARGET_VERSION to upgrade. ~/.local/bin/update-neovim.sh does -# the same check + download so topgrade can invoke it for upgrades. -NVIM_TARGET_VERSION="v0.11.4" -ARCH="$(uname -m)" -case "$ARCH" in - x86_64) - NVIM_TARBALL="nvim-linux64.tar.gz" - NVIM_EXTRACT_DIR="nvim-linux64" - ;; - aarch64|arm64) - NVIM_TARBALL="nvim-linux-arm64.tar.gz" - NVIM_EXTRACT_DIR="nvim-linux-arm64" - ;; - *) - die "unsupported arch for neovim tarball: $ARCH" - ;; -esac - -if command -v nvim >/dev/null 2>&1; then - INSTALLED_VER="$(nvim --version 2>/dev/null | head -1 | awk '{print $2}')" - if [[ "$INSTALLED_VER" == "$NVIM_TARGET_VERSION" ]]; then - log "neovim $INSTALLED_VER matches target — skipping" - NVIM_TARBALL="" - else - log "neovim $INSTALLED_VER != target $NVIM_TARGET_VERSION — upgrading" - fi -fi - -if [[ -n "$NVIM_TARBALL" ]]; then - log "downloading neovim $NVIM_TARGET_VERSION ($NVIM_TARBALL)" - cd /tmp - if ! curl -fL --retry 3 \ - "https://github.com/neovim/neovim/releases/download/${NVIM_TARGET_VERSION}/${NVIM_TARBALL}" \ - -o nvim.tar.gz; then - die "failed to download neovim tarball" - fi - sudo rm -rf /opt/nvim-linux* /usr/local/bin/nvim - sudo tar -xzf nvim.tar.gz -C /opt/ - sudo ln -sf "/opt/${NVIM_EXTRACT_DIR}/bin/nvim" /usr/local/bin/nvim - rm -f nvim.tar.gz -fi - -# Verify neovim is reachable (PATH may need /usr/local/bin explicitly for this run) -if ! command -v nvim >/dev/null 2>&1 && [[ -x /usr/local/bin/nvim ]]; then - export PATH="/usr/local/bin:$PATH" -fi +# Neovim comes from the system package (pacman list above); topgrade keeps +# it current. No manual tarball install. {{ else -}} die "unsupported os_family: {{ .os_family }}" From a223473fc2d75e4d959e4ac674320985c1e96a66 Mon Sep 17 00:00:00 2001 From: rain Date: Wed, 19 Aug 2026 08:16:41 -0400 Subject: [PATCH 2/4] Scope update-neovim.sh to debian: arch gets neovim from pacman; guard no-ops elsewhere --- dot_config/topgrade/topgrade.toml | 5 ++ dot_local/bin/update-neovim.sh | 68 +++++++++++++++++++++++ run_once_20-install-user-packages.sh.tmpl | 50 ++++++++++++++++- 3 files changed, 121 insertions(+), 2 deletions(-) create mode 100644 dot_local/bin/update-neovim.sh diff --git a/dot_config/topgrade/topgrade.toml b/dot_config/topgrade/topgrade.toml index 9e88ba1..11419a8 100644 --- a/dot_config/topgrade/topgrade.toml +++ b/dot_config/topgrade/topgrade.toml @@ -31,3 +31,8 @@ repos = [ "~/Documents/Git/*" ] +[commands] +# Debian-only (script no-ops elsewhere): apt neovim is stale, so debian +# machines install from the pinned binary tarball. Arch uses pacman. +"~/.local/bin/update-neovim.sh" = "neovim" + diff --git a/dot_local/bin/update-neovim.sh b/dot_local/bin/update-neovim.sh new file mode 100644 index 0000000..a605111 --- /dev/null +++ b/dot_local/bin/update-neovim.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash +# ============================================================================= +# update-neovim.sh — chezmoi-managed, deployed to ~/.local/bin/update-neovim.sh +# +# Installs or upgrades neovim from the official binary tarball. +# Bump NVIM_TARGET_VERSION to upgrade. Topgrade calls this via +# ~/.config/topgrade/topgrade.toml. +# +# Debian-only: arch gets neovim from pacman (see PACMAN_PKGS in +# run_once_20-install-user-packages.sh.tmpl), so this is a no-op +# on non-debian machines. +# +# Idempotent: no-op if installed version matches target. +# ============================================================================= +set -euo pipefail + +OS_ID="$(. /etc/os-release 2>/dev/null && echo "$ID" || true)" +if [[ "$OS_ID" != "debian" ]]; then + echo "neovim: not debian ($OS_ID) — no action" + exit 0 +fi + +NVIM_TARGET_VERSION="v0.11.4" + +ARCH="$(uname -m)" +case "$ARCH" in + x86_64) + NVIM_TARBALL="nvim-linux64.tar.gz" + NVIM_EXTRACT_DIR="nvim-linux64" + ;; + aarch64|arm64) + NVIM_TARBALL="nvim-linux-arm64.tar.gz" + NVIM_EXTRACT_DIR="nvim-linux-arm64" + ;; + *) + echo "unsupported arch: $ARCH" >&2 + exit 1 + ;; +esac + +if command -v nvim >/dev/null 2>&1; then + INSTALLED_VER="$(nvim --version 2>/dev/null | head -1 | awk '{print $2}')" + if [[ "$INSTALLED_VER" == "$NVIM_TARGET_VERSION" ]]; then + echo "neovim $INSTALLED_VER matches target — no action" + exit 0 + fi + echo "neovim $INSTALLED_VER -> $NVIM_TARGET_VERSION" +else + echo "installing neovim $NVIM_TARGET_VERSION" +fi + +cd /tmp +TMP_TARBALL="$(mktemp /tmp/nvim-update.XXXXXX.tar.gz)" +trap 'rm -f "$TMP_TARBALL"' EXIT + +if ! curl -fL --retry 3 \ + "https://github.com/neovim/neovim/releases/download/${NVIM_TARGET_VERSION}/${NVIM_TARBALL}" \ + -o "$TMP_TARBALL"; then + echo "failed to download $NVIM_TARBALL" >&2 + exit 1 +fi + +sudo rm -rf /opt/nvim-linux* /usr/local/bin/nvim +sudo tar -xzf "$TMP_TARBALL" -C /opt/ +sudo ln -sf "/opt/${NVIM_EXTRACT_DIR}/bin/nvim" /usr/local/bin/nvim + +echo "neovim $NVIM_TARGET_VERSION installed" +nvim --version | head -1 \ No newline at end of file diff --git a/run_once_20-install-user-packages.sh.tmpl b/run_once_20-install-user-packages.sh.tmpl index b665d42..6da568f 100755 --- a/run_once_20-install-user-packages.sh.tmpl +++ b/run_once_20-install-user-packages.sh.tmpl @@ -200,8 +200,54 @@ if command -v bun >/dev/null 2>&1; then fi fi -# Neovim comes from the system package (pacman list above); topgrade keeps -# it current. No manual tarball install. +# Neovim — debian apt ships a stale version, so install the official +# binary tarball, pinned to a known-good version. Bump +# NVIM_TARGET_VERSION here and in ~/.local/bin/update-neovim.sh to +# upgrade (topgrade runs the script on debian machines). +NVIM_TARGET_VERSION="v0.11.4" +ARCH="$(uname -m)" +case "$ARCH" in + x86_64) + NVIM_TARBALL="nvim-linux64.tar.gz" + NVIM_EXTRACT_DIR="nvim-linux64" + ;; + aarch64|arm64) + NVIM_TARBALL="nvim-linux-arm64.tar.gz" + NVIM_EXTRACT_DIR="nvim-linux-arm64" + ;; + *) + die "unsupported arch for neovim tarball: $ARCH" + ;; +esac + +if command -v nvim >/dev/null 2>&1; then + INSTALLED_VER="$(nvim --version 2>/dev/null | head -1 | awk '{print $2}')" + if [[ "$INSTALLED_VER" == "$NVIM_TARGET_VERSION" ]]; then + log "neovim $INSTALLED_VER matches target — skipping" + NVIM_TARBALL="" + else + log "neovim $INSTALLED_VER != target $NVIM_TARGET_VERSION — upgrading" + fi +fi + +if [[ -n "$NVIM_TARBALL" ]]; then + log "downloading neovim $NVIM_TARGET_VERSION ($NVIM_TARBALL)" + cd /tmp + if ! curl -fL --retry 3 \ + "https://github.com/neovim/neovim/releases/download/${NVIM_TARGET_VERSION}/${NVIM_TARBALL}" \ + -o nvim.tar.gz; then + die "failed to download neovim tarball" + fi + sudo rm -rf /opt/nvim-linux* /usr/local/bin/nvim + sudo tar -xzf nvim.tar.gz -C /opt/ + sudo ln -sf "/opt/${NVIM_EXTRACT_DIR}/bin/nvim" /usr/local/bin/nvim + rm -f nvim.tar.gz +fi + +# Verify neovim is reachable (PATH may need /usr/local/bin explicitly for this run) +if ! command -v nvim >/dev/null 2>&1 && [[ -x /usr/local/bin/nvim ]]; then + export PATH="/usr/local/bin:$PATH" +fi {{ else -}} die "unsupported os_family: {{ .os_family }}" From 6d6deb459fcbe9c75eeba402d6e624117a01540e Mon Sep 17 00:00:00 2001 From: rain Date: Wed, 19 Aug 2026 12:53:21 -0400 Subject: [PATCH 3/4] kitty: add transparency, no noctalia include --- dot_config/kitty/kitty.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dot_config/kitty/kitty.conf b/dot_config/kitty/kitty.conf index 79aa4ab..7298140 100644 --- a/dot_config/kitty/kitty.conf +++ b/dot_config/kitty/kitty.conf @@ -5,3 +5,6 @@ include other.conf include colors/gruvbox-material-dark-hard.conf + +// Transparency: 1.0 = opaque, lower = more see-through (needs Wayland + compositor blur) +background_opacity 0.75 From eccb9b8c7bb751c3427e1ca395bcb97cc4b68e6a Mon Sep 17 00:00:00 2001 From: rain Date: Wed, 19 Aug 2026 13:03:50 -0400 Subject: [PATCH 4/4] pi: default to miche.llama/qwen38-27b, changelog 0.84.2; restore exec bit on update-neovim.sh --- dot_local/bin/update-neovim.sh | 0 dot_pi/agent/settings.json.tmpl | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) mode change 100644 => 100755 dot_local/bin/update-neovim.sh diff --git a/dot_local/bin/update-neovim.sh b/dot_local/bin/update-neovim.sh old mode 100644 new mode 100755 diff --git a/dot_pi/agent/settings.json.tmpl b/dot_pi/agent/settings.json.tmpl index 357c73f..8391ecd 100644 --- a/dot_pi/agent/settings.json.tmpl +++ b/dot_pi/agent/settings.json.tmpl @@ -1,9 +1,9 @@ { - "defaultProvider": "zai", - "defaultModel": "glm-5.2", + "defaultProvider": "miche.llama", + "defaultModel": "qwen38-27b-ciru-promptforge", "defaultThinkingLevel": "high", "quietStartup": true, - "lastChangelogVersion": "0.83.0", + "lastChangelogVersion": "0.84.2", "theme": "gruvbox-dark", "powerline": true, "footer": false,