I find Nix incredibly useful for C and C++ development, though. It allows me to get a working development environment (including completion support) for any major open source C/C++ project by simply placing a default.nix or shell.nix file with the following content and running nix-shell: