На основании моих показаний (в частности, the wiki и this blog post), я пришел со следующим default.nix
, что я загрузить с nix-shell
:Как правильно использовать nix-shell и избегать «сбрасывания очень большого пути»?
with import <nixpkgs> {};
let emacs =
emacsWithPackages (p : [ p.tuareg ]);
in
stdenv.mkDerivation rec {
name = "env";
src = ./.;
# Customizable development requirements
buildInputs = [
pkgconfig
ocaml
ocamlPackages.merlin
ocamlPackages.findlib
ocamlPackages.lablgtk
ocamlPackages.camlp5_transitional
ncurses
emacs
];
# Customizable development shell setup
shellHook = ''
export PATH=`pwd`/bin:$PATH
'';
}
Но он всегда выдает предупреждение:
warning: dumping very large path (> 256 MiB); this may run out of memory
и принимает довольно долго для загрузки (около 45 секунд при первом вызове nix-shell
после запуска, около 2 секунд при последующих вызовах).
Что является значением этого сообщения? Когда я ищу его в Google, я нахожу несколько вопросов GitHub, но не выражен таким образом, который легко понять для непрофессионала.
Могу ли я ускорить загрузку и удалить это сообщение? Мне кажется, что я делаю что-то неправильно.
Существуют ли общие рекомендации по написанию такой среды разработки, о которой я мог бы не знать?
Это было очень полезно. Однако, не должен ли он читать '", а затем null else './.'; "Вместо" ", а затем null else nix;" '? – knedlsepp