Snapshot release 2023-05-02
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, includingpackages
ordevShells
, but not customlib
.
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