На основе моих чтений (в частности, вики и это сообщение в блоге), я придумал следующее default.nix
, которое загружаю с помощью 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, но не выраженных в понятной для непрофессионала форме.
Можно ускорить загрузку и убрать это сообщение? Мне кажется, что я что-то не так делаю.
Есть ли общие рекомендации по написанию такой среды разработки, о которых я мог не знать?