# Tweag+Nix dev update #50

**URL:** https://discourse.nixos.org/t/tweag-nix-dev-update-50/29793
**Category:** Development
**Created:** [June 29, 2023, 1:37pm UTC](https://discourse.nixos.org/t/tweag-nix-dev-update-50/29793 "2023-06-29T13:37:11Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![thufschmitt](https://discourse.nixos.org/user_avatar/discourse.nixos.org/thufschmitt/32/202_2.png) [@thufschmitt](https://discourse.nixos.org/u/thufschmitt)
#### Post date: [June 29, 2023, 1:37pm UTC](https://discourse.nixos.org/t/tweag-nix-dev-update-50/29793/1 "2023-06-29T13:37:11Z")

</div>

Hello Nixers! Some news from the Tweag Nix team since the [previous update](https://discourse.nixos.org/t/tweag-nix-dev-update-49/29047).

Berfore anything else, we’re sad to announce that @solene is leaving Tweag, and wish her the best of success with her new endeavors.  
Thank you very much for your dedicated work in open source. In your short time with us you made the Nix ecosystem a better place for everyone.

## Nickel-Nix

A (relatively) big focus of the team has been the work on [Nickel-Nix](https://github.com/nickel-lang/nickel-nix).  
With the release of [Nickel 1.0](https://www.tweag.io/blog/2023-05-17-nickel-1.0-release/), we’ve started looking more deeply into this experiment, and see how far we could push it.

- The first part of that work (thanks to @YorikSar) was to try and port a non-trivial generic shell environments (the Haskell one from [this blog post](https://www.tweag.io/blog/2022-06-02-haskell-stack-nix-shell/)) and see how well we could express it with the current framework.  
As expected, [the result](https://github.com/nickel-lang/nickel-nix/blob/00169fec9c2b50b336be1c4a5fbf870e2f0e770b/builders.ncl#L287-L344) was mixed: Writing [the definition](https://github.com/nickel-lang/nickel-nix/blob/00169fec9c2b50b336be1c4a5fbf870e2f0e770b/builders.ncl#L287-L344) was a bit more painful than Nix (and some things couldn’t be implemented at all), but [using it](https://github.com/nickel-lang/nickel-nix/blob/00169fec9c2b50b336be1c4a5fbf870e2f0e770b/templates/devshells/haskell/dev-shell.ncl) is quite nicer, and (although that doesn’t show in this example) much more flexible.
- @balsoft also started looking into generating Github action files straight from the Nickel shell declaration to reduce boilerplate.
- Most of the rest of the work has been cleaning (thanks @YorikSar and @balsoft) up the codebase which was very quickly crammed together before last FOSDEM, so not much to show there.  
An interesting refactoring was [#79](https://github.com/nickel-lang/nickel-nix/pull/79) which went through some clever hops to remove the need for `--impure` on Nickel-Nix powered shells.
- Trying to look into the future, @thufschmitt opened [#82](https://github.com/nickel-lang/nickel-nix/pull/82) which documents the (hopefully) future state of the project.

## Nix

- @fricklerhandwerk and @thufschmitt continued working with the Nix maintenance team to keep the project healthy, triaging and reviewing a number of different pull-requests and issues.

- @fricklerhandwerk, at the intersection with the documentation effort, collaborated closely with Nix maintainers @Ericson2314 (Obsidian Systems) and @roberth (Hercules CI) to get reference documentation closer to source code, documenting core concepts, and improving readability and discoverability.

- @balsoft reworked his pull-request allowing [partial garbage collection](https://github.com/NixOS/nix/pull/8417).

- One very late (but still better than never) fix by @thufschmitt also got merged with [#4282](https://github.com/NixOS/nix/pull/4282) which fixes a soundness issue with the hashing of CA paths with references (CA-derivations in particular).

- Following a review by the Nix team, @thufschmitt added some tests for [Add an owner check when searching for the flake root by thufschmitt · Pull Request #6464 · NixOS/nix · GitHub](https://github.com/NixOS/nix/pull/6464)

- @thufschmitt also updated [his (old) pull-request allowing the GC to run as a non-root user](https://github.com/NixOS/nix/pull/5380), and @alexShabalin gave it a (useful) security review.

- @thufschmitt and @infinisil pursued their work as shepherds for [RFC 136](https://github.com/NixOS/rfcs/pull/136) on the Nix experimental features stabilisation.  
The shepherd committee now asked for this RFC to enter FCP to either get more eyeballs or get accepted.

- @fricklerhandwerk and @yorickvP continued developing [RFC 137](https://github.com/NixOS/rfcs/pull/137) on versioning the Nix language and incorporated lots of helpful comments (in particular by @pennae, @sternenseemann and @piegamesde – thank you very much!). There is still more work to do, as new considerations and alternatives are unearthed.

## Nixpkgs

- Funded by Antithesis (and with help from @roberth), @infinisil and @fricklerhandwerk have been continuing the work on file set combinators (mainly on [https://github.com/NixOS/nixpkgs/pull/222981](https://github.com/NixOS/nixpkgs/pull/222981)).
  - Thanks to @YorikSar, documentation for this WIP is available [here](https://tweag.github.io/nixpkgs/file-sets/manual.html#sec-functions-library-fileset).

- @infinisil also kept leading the Nixpkgs architecture team. In particular:
  - Working on [RFC 140](https://github.com/NixOS/rfcs/pull/140#issuecomment-1585081066), he asked to move it out of FCP as some interesting new ideas got bounced around during that period, warranting giving it another pass.  
The RFC then [went into FCP again](https://github.com/NixOS/rfcs/pull/140#issuecomment-1598703192) after these got resolved.

- @infinisil held a meeting with the author and other shepherds of [RCF 127](https://github.com/NixOS/rfcs/pull/127) to wrap it up and send it for FCP.

### CUDA

A few months ago @ConnorBaker to improve the state of the CUDA ecosystem packaging in Nixpkgs in his free time.  
This caught the attention of a few others, so that [PDT Partners](https://www.pdtpartners.com/) decided to help Tweag kickstart funding for his work in order to give him time to coordinate the effort around this.  
[The CUDA team roadmap announcement](https://discourse.nixos.org/t/cuda-team-roadmap-and-call-for-sponsors/29495) sums up the past and future work, which sets a example in terms of community initiative.

## Teaching and documentation

- @infinisil and @YorikSar released yet a few extra issues of [the Nix hour](https://www.youtube.com/playlist?list=PLyzwHTVJlRc8yjlx4VR4LU5A5O44og9in)
- @fricklerhandwerk and @infinisil worked with the documentation team and the dedicated Learning Journey Working Group on the [first phase of the documentation project](https://github.com/NixOS/nix.dev/blob/924b25d2ce7d8b5fd92316a7cf747797de9deb7d/maintainers/documentation-project-2023.md#timeline) that was successfully funded through Open Collective (thanks a lot to @zmitchell, @pennae, @roberth, @henrik-ch, @proofconstruction, @j-k and all the others who keep at it tirelessly!). Due to unfortunate personal circumstances, the pace is slower than expected and a slight shift of focus was necessary. But we are well within budget (also thanks to extraordinary volunteer contributions) and on track to deliver significant improvements to organisation and discoverability of documentation relevant for common use cases.

## Community work

@fricklerhandwerk was appointed [NGI project manager for the NixOS Foundation](https://discourse.nixos.org/t/ngi-project-manager-part-time-nixos-foundation/28369) as an indepentent contractor, and already started working on the relevant items.  
@thufschmitt has been working with the foundation board to finalize the contract.

* * *

And that’s all, folks.

---

<div class="post-metadata">

### Author: ![Solene](https://discourse.nixos.org/user_avatar/discourse.nixos.org/solene/32/5738_2.png) [@Solene](https://discourse.nixos.org/u/Solene)
#### Post date: [June 29, 2023, 1:41pm UTC](https://discourse.nixos.org/t/tweag-nix-dev-update-50/29793/2 "2023-06-29T13:41:28Z")

</div>

This was great working with Tweag Nix team 🙂 I enjoyed doing the dev update too, it was fun and I liked engaging with the opportunity 🤩

I’ll still be around in Nix community anyway, so we will keep in touch 👌

---

<div class="post-metadata">

### Author: ![blaggacao](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/b/8edcca/32.png) [@blaggacao](https://discourse.nixos.org/u/blaggacao)
#### Post date: [June 29, 2023, 1:41pm UTC](https://discourse.nixos.org/t/tweag-nix-dev-update-50/29793/3 "2023-06-29T13:41:54Z")

</div>

> also started looking into generating Github action files straight from the Nickel shell declaration to reduce boilerplate.

I’d like to learn more. This is top of my mind, atm.
