【发布时间】:2019-11-18 12:21:52
【问题描述】:
我正在尝试使用 stack + nix 编写一个 haskell 项目。我目前的stack.yaml和shell.nix如下:
resolver: lts-14.6
packages:
- .
nix:
enable: true
pure: true
shell-file: shell.nix
{ghc}:
with (import <nixpkgs> {});
haskell.lib.buildStackProject {
inherit ghc;
name = "myproject";
buildInputs = [ pkg-config libmysqlclient postgresql_10 pcre libsodium secp256k1 zlib ];
PGPASSWORD = builtins.getEnv "PGPASSWORD";
}
现在,在我的haskell 项目中,我想执行tezos-client 和tezos-baking-platform 提供的其他工具。我可以通过运行来构建它
nix-build -A tezos.babylonnet.kit
问题是,在构建之后,我可以在例如/nix/store/bgqva3wgi3knivdk9pf7gdd0384hj2qf-tezos-0.0.0/bin/ 中找到所有可执行文件。但是它们没有暴露于 nix-env 并且我在 ~/.nix-profile/bin/ 中找不到任何 tezos 的符号链接。
那么,(1) 我该如何解决这个问题? (2) 如何将 tezos-baking-platform 设置为我的 haskell 项目的依赖项? (即在构建我的 haskell 项目之前,通过堆栈要求 nix 为我构建 tezos)
【问题讨论】:
-
没什么问题,但是在
nix-shell内部运行stack build、stack exec不是更舒服吗?
标签: haskell haskell-stack nix