Lazy version would be `:vsplit | lcd %:h | term ranger<cr>`.
`vsplit` splits the window vertically. `lcd` sets the bufferlocal working directory which is a new feature in neovim. `term ranger` launches the terminal emulator. If you wanted to be fancy you could add a toggle that reuses the same ranger instance which'd add an additional ~10 loc.
I use a plugin ranger.vim [1]. Although it works for plain VIM, it is very clunky, since ranger is opened with a !command you get a blocking terminal.
The nesting really is tmux -> Shell -> Nvim -> Ranger.
Mind sharing some docs on how to do that?