Skip to content
Unverified Commit f43446c9 authored by Maximilian Bosch's avatar Maximilian Bosch
Browse files

vim_configurable: restore ability to override python for modules

It seems as Python will be fetched from $PATH in Vim 8.1:

```
stat("/home/ma27/bin/python", 0x7ffe57a317b0) = -1 ENOENT (No such file or directory)
stat("/run/wrappers/bin/python", 0x7ffe57a317b0) = -1 ENOENT (No such file or directory)
stat("/home/ma27/.nix-profile/bin/python", 0x7ffe57a317b0) = -1 ENOENT (No such file or directory)
stat("/nix/var/nix/profiles/default/bin/python", 0x7ffe57a317b0) = -1 ENOENT (No such file or directory)
stat("/run/current-system/sw/bin/python", {st_mode=S_IFREG|0555, st_size=291, ...}) = 0
readlink("/run/current-system/sw/bin/python", "/nix/store/ggjkqbvwnv7dflkmdgmmp"..., 4096) = 72
```

This breaks in cases where you want to use a modified Python derivation
for the VIM plugins you use in `vim_configurable`:

```
let
  vim_configurable' = vim_configurable.override {
    # python with modules for ensime
    python = python.withPackages (ps: with ps; [ sexpdata websocket_client ]);
  };
in
  vim_configurable'.customize {
    # ...
  }
```

With VIM 8.0 this worked perfectly fine, now it's necessary to install
the modified `python` in $PATH to actually use it, otherwise an error
like this arises:

```
[ensime] A dependency is missing, please `pip2 install sexpdata websocket-client` and restart Vim.
Press ENTER or type command to continue
```

However it should be possible to pass the modified Python to the
modules, the easiest workaround is to write a wrapper which prefixes
$PATH to have the Python derivation available.
parent 57d591ec
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment