3
나는 nixos와 nix 표현에 대해 배우고있다. 프로젝트 폴더에서 shell.nix를 만들었고 실행할 때 nix-shell
나는 나를 위해 환경 변수를 미리 설정하고 싶습니다. 예를 들어 PGDATA env var.nix-shell : 사용자 정의 환경 변수를 지정하는 방법은 무엇입니까?
nix 표현식 파일을 작성하는 방법은 여러 가지가 있습니다. (아직 익숙하지 않습니다.)
shell.nix
let
pkgs = import <nixpkgs> {};
name = "test";
in pkgs.myEnvFun {
buildInputs = [
pkgs.python
pkgs.libxml2
];
inherit name;
extraCmds = ''
export TEST="ABC"
'';
}
감사합니다. 필자는 예제로 파이썬을 샘플로 사용했습니다. 나는 보통 그것을 haskell 프로젝트에 사용한다. 나는 조금 이상하게 보이지만 내 haskell 프로젝트에도이 함수를 사용할 수 있다고 생각한다. buildPythonPackage에서 작동하지만 myEnvFun에서는 작동하지 않는 이유는 무엇입니까? myEnvFun (또는 기능 요청)의 버그입니까? – dvekeman
myEnvFun은 패키지가 아니므로 빌드 환경을 구축하십시오. nix-shell에서는 작동하지 않습니다. – iElectric
'stdenv.mkDerivation' 함수를 사용한다면 이것을하기 위해'shellHook'을 사용할 수 있습니다. – CMCDragonkai