저는 nix 표현을 처음 사용합니다. 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