github oxalica/nil 2023-05-02
Snapshot release 2023-05-02

latest releases: 2023-08-09, 2023-05-09
14 months ago

Happy International Workers' Day! Fight for workers' rights against
overwork "culture" in China!

Features

  • Automatic flake archiving.

  • Flake inputs evaluation and type inference. (#76)

    Due to limitations of nix flake show backend, only known output fields are
    completed, including packages or devShells, but not custom lib.
    legacyPackages is only traversed since Nix 2.14, the first version to
    support filtering packages for only the current system.

    # flake.nix
    {
      inputs.rust-overlay.url = "github:oxalica/rust-overlay";
      outputs = { rust-overlay, ... }: let
        rustPkg = rust-overlay.packages.x86_64-linux.|; # default, rust, rust_nightly, ...
      in ...;
    }
  • Dynamic fields are now inferred to the rest type.
    This helps the common flake output usage:
    rust-overlay.packages.${system}.| # default, rust, ...

  • Auto-reloading flake when flake.{nix,lock} is changed on disk.

    This requires the LSP client to support didChangeWatchedFiles capability.
    VSCode and coc.nvim support it out-of-box, while Neovim's builtin LSP
    requires manual configurations
    (neovim/neovim#22405 (comment)).

  • Progress bars for various costly loading operations.

Fixes

  • Suppress unused warnings for flake auto-inputs. (#73)
  • Parsing errors for string escapes. (#75)
  • Completion for fresh-created unsaved flake.nix.

Internal

  • The LSP frontend is heavily refactored into async-style. The framework
    library is also switched from lsp-server to async-lsp. (#74)
  • MSRV is bumped to 1.68

Don't miss a new nil release

NewReleases is sending notifications on new releases.