為 nix-shell 合併兩個簡單的 dot nix 檔案時遇到問題

為 nix-shell 合併兩個簡單的 dot nix 檔案時遇到問題

我是 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\]"
  '';
}

尼克用於 python 覆蓋。我需要這個來做絕地維姆工作。

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

在此輸入影像描述

相關內容