0
我想在我的NixOS中构建自己的nix-shell环境。我有2 .nix文件,default.nix和shell.nix,这里的配置:glpk和pcre找不到(NIXOS)
default.nix:
{ stdenv, haskellngPackages}:
let
env = haskellngPackages (p: with p; [
aeson
bytestring
conduit
snap
ghcjs
text
wai
warp
yaml
haskell.packages.lts-4_01.ghc
]);
in
stdenv.mkDerivation {
name = "RiziLab";
buildInputs = [
glpk
pcre
env
];
STACK_IN_NIX_EXTRA_ARGS
= " --extra-lib-dirs=${glpk}/lib"
+ " --extra-include-dirs=${pglpk}/include"
+ " --extra-lib-dirs=${pcre}/lib"
+ " --extra-include-dirs=${pcre}/include"
;
}
shell.nix:
{ pkgs ? (import <nixpkgs> {}) }:
(import ./default.nix) {
stdenv = pkgs.stdenv;
haskellngPackages = pkgs.haskellngPackages;
}
但是当我做尼克斯 - 壳,我得到这个错误:
error: undefined variable ‘glpk’
从我的理解,default.nix只是一个函数,将被调用的sh ell.nix,cmiiw。问题是:
- 在我的代码中是否有任何错误?
- 我已经使用
{nixpkgs ? (import <nixpkgs> {}) }
和{pkgs ? (import <nixpkgs> {})}
但仍然有相同的错误,这两者之间有什么不同吗? - 可以排除ghcwithPackages吗?
嗨,感谢您的信息... – Rizary