如何将Nix项目添加为Haskell Stack + Nix项目中的依赖项

问题描述 投票:2回答:1

我正在尝试使用stack + nix编写haskell项目。我当前的stack.yamlshell.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-clienttezos-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)

haskell haskell-stack nix
1个回答
0
投票

要在路径中输入带有可执行文件的shell:nix shell

要添加tezos-baking-platform作为依赖项,我想您只需将其添加到buildInputs

© www.soinside.com 2019 - 2024. All rights reserved.