vimPlugins.chadtree: Missing deps or broken?

Has anyone got chadtree working? It appears to assume the role of a package manager to create and manage its own Python virtual environment, that the user is supposed to initialize with :CHADdeps command.

Using plugin and Neovim from NIxpkgs unstable it fails during startup:

Please update dependencies using :CHADdeps
-
-
Dependencies will be installed privately inside `chadtree/.vars`
`rm -rf chadtree/` will cleanly remove everything

:CHADdeps predictably fails when it tries to write to /nix/store:

Traceback (most recent call last):
  File "/nix/store/rppr9s436950i1dlzknbmz40m2xqqnxc-python3-3.9.9/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/nix/store/rppr9s436950i1dlzknbmz40m2xqqnxc-python3-3.9.9/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/nix/store/jr0lk415f9hvk5w9slhkpgmnhdnv6bw0-vimplugin-chadtree-2021-12-22/chadtree/__main__.py", line 82, in <module>
    EnvBuilder(
  File "/nix/store/rppr9s436950i1dlzknbmz40m2xqqnxc-python3-3.9.9/lib/python3.9/venv/__init__.py", line 67, in create
    context = self.ensure_directories(env_dir)
  File "/nix/store/rppr9s436950i1dlzknbmz40m2xqqnxc-python3-3.9.9/lib/python3.9/venv/__init__.py", line 116, in ensure_directories
    create_if_needed(env_dir)
  File "/nix/store/rppr9s436950i1dlzknbmz40m2xqqnxc-python3-3.9.9/lib/python3.9/venv/__init__.py", line 105, in create_if_needed
    os.makedirs(d)
  File "/nix/store/rppr9s436950i1dlzknbmz40m2xqqnxc-python3-3.9.9/lib/python3.9/os.py", line 215, in makedirs
    makedirs(head, exist_ok=exist_ok)
  File "/nix/store/rppr9s436950i1dlzknbmz40m2xqqnxc-python3-3.9.9/lib/python3.9/os.py", line 225, in makedirs
    mkdir(name, mode)
OSError: [Errno 30] Read-only file system: '/nix/store/jr0lk415f9hvk5w9slhkpgmnhdnv6bw0-vimplugin-chadtree-2021-12-22/.vars'

Since chadtree was added to Nixpkgs I guess someone made it work. I haven’t looked deeply at chadtree but others seem to have the same problem: Use dependencies outside of `chadtree/.vars` · Issue #271 · ms-jpq/chadtree · GitHub

@cideM, you (?) added chadtree in vimPlugins.chadtree: init at 2021-01-21 · NixOS/nixpkgs@c88e459 · GitHub do you have a working configuration?

When I added it the maintainer added a commit that would make it work with XDG_* spec so as long as you have this set it should not install dependencies into /nix/store. Here’s the issue I created back then Allow changing `runtime` dir · Issue #110 · ms-jpq/chadtree · GitHub maybe something broke since then?

It was always my plan to package it properly but I failed to do so back then and I don’t think I have the motivation to give it another go with the state of Python packaging in general and the many moving parts here

Many thanks, I’ll have a look.

Yeah, I got the same feeling after giving it a go.