我正在使用带有nix的堆栈。我需要通过环境变量作为数据库密码来在运行时连接到Postgres。当前,我在YAML中启用了nix,并自定义了自己的.nix
以将密码放入.nix
。
stack.yaml:
nix: enable: true pure: true shell-file: shell.nix
shell.nix:
{ghc}: with (import <nixpkgs> {}); haskell.lib.buildStackProject { inherit ghc; name = "myenv"; buildInputs = [ postgresql_10 ]; PGPASSWORD = "pw"; }
但是当我要将代码提交到GitHub / Gitlab并转到CI / CD管道时,在
.nix
中显式显示密码似乎不好。我想知道有什么好办法解决这个问题吗?
我正在使用带有nix的堆栈。我需要通过环境变量作为数据库密码来在运行时连接到Postgres。目前,我在YAML中启用了nix,并自定义了自己的.nix,以将...
您可以在Nix表达式中使用builtins.getEnv
函数来获取来自外部环境的环境变量的值,因此您可以执行以下操作: