Repository navigation
Conversation
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.
Adds
checks.<system>.lint-nix, built by a newlint-nixCI job and bynix flake check. Run it locally with.aliases/dev-lint-nix.deadnix is enforced. It found 104 unused arguments and let bindings, including three that were real:
modules/kernels/python/.../language_server_pyright/config.nixbuilt apyrightWrappedwrapper settingPYTHONPATHto the kernel's env, then launched the unwrapped binary — so pyright never saw the kernel's site-packages. The dead wrapper is removed here; actually wiring it up wants its own change and a test.modules/kernels/r-ark/default.nixhadkernelName = "R (Ark)", dead since that kernel has no language server, with the name hardcoded twice elsewhere.modules/kernels/rust/default.nixpasseddarwin.apple_sdk.frameworks.{CoreServices,Security}into evcxr, which never referenced them.Three arguments are suppressed with
# deadnix: skiprather than removed:isCodeDownindefault.nix(codedown.nix finds it viabuiltins.functionArgs),selfinflake.nix(Nix always passes it, so dropping it breaks evaluation outright), andtypstToUsein the two typst files, whose TODOs are the reason to keep it.Generated and vendored Nix is excluded — node2nix and cabal2nix output, and the
julia-modulesfiles copied from nixpkgs, where tidying dead code would only make the next re-vendor harder to diff.statix is configured in
statix.tomlbut not enforced:nix/lint.nixhasenableStatix ? false. It still reports ~110 findings, all style rather than bugs (71x = y.x;that could beinherit (y) x;, plus redundant parens and[] ++ xs).statix fixapplies nearly all of it; that's a follow-up PR.repeated_keysis disabled permanently — it fires on the module-config style every sample environment uses.Verified with
nix flake checkand by building.#sample_environment_r.