저는 nix Express를 처음 사용합니다. nix-shell에서 사용하고 싶은 두 개의 구성 파일을 찾았습니다.
아쉽게도 nix 표현 지식이 부족하여 병합할 수 없었습니다. 항상 구문 오류로 끝납니다.
닉스사용자 정의를 설정하는 데 사용됩니다 shellHook
. 이것은 단지 설정으로 단순화되었습니다.$PS1
{ pkgs ? import <nixpkgs> {} }:
with pkgs;
stdenv.mkDerivation {
name = "python3-shell";
buildInputs = [ ];
shellHook = ''
export PS1="\[\033[1;32m\][nix-shell:\w]\n$ \[\033[0m\]"
'';
}
닉스파이썬 적용을 위해. 나한테는 이게 필요해제다이 윔일하다.
with import <nixpkgs> {};
( pkgs.python3.buildEnv.override {
extraLibs = with pkgs.python3Packages; [ jedi pyyaml ];
}).env
a.nix
구조는 이해 하지만 구문 b.nix
은 다릅니다.
어떻게 해야 하나요?
nixos 외에 더 간단한 학습 리소스가 있나요?수동?
답변1
해결됨다음 구성을 사용합니다.
{ pkgs ? import <nixpkgs> {} }:
with pkgs;
let py3s = pkgs.python3.buildEnv.override {
extraLibs = with pkgs.python3Packages; [ jedi pyyaml ];
};
in stdenv.mkDerivation {
name = "python3-shell";
buildInputs = [ py3s ];
shellHook = ''
export PS1="\[\033[1;32m\][nix-shell:\w]\n$ \[\033[0m\]"
'';
}
여전히 코드를 완전히 이해하지 못했지만 어떻게든 희망 프롬프트를 얻었고 jedi-vim
이제 볼 수 있습니다.yaml