Contributor thank-you thread (post your shout-outs here!)

Hello,

Does anyone while working through a configuration ever just drop to their knees and thank God that Nix was created and is as fully featured as it is?
In my latest configuration update I switched to using gtk3-classic and, since I didn’t want to rebuild the world, I was looking for a guix-style-graft method. Lo-and-behold, enter replaceDependency. Initial configuration update and almost everything worked as expected. Small hiccup, some of my home-manger programs.*.package statements failed to find an override attribute (investigation came to the result that my Nix is still not good enough to trace why this attribute isn’t copied over in replaceDependency). However, I know Nix is lazy in most respects so a quick (hack[1]) later, and all is running working as expected.

To the point of this post, I just want to truly thank all the tireless Nix/NixOS/NixOps/nixpkgs/home-manager/* developers that truly make Nix a fantastic product. Being a developer myself I know praise can sometimes be hard to come by (especially against an always new set of issues), so from the bottom of my heart, to every single one of you:

Thank-you


[1]

programs.*.package = (pkgs.xxx // { override = o: gtkc_graft (pkgs.xxx.override o);});
27 Likes

I love this post. I totally do feel that sense of gratitude about the incredible completeness of Nixpkgs/NixOS sometimes.

I tend to cheer people on when I see them reporting on work that I think is exciting, difficult or valuable for the same reasons as you wrote this post. I find myself gravitating towards the various recurrent announcement/progress report threads so that I can shout people out and let them know that I think what they’re doing is important.

Come to think of it, it would be awesome to have a long-lived Gratitude Mega-Thread dedicated to thanking each other, whether it’s for development, documentation, artwork, tech support, moderation, organizing conferences, code review, RFC drafting, or anything else.

If we don’t have such a thread, could we maybe turn this into one?

8 Likes

Use this threat so :slight_smile:

“Thanks from guys don’t affraid to do upgrades thanks to you!”

Just want to bump this up again (got another Nix high). Never let it be forgotten that all the contributors (and users, your feedback is important too!) make Nix/etc. the fantastic software that it is.

3 Likes

To help this connect better with the folks who would benefit from hearing about it and have accounts on Discourse:

Thanks @shlevy for writing this function! Thanks @Artturin for your recent bit of maintenance on it. :slight_smile:

Your work on this function made @simplejack-src feel blessed and delighted to be using Nix. :smiley:

After years of agonizing first about the best way to pin Nixpkgs, then whether to use flakes, then the right abstractions to use with flakes, and alongside all that, the best way to define ephemeral shell environments with Nix, I finally tried two frameworks that I’d had in mind for a few months when I started a new project at work…

and they both really clicked for me! So I’d like to shout out @roberth and @domenkozar for their work on flake.parts and devenv.sh, respectively. I had already been excited about both projects without having seriously used them, but when the time came for my project I was surprised and delighted by how easy it was to get off the ground.

Flake-parts has allowed me to write a flake.nix in a way that feels cleaner, more minimal, and more natural than any of the frameworks I’ve tried before, and getting started was extremely low friction. As a kind of ‘maintainability test’, I even walked my supervisor (we’re a two-man team for now), who is a casual NixOS user at home with his VPS, through every line of the flake. Even though he’s never used the framework before, the whole thing was (by his report) accessible, simple and clear.

Domen, thanks especially for your documentation-forward approach with devenv, and for taking the time to explicitly write instructions for all the different ways people might want to use devenv (on Nix with flakes, on Nix without flakes, as part of a flake.nix, separately beside a flake.nix, etc.). I’m sure documenting and testing the same thing for so many different workflows was quite laborious! The batteries-included CLI is awesome, and the documentation really solidified my confidence in recommending devenv as a solution.

Again, I went in to try these utilities for the first time and was stunned by how easy and pleasant they were to work with.

I know that @bobvanderlinden has also put quite some effort into devenv.sh and is active on here so I’d like to shout him out, too. If anyone wants to tag other contributors who they know are active on Discourse, please do! I’m just really happy with both projects as a whole.

5 Likes

Thanks @figsoda for sharing your many little Nix utilities, especially nix-init and nurl! They’re super nice to use. I’ve been using nix-init at work for starting almost all of our out-of-tree packages, and yesterday I used nurl to greatly simplify and repair a pile of bash code used for auto-updating one of them. Swapping it in in place of a bunch of complicated bash functions involving nix-instantiate and nix-build was such a relief. I love that it prints what it’s doing, so even by using it I gradually add to my Nix repertoire!! Never change that feature. :smiley:

PS: @simplejack-src, do you mind if I rename the thread to make it a bit more generic and move it into a category or two to make it more visible?

2 Likes

@pxc Feel free. I simply started this thread to vent…my undying thanks to the contributors of the Nix ecosystem. As this effect is not solely my experience, perhaps a greater exposure will give weary contributors the support they deserve.

I too love all that you all have done with Nix and Nixos. I use it to provision my machines, despite not actually having really mastered it. So thanks!!!