Nixos
為 nix-shell 合併兩個簡單的點 nix 文件時遇到問題
我是 nix 表達式的新手。我找到了兩個我想在 nix-shell 中使用的配置文件。
不幸的是,由於我缺乏 nix 表達式知識,我未能合併它們。總是以語法錯誤告終。
a.nix用於設置 custom
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\]" ''; }
b.nix用於 python 覆蓋。我需要這個來使jedi-vim工作。
with import <nixpkgs> {}; ( pkgs.python3.buildEnv.override { extraLibs = with pkgs.python3Packages; [ jedi pyyaml ]; }).env
我確實了解
a.nix
結構,但語法b.nix
不同。我該怎麼做?
除了 nixos手冊,還有什麼更簡單的資源可以學習嗎?
通過以下配置解決。
{ 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