Summary
I think functional package management is a good idea. Unfortunately, it is somewhat hampered by a tiny community and poor integration into existing systems. My first experience was becoming enamored by the selling points of Nix/NixOS and then becoming frustrated when things didn't work.
Now, I am using the Guix package manager on Arch Linux. I think it works better and is more enjoyable to use. This is a project by itself, but I just want to focus on packaging something new for guix, so that one can use it to replace domain-specific package managers like pip, gem, raco, quicklisp, etc. So far I've just packaged a python module and two ruby gems.
Lessons Learned
- Some of Guile Scheme
- Basic usage of functional package managers
- Packaging for GNU Guix