return { { "nosduco/remote-sshfs.nvim", dependencies = { "nvim-telescope/telescope.nvim" }, cmd = { "RemoteSSHFSConnect" }, config = function() require("remote-sshfs").setup({}) require("telescope").load_extension("remote-sshfs") end, }, { "amitds1997/remote-nvim.nvim", version = "*", -- Pin to GitHub releases dependencies = { "nvim-lua/plenary.nvim", -- For standard functions "MunifTanjim/nui.nvim", -- To build the plugin UI "nvim-telescope/telescope.nvim", -- For picking b/w different remote methods }, opts = { remote = { copy_dirs = { data = { base = vim.fn.stdpath("data"), -- Path from where data has to be copied. You can choose to copy entire path or subdirectories inside using `dirs` dirs = { "lazy" }, -- Directories inside `base` to copy over. If this is set to string "*"; it means entire `base` should be copied over compression = { enabled = true, -- Should data be compressed before uploading additional_opts = { "--exclude-vcs" }, -- Any arguments that can be passed to `tar` for compression can be specified here to improve your compression }, }, -- cache = { -- base = vim.fn.stdpath("cache"), -- dirs = {}, -- compression = { -- enabled = true, -- }, -- }, state = { base = vim.fn.stdpath("state"), dirs = {}, compression = { enabled = true, }, }, }, }, client_callback = function(port, workspace_config) local cmd = ("tmux new-window 'nvim --server localhost:%s --remote-ui' && tmux select-window -t:$"):format(port) vim.fn.jobstart(cmd, { detach = true, on_exit = function(job_id, exit_code, event_type) -- This function will be called when the job exits print("Client", job_id, "exited with code", exit_code, "Event type:", event_type) end, }) end, }, config = true, } }