Eu sou novo na expressão nix. Encontrei dois arquivos de configuração que desejo usar no nix-shell.
Infelizmente não consegui mesclá-los devido à minha falta de conhecimento da expressão nix. Sempre acabe com erro de sintaxe.
a.nixé para definir custom shellHook
. Aqui simplificado apenas 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.nixé para substituição de python. Eu preciso disso para fazerjedi-vimtrabalhar.
with import <nixpkgs> {};
( pkgs.python3.buildEnv.override {
extraLibs = with pkgs.python3Packages; [ jedi pyyaml ];
}).env
Eu entendo a.nix
estruturas, mas a sintaxe b.nix
é diferente.
Como devo fazer isso?
Existe algum recurso mais simples para estudar além dos nixosmanual?
Responder1
Resolvidocom a seguinte configuração.
{ 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\]"
'';
}
Ainda não entendi completamente o código, mas de alguma forma recebi o prompt do desejo e jedi-vim
agora posso veryaml