anchor.diff:  
   nvim_lsp["kotlin_language_server"].setup { on_attach = on_attach; cmd = {"${kotlin-language-server}/bin/kotlin-language-server"} }
   nvim_lsp["rnix"].setup { on_attach = on_attach; cmd = {"${pkgs.rnix-lsp}/bin/rnix-lsp"} }
  --- nvim_lsp["pyright"].setup {
  ---   on_attach = on_attach;
  ---   cmd = {"{pkgs.pyright}/bin/pyright-langserver", "--stdio"};
  ---   settings = {
  ---     python = {
  ---       analysis = {
  ---         autoSearchPaths = true,
  ---         useLibraryCodeForTypes = true,
  ---         diagnosticMode = 'workspace',
  ---       },
  ---     },
  ---   };
  --- }
  +nvim_lsp["pyright"].setup {
  +  on_attach = on_attach;
  +  cmd = {"${pyright}/bin/pyright-langserver", "--stdio"};
  +  settings = {
  +    python = {
  +      analysis = {
  +        autoSearchPaths = true,
  +        useLibraryCodeForTypes = true,
  +        diagnosticMode = 'workspace',
  +        typeCheckingMode = 'off',
  +      },
  +    },
  +  };
  +}
   nvim_lsp["pylsp"].setup {
     on_attach = on_attach;
     cmd = {"${python-lsp-server}/bin/pylsp"};
  +  settings = {
  +    pylsp = {
  +      plugins = {
  +        rope_completion = {
  +          enabled = false,
  +        },
  +        jedi_symbols = {
  +          enabled = false,
  +        },
  +        jedi_signature_help = {
  +          enabled = false,
  +        },
  +        jedi_references = {
  +          enabled = false,
  +        },
  +        jedi_hover = {
  +          enabled = false,
  +        },
  +        jedi_definition = {
  +          enabled = false,
  +        },
  +        jedi_completion = {
  +          enabled = false,
  +        },
  +      },
  +    },
  +  };
   }
   nvim_lsp["bashls"].setup { on_attach = on_attach; cmd = {"${variables.homeDir}/.npm-packages/bin/bash-language-server", "start"} }
   nvim_lsp["dockerls"].setup { on_attach = on_attach; cmd = {"${variables.homeDir}/.npm-packages/bin/docker-langserver", "--stdio"} }
  
positive.code:           vim-polyglot
            #kotlin-vim
            vimPlugins.nvim-lspconfig
            deoplete-nvim
            deoplete-lsp
            #vimPlugins.neovim-auto-autoread
            vim-rsi
            vim-signify
  
negative.code:   local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
    local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
  
    -- buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
  
    -- Mappings.
    local opts = { noremap=true, silent=true }
    -- buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
    -- buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
    buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
    -- buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
    buf_set_keymap('n', 'gs', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
    -- buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
    -- buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
    -- buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
    -- buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
    buf_set_keymap('n', 'rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
    -- buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
    buf_set_keymap('n', 'cd', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
    buf_set_keymap('n', '{', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
    buf_set_keymap('n', '}', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
    -- buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
  
    -- Set some keybinds conditional on server capabilities
  