vim with rclone on MFA-enabled Nextcloud

I forgot that I enabled MFA on my Nextcloud instance and it broke rclone. This is something the Nextcloud documentation makes clear but neither the instance nor rclone itself will tell you what’s actually wrong or how to fix it.

First, on Nextcloud:

Go to Settings › Security.

Scroll down to the bottom. Enter something descriptive like “rclone” in the entry box, then click Generate App Password.

Nextcloud will display an application-specific password. Leave the screen here. Nextcloud will only display it the one time

You can always start over if you don’t copy it so depending on your password policies you might want to save it in your password manager.

Now, switch over to your shell:

First, kill the current rclone mount: $ fusermount -u /home/nullrend/Nextcloud. Do not just kill the rclone job. Apparently the rclone devs think it’s too hard to implement a rclone umount /mount/dir command or sum’thin’.

Do $ rclone config and delete the current Nextcloud remote endpoint. Much easier to start from scratch.

When you get to the password entry, enter the password given to you by Nextcloud.

Finish the process.

At this point you can save the password on Nextcloud so it actually allows rclone to connect through WebDAV.

To mount the new remote endpoint do something like $ rclone mount endpoint:/ ~/Nextcloud --daemon --dir-cache-time 120m --max-read-ahead 256 --no-modtime --vfs-cache-mode full --vfs-cache-poll-interval 120m. You will need to play with the caching flags depending on what you’re doing and what your needs are.

For my own use case I’m mostly using vim to interact with my vimwiki files so I also often do :set noswapfile to stop vim from bitching about files that are likely open elsewhere.