Repository navigation
fix(home): drop global language toolchains from kapi-vim - #54
Merged
Merged
Conversation
nixpkgs' haskell-language-server is dynamically linked against every Haskell library it uses, so its runtime closure is ~9 GiB (~1.5 GiB download, 727 paths incl. GHC and all -doc outputs). Every nixpkgs bump rehashes all of it, which made `make home` spend most of its time re-downloading and unpacking HLS. A global HLS is also the wrong shape: it must match each project's GHC. Leave enable_haskell at kapi-vim's default (off) and let Haskell projects provide ghc + HLS from their own flake devShell via direnv; kapi-vim's lspconfig only names `hls`, so it picks that up from PATH. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Language toolchains (python, c, rust, go, js, haskell, lean) are no longer forced on: they stay at kapi-vim's defaults, which potsrevennil/kapi-vim#51 turns off so each project provides matching servers from its own flake devShell. Until that lands and the submodule is bumped, the old defaults keep python/c/rust/go/js on; haskell and lean are already off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kapi-vim#51 keeps js (just nodejs) on by default, so it belongs with the editor-wide toggles that lite turns off, and out of the comment's list of toolchains left at an off default. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Picks up potsrevennil/kapi-vim#51 (per-language toolchains default off, come from each project's devShell) plus the already-merged #39-#46. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
make homespent most of its time downloading, not building: ~1.5 GiB of downloads that unpacked to 8.5 GiB, nearly all of ithaskell-language-server. nixpkgs links HLS dynamically against every Haskell library it uses, so its closure is ~9 GiB (727 paths, including GHC and every library's-docoutput). Every weekly nixpkgs bump rehashes all of it and re-downloads it, even when HLS's version is unchanged.A global HLS (or gopls, pylsp, clangd, …) is also the wrong shape, since it has to match each project's own compiler. With potsrevennil/kapi-vim#51, kapi-vim defaults per-language toolchains to off, and projects provide them from their flake devShell via direnv. This PR bumps the submodule to that, and stops
home.nixfrom forcing every language toggle on. It now only toggles the editor-wide ones (config, shell, typst, js), which it turns off for lite.kapi-vim.overrideblock inusers/home.nix. Any toggle not listed there now follows kapi-vim's default.nix build --dry-run .#homeConfigurations.thing-hanlim.activationPackageshows only the 8 home-manager config derivations and nothing to fetch. kapi-vim's only toolchain dependency is nodejs..go/.py/.hsfiles open without an LSP and without a per-language formatter, with no warnings.65258d5todb7d5e2#39–chore(deps): bump nixpkgs froma9e6d84tof584496in the nixpkgs group across 1 directory #46 (the pin was at chore(deps): bump nixpkgs froma9e6d84to7c8764b#38).🤖 Generated with Claude Code