Tweag+Nix dev update #39

Hello :wave:t3:

Previously in Tweag :eyes:
Next in Tweag

Making Nix solve people’s problems

  • @fricklerhandwerk passed on leadership of the documentation team to @lucperkins (Determinate Systems). He will collaborate in the background on the common goal of empowering contributors and maintainers to continue improving documentation.

  • As part of their work on the Nix team, @fricklerhandwerk and @thufschmitt continued working on establishing a vision for Nix

  • @thufschmitt reviewed and discussed the RFC 136 about the stabilization of Flakes and the new CLI

Documentation :books:

jupyterWith improvements

Making Nix work reliably everywhere :penguin::apple::window:

  • @yorickvp is preparing a RFC for a deprecation process in Nix

  • @solene is trying to figure why shell based testing framework are so slower (related to 7232 and 7135)

Making Nix ubiquitous :rocket:

https://www.youtube.com/playlist?list=PLyzwHTVJlRc8yjlx4VR4LU5A5O44og9in

  • @solene wrote a nice blog post showing how the mostly unknown specialisations NixOS feature could be used to compartimentalize your computer

Nickel

Nickel is preparing for a 0.3 release, as we’ve bundled quite a few features (planned by RFC001) since 0.2.1! Since the last update:

  • @acaccia implemented string interning for identifiers, improving performances (#835)
  • @yannham implemented “push priority” operators, as requested and explained in issue #279.
  • @ebresafegaga got his hands on the LSP:
    • He added LSP support for type wildcards. Type wildcards allow putting holes in a static type annotation, asking the type checker to infer them, when you don’t know or don’t care about some parts: for example, let foo : Num -> _ -> Num = fun x _ign => x+1. The LSP didn’t support them, but now it does (#856).
    • He landed a long-awaited feature: record fields completion (#867). When typing foo., the LSP now provides a list of possible field in some cases, if foo is a record. The feature isn’t complete nor battle tested, but it’s a stepping stone for leveraging concretly the static information provided by Nickel through types and contracts.
  • RFC004 (type inference in the presence of the dynamic type and dictionary types) and RFC005 (fixing a number of defects of the current semantics of merging and metadata) have been merged!
  • @vkleen is working on using Nickel for Terraform deployments. Check out his tf-ncl repo(WIP), it’s pretty cool! A Nix expression get the provider’s schema automatically and convert it to a Nickel contract on the fly, that you can use in your config file. All you have to do is to write your config in Nickel. Together with a solid record completion and in-LSP contract checks (we’re not there yet), this could make for a very nice development experience.

:vulcan_salute:t5: may your build be reproducible (and painless) :vulcan_salute:t3:

19 Likes

The link is broken, which can be fix by changing the URL of the GitHub PR to
https://github.com/NixOS/rfcs/pull/136
(Use pull instead of pulls.)

1 Like

Thank you for reporting this, it’s fixed :slight_smile:

Just wanted to say that I appreciate these updates! It is interesting seeing all the stuff people at tweag are working on in the Nix ecosystem.

I actually wish the other big companies in the Nix ecosystem would release a similar report!

7 Likes

Same. These updates are awesome and I think other companies (and the Nix community with respect to them!) would be served well by putting similar updates together.

3 Likes

Thanks for your support, I appreciate :purple_heart:

2 Likes