aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/nix
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-20 13:56:09 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-20 13:56:09 +0100
commit2d9ed00606be2f8c63aba719d00adf70fe6d4393 (patch)
tree013dd78dcb1b316b69286b883e3f8dfad94ac142 /nix
parente66aa35ea314f522a2cdfaebdacf87894a44bd04 (diff)
downloaddotfiles-2d9ed00606be2f8c63aba719d00adf70fe6d4393.tar.gz
dotfiles-2d9ed00606be2f8c63aba719d00adf70fe6d4393.tar.bz2
dotfiles-2d9ed00606be2f8c63aba719d00adf70fe6d4393.zip
refactor(nvim,zsh): remove Mason; use Home-Manager-provisioned tooling
LSPs, formatters, linters, and the lldb-dap debugger now come from ~/.nix-profile/bin (see nix/common.nix). lspconfig keeps the default configs; we just opt-in via vim.lsp.enable() with an explicit list. Changes: - dot_config/nvim/lua/plugins/lsp.lua: drop mason*, replace mason-lspconfig handler with explicit vim.lsp.enable({...}); drop groovy/jenkins formatters and lint entries; drop systemd lint (nginx + groovy + systemdlint tools dropped per plan). - dot_config/nvim/lua/plugins/debug.lua: drop mason-nvim-dap; drop codelldb adapter; switch dap.configurations.cpp to type='lldb' (lldb-dap is the upstream successor, ships with pkgs.lldb). - dot_config/nvim/init.lua: remove mason.nvim, mason-lspconfig.nvim, mason-tool-installer.nvim, mason-nvim-dap.nvim from vim.pack.add. - dot_config/nvim/lua/config/update.lua: remove MasonToolsUpdateSync. - dot_config/zsh/dot_zshrc: flip plugin source order — prefer ~/.nix-profile/share, fall back to /usr/share/zsh (was the other way around). - nix/bootstrap.sh: drop the uv-python3.11 step (no longer needed once Mason no longer source-builds Python LSPs on Ubuntu 20.04). Phase 6 of the nix-on-host migration plan.
Diffstat (limited to 'nix')
-rwxr-xr-xnix/bootstrap.sh33
1 files changed, 2 insertions, 31 deletions
diff --git a/nix/bootstrap.sh b/nix/bootstrap.sh
index 9f5e144..86f82ca 100755
--- a/nix/bootstrap.sh
+++ b/nix/bootstrap.sh
@@ -8,8 +8,7 @@
# 1. Install Nix (Determinate Systems installer, multi-user).
# 2. Clone (or fast-forward) the dotfiles repo to ~/.local/share/dotfiles.
# 3. Run `home-manager switch --flake .../nix#vm`.
-# 4. Install python3.11 via `uv` (needed by Mason pip installs).
-# 5. Add Nix-store zsh to /etc/shells and chsh the user.
+# 4. Add Nix-store zsh to /etc/shells and chsh the user.
#
# Environment overrides:
# DOTFILES_REPO Git URL (default: https://github.com/ruifm/dotfiles)
@@ -35,9 +34,6 @@ else
log "Nix already installed, skipping installer."
fi
-# ── 1b. (moved to step 4 — uv comes from the nix profile, only available
-# after `home-manager switch`) ─────────────────────────────────────────
-
# Source nix env for the rest of this script (installer writes
# /etc/profile.d/nix.sh but the current shell hasn't sourced it).
if [ -f /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh ]; then
@@ -68,32 +64,7 @@ nix --extra-experimental-features 'nix-command flakes' \
run home-manager/master -- \
switch --impure --flake "$DIR/nix#vm" -b backup
-# ── 4. Mason's python interpreter (via uv from the nix profile) ──────────────
-# Mason installs some LSPs/linters into per-package pip venvs. We need a
-# python3.11 that:
-# (a) meets Mason's >=3.10 version requirement (Ubuntu 20.04 ships
-# /usr/bin/python3 = 3.8 — too old), and
-# (b) accepts manylinux wheels (Nix's python rejects them by design;
-# pip then falls back to compiling `nodejs-wheel-binaries` from
-# source, which fails on the host's gcc 9.4 — needs C++20).
-#
-# `uv python install 3.11` fetches a portable CPython build (python-build-
-# standalone, manylinux-compatible) into ~/.local/share/uv/python/. We
-# symlink its `python3.11` into ~/.local/bin/ (already on PATH from
-# zprofile) so Mason discovers it. Does NOT shadow /usr/bin/python3 —
-# leaf-tools policy intact. Works on any distro/release, no PPA required.
-UV_BIN="$HOME/.nix-profile/bin/uv"
-if [ -x "$UV_BIN" ]; then
- if [ ! -x "$HOME/.local/bin/python3.11" ]; then
- log "Installing python3.11 via uv (required for Mason pip installs)…"
- "$UV_BIN" python install 3.11
- UV_PY311="$("$UV_BIN" python find 3.11)"
- mkdir -p "$HOME/.local/bin"
- ln -sf "$UV_PY311" "$HOME/.local/bin/python3.11"
- fi
-fi
-
-# ── 5. chsh to nix-store zsh ─────────────────────────────────────────────────
+# ── 4. chsh to nix-store zsh ─────────────────────────────────────────────────
NIX_ZSH="$HOME/.nix-profile/bin/zsh"
if [ -x "$NIX_ZSH" ]; then
if ! grep -qxF "$NIX_ZSH" /etc/shells 2>/dev/null; then