Recently got started with Nix and Home-Manager. I thought Advent Of Code would be a good way to get more comfortable with the Nix language.
I don’t think I ever made it beyond Day 6 though, even in my most comfortable language (Python) so no idea where this will strand.
I am learning a lot about Nix though!
Have you used the Nix language outside of configuration? Let’s share and discuss!
@gavin @F04118F yup! thats a link to a 2019 AoC, but here’s my video for day 1 this year https://www.youtube.com/live/P_3rUzAN0vw?si=W0qxiwKeDHVN_2aQ
the code is here: https://github.com/ellyxir/advent_of_code/tree/main/2024/nix/day01
i looked at your solution, good work!
Yes, Nix is a pure functional programming language, like Lisp.
The reason for its existence is to allow for reproducible and repeatable builds of packages and configuration. This is the basis for nixpkgs, NixOS and Home Manager.
Your code looks awesome, I’m definitely going to steal some ideas from that, especially the lib.pipe
really cleans up a lot of unnecessary bindings I did.
Doing a with
is also a lot cleaner than nesting let statements.