我正在学习nixos和nix表达式。在项目文件夹中,我创建了一个shell.nix,当我运行nix-shell
时,我希望它为我预设一个环境变量。
例如,设置PGDATA env var。
我知道有几种方法可以编写nix表达式文件(我还没有习惯大多数)。这是我的样本:
shell.nix
let
pkgs = import <nixpkgs> {};
name = "test";
in pkgs.myEnvFun {
buildInputs = [
pkgs.python
pkgs.libxml2
];
inherit name;
extraCmds = ''
export TEST="ABC"
'';
}
答案 0 :(得分:4)
使用buildPythonPackage函数(使用mkDerivation)。传递任何东西都会在bash shell中设置env变量:
with import <nixpkgs> {};
buildPythonPackage {
name = "test";
buildInputs = [ pkgs.python pkgs.libxml2 ];
src = null;
PGDATA = "...";
}
答案 1 :(得分:0)
您也可以使用import random
test_list1 = [1, 2, 4, 3, 5]
test_list2 = [1, 1, 1, 1, 1]
print ("The first list is : " + str(test_list1))
print ("The second list is : " + str(test_list2))
test_list1.sort)
test_list2.sort()
if test_list1 == test_list2:
print ("The lists are identical")
else :
print ("The lists are not identical")
。
pkgs.stdenv.mkDerivation.shellHook