Existem várias maneiras de usar pacotes npm no nix:
Para meus projetos pessoais, uso nix-shell
no shell que uso scripts npm para evitar a necessidade de pacotes globais npm (como com gulp). O processo se parece com algo assim (e é provavelmente muito semelhante para o fio):
$ nix-shell -p nodejs-8_x
[nix-shell:yourproject]$ npm install # installs npm deps to project-local node_modules
[nix-shell:yourproject]$ npm exec (...) # using scripts configured in package.json
Isso funciona bem para mim, pois nenhum dos meus pacotes tem dependências binárias. Este post descreve a criação de um default.nix para o seu projeto, para que você não tem que especificar dependências para cada invocação do nix-shell, mas é opcional.
Outra maneira é usar o npm2nix:
node2nix -i node-packages.json # creates ./default.nix
nix-shell # nix-shell will look for a default.nix, which above will have generated
O que fará com que o Nix gerencie todos os pacotes npm no projeto.
Pode ser uma boa idéia familiarizar-se com o nix-shell, já que tentar instalar pacotes de nós / qualquer dependência no seu perfil nix (através do nix-env ou nox) anula o objetivo do nix poluindo o namespace "global" .
Espero que isso ajude!