aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/nix/common.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
commite66aa35ea314f522a2cdfaebdacf87894a44bd04 (patch)
tree45bd8d460cdd986784fede95fbe4c020db8b29ee /nix/common.nix
parent1f7215ebdcfed2ccdb63abf0e3561d50e719fc63 (diff)
downloaddotfiles-e66aa35ea314f522a2cdfaebdacf87894a44bd04.tar.gz
dotfiles-e66aa35ea314f522a2cdfaebdacf87894a44bd04.tar.bz2
dotfiles-e66aa35ea314f522a2cdfaebdacf87894a44bd04.zip
feat(nix): add LSPs/formatters/linters/DAPs to common.nix
Replaces Mason entirely (phase p6 of the nix migration will rip out mason-tool-installer and friends). The set tracks the previous ensure_installed list in nvim's lsp.lua, with five niche tools dropped per the migration plan: - groovy-language-server, npm-groovy-lint - nginx-language-server, nginx-config-formatter - systemdlint systemd-lsp is renamed to systemd-language-server (the nixpkgs attr name). codelldb is replaced by lldb-dap (upstream successor, ships with pkgs.lldb); dap configs switch in phase p6. Drops jre, basedpyright, cargo, rustc from vm.nix — they only existed to work around Mason quirks on Ubuntu 20.04 (uv-python wheel incompatibility, source-build needs). With Mason gone, basedpyright comes from nixpkgs cleanly on both profiles. Phase 5 of the nix-on-host migration plan.
Diffstat (limited to 'nix/common.nix')
-rw-r--r--nix/common.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/nix/common.nix b/nix/common.nix
index b6a8493..9bfe2d6 100644
--- a/nix/common.nix
+++ b/nix/common.nix
@@ -89,6 +89,56 @@ in
claude-code
github-copilot-cli # NB: pkgs.copilot-cli is AWS Copilot, NOT this
+ # ── LSPs / formatters / linters / DAPs ─────────────────────────────────
+ # Replaces Mason entirely (phase p6 of the nix migration rips out
+ # mason-tool-installer). The set tracks the previous
+ # `ensure_installed` list in dot_config/nvim/lua/plugins/lsp.lua, with
+ # five niche tools dropped: groovy-language-server (Mason-only build,
+ # upstream stale), npm-groovy-lint, nginx-language-server,
+ # nginx-config-formatter, systemdlint (all rarely-edited domains;
+ # losing them is acceptable).
+
+ # LSPs
+ actionlint
+ autotools-language-server
+ basedpyright
+ bash-language-server
+ dockerfile-language-server-nodejs
+ gh-actions-language-server
+ just-lsp
+ lua-language-server
+ neocmakelsp
+ ruff
+ rust-analyzer
+ systemd-language-server
+ taplo
+ typescript-language-server
+ vscode-langservers-extracted # cssls + html + jsonls + eslint
+ yaml-language-server
+
+ # Formatters
+ mdformat
+ nodePackages.prettier
+ shfmt
+ stylua
+
+ # Linters
+ codespell
+ hadolint
+ nodePackages.jsonlint
+ markdownlint-cli
+ selene
+ shellcheck
+ shellharden
+ stylelint
+ typos
+ yamllint
+
+ # DAPs / debuggers — `lldb-dap` (from pkgs.lldb) is the upstream
+ # successor to vscode-lldb's `codelldb`. dap configs in
+ # plugins/debug.lua target it via `type = "lldb"`.
+ lldb
+
# Zsh and plugins (loaded from $HOME/.nix-profile/share/... by the
# shared zshrc; nix-profile path is preferred, system path is the
# fallback for un-bootstrapped states).