vim_configurable: enable overrides
Sometimes it's needed to override parts of `vim_configurable`, for instance when using ENSIME (http://ensime.github.io/), in this case you need a Python interpreter and the modules `sexpdata` and `websocket_client`. However overriding `vim_configurable` is quite hard as we run `vimUtils.makeCustomizable` over the default comming from `configurable.nix`. Therefore it's necessary to copy the code from `all-packages.nix` and alter the parts you need: https://nixos.org/nix-dev/2017-April/023364.html In order to simplify overriding `vim_configurable` I added an `override` and an `overrideAttrs` function to `vimutils.makeCustomizable` to ensure that the customization capabilities won't be lost after altering the derivation. Now it's possible to write expressions like this without evaluation failures: ``` with pkgs; let vimPy3 = vim_configurable.override { python = python3; }; in vimPy3.customize { ... } ```
parent
5e8ae8d5
Please register or sign in to comment