Problemas para fusionar dos archivos dot nix simples para nix-shell

Problemas para fusionar dos archivos dot nix simples para nix-shell

Soy nuevo en la expresión nix. Encontré dos archivos de configuración que quiero usar en nix-shell.

Desafortunadamente, no pude fusionarlos debido a mi falta de conocimiento sobre expresiones nix. Siempre termina con un error de sintaxis.

a.nixes para configurar personalizado shellHook. Aquí simplificado solo para configurar$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.nixes para anulación de Python. necesito esto para hacerjedi-vimtrabajar.

with import <nixpkgs> {};

( pkgs.python3.buildEnv.override  {
  extraLibs = with pkgs.python3Packages; [ jedi pyyaml ];
}).env

Entiendo a.nixlas estructuras pero la sintaxis b.nixes diferente.

¿Cómo debería hacerlo?

¿Existe algún recurso más sencillo para estudiar además de nixos?manual?

Respuesta1

Resueltocon la siguiente configuración.

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

Todavía no entiendo completamente el código, pero de alguna manera recibí el mensaje de deseo y jedi-vimahora puedo verlo.yaml

ingrese la descripción de la imagen aquí

información relacionada