Hello,
I currently try to write a shell.nix
to provide a development environment for hugo with the ability to do postcss processing.
I tried it with
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
name = "commands-nix";
buildInputs = [
pkgs.hugo
pkgs.nodePackages.postcss-cli
];
}
But executing postcss
manually already fails.
$ postcss
internal/modules/cjs/loader.js:905
throw err;
^
Error: Cannot find module 'postcss'
Require stack:
- /nix/store/x9znavbpi62dxlhiqfpsqn7xal1yvik1-node_postcss-cli-8.3.1/lib/node_modules/postcss-cli/index.js
- /nix/store/x9znavbpi62dxlhiqfpsqn7xal1yvik1-node_postcss-cli-8.3.1/lib/node_modules/postcss-cli/bin/postcss
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:92:18)
at Object.<anonymous> (/nix/store/x9znavbpi62dxlhiqfpsqn7xal1yvik1-node_postcss-cli-8.3.1/lib/node_modules/postcss-cli/index.js:14:17)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:14)
at Module.require (internal/modules/cjs/loader.js:974:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/nix/store/x9znavbpi62dxlhiqfpsqn7xal1yvik1-node_postcss-cli-8.3.1/lib/node_modules/postcss-cli/index.js',
'/nix/store/x9znavbpi62dxlhiqfpsqn7xal1yvik1-node_postcss-cli-8.3.1/lib/node_modules/postcss-cli/bin/postcss'
]
}
I also tried to set NODE_PATH
$ NODE_PATH=/nix/store/x9znavbpi62dxlhiqfpsqn7xal1yvik1-node_postcss-cli-8.3.1/lib/node_modules postcss
internal/modules/cjs/loader.js:905
throw err;
^
Error: Cannot find module 'postcss'
Require stack:
- /nix/store/x9znavbpi62dxlhiqfpsqn7xal1yvik1-node_postcss-cli-8.3.1/lib/node_modules/postcss-cli/index.js
- /nix/store/x9znavbpi62dxlhiqfpsqn7xal1yvik1-node_postcss-cli-8.3.1/lib/node_modules/postcss-cli/bin/postcss
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:92:18)
at Object.<anonymous> (/nix/store/x9znavbpi62dxlhiqfpsqn7xal1yvik1-node_postcss-cli-8.3.1/lib/node_modules/postcss-cli/index.js:14:17)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:14)
at Module.require (internal/modules/cjs/loader.js:974:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/nix/store/x9znavbpi62dxlhiqfpsqn7xal1yvik1-node_postcss-cli-8.3.1/lib/node_modules/postcss-cli/index.js',
'/nix/store/x9znavbpi62dxlhiqfpsqn7xal1yvik1-node_postcss-cli-8.3.1/lib/node_modules/postcss-cli/bin/postcss'
]
}
Any ideas how generate a valid shell.nix
?