From 3cc491c93bff8c68e29f940c6653163c04c61424 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Mon, 27 Feb 2023 15:20:57 +0900 Subject: [PATCH] Configure lsps --- flake.nix | 4 +++- modules/home/git/default.nix | 1 + modules/home/nvim/lazy-lock.json | 23 +++++++++--------- modules/home/nvim/lua/plugins/lsp.lua | 29 +++++++++++++++++++---- modules/home/nvim/lua/plugins/motions.lua | 3 ++- 5 files changed, 43 insertions(+), 17 deletions(-) diff --git a/flake.nix b/flake.nix index 1578ea7..5d2010b 100644 --- a/flake.nix +++ b/flake.nix @@ -58,7 +58,7 @@ networking.hostName = hostname; users.users.${user} = { isNormalUser = true; - extraGroups = ["wheel" "input"]; + extraGroups = ["wheel" "input" "docker"]; shell = pkgs.zsh; packages = with pkgs; [ git @@ -95,6 +95,8 @@ ({pkgs, ...}: { programs.zsh.enable = true; environment.shells = with pkgs; [zsh]; + virtualisation.docker.enable = true; + environment.systemPackages = with pkgs; [docker-compose]; }) ]; }; diff --git a/modules/home/git/default.nix b/modules/home/git/default.nix index fb5177b..fc7673e 100644 --- a/modules/home/git/default.nix +++ b/modules/home/git/default.nix @@ -24,6 +24,7 @@ in { extraConfig = { gpg.format = "ssh"; gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers"; + push.autoSetupRemote = true; }; userEmail = "zoe.roux@zoriya.dev"; diff --git a/modules/home/nvim/lazy-lock.json b/modules/home/nvim/lazy-lock.json index d7043bf..6e3405a 100644 --- a/modules/home/nvim/lazy-lock.json +++ b/modules/home/nvim/lazy-lock.json @@ -4,18 +4,18 @@ "ReplaceWithRegister": { "branch": "master", "commit": "832efc23111d19591d495dc72286de2fb0b09345" }, "SchemaStore.nvim": { "branch": "main", "commit": "6f2ffb8420422db9a6c43dbce7227f0fdb9fcf75" }, "auto-save.nvim": { "branch": "main", "commit": "94003fec719ac04dac8a055c9b1baab6de4ac152" }, - "catppuccin": { "branch": "main", "commit": "4175759297350557315987d479fb687a9f0b781f" }, + "catppuccin": { "branch": "main", "commit": "87516f43267f1ec286069621f9bd288381a9097f" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "dressing.nvim": { "branch": "master", "commit": "db716a0f1279f79a886c0e0b6ab3c3d5ffdb42fe" }, + "dressing.nvim": { "branch": "master", "commit": "5f44f829481640be0f96759c965ae22a3bcaf7ce" }, "friendly-snippets": { "branch": "main", "commit": "6fa50a94ba5378bb73013a6e163376d8e69bd8a5" }, "gitsigns.nvim": { "branch": "main", "commit": "f388995990aba04cfdc7c3ab870c33e280601109" }, "harpoon": { "branch": "master", "commit": "f7040fd0c44e7a4010369136547de5604b9c22a1" }, "increment-activator": { "branch": "master", "commit": "55efcff88be45bd98cfdf7333dd718399373d10c" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy-lsp.nvim": { "branch": "master", "commit": "d22d54c7558415faf6f518db1e00d995d595a99d" }, + "lazy-lsp.nvim": { "branch": "master", "commit": "f27f207bcab617780b332fc5bdd3a88bcc5ff38f" }, "lazy.nvim": { "branch": "main", "commit": "8077428e63feb0f3bf795d53b23ba1695b28ab0e" }, "leap.nvim": { "branch": "main", "commit": "9a69febb2e5a4f5f5a55dd2d7173098fde917bc5" }, "lsp_signature.nvim": { "branch": "master", "commit": "6f6252f63b0baf0f2224c4caea33819a27f3f550" }, @@ -23,30 +23,31 @@ "mini.align": { "branch": "main", "commit": "b088ddab3495e5c1c84681e6db23dd3cc0660683" }, "mini.pairs": { "branch": "main", "commit": "4ebc1ff8d77fe75e8f219432302800ca29e17614" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "74040b34278910d9b467fd914862e2a9a1ebacaa" }, - "neodev.nvim": { "branch": "main", "commit": "3c6e485bb3ff819c33e8f24847ba7d421d658569" }, + "neodev.nvim": { "branch": "main", "commit": "f081eb96d6a8dcc1835cdad1e5a46a254093cfc4" }, "neodim": { "branch": "master", "commit": "c346344ade2ce709e6bd282f10e43778672b861e" }, "noice.nvim": { "branch": "main", "commit": "d8a1f3056ad713b5d471048f8d029264828e22c0" }, "nui.nvim": { "branch": "main", "commit": "d147222a1300901656f3ebd5b95f91732785a329" }, "nvim-cmp": { "branch": "main", "commit": "7a3b1e76f74934b12fda82158237c6ad8bfd3d40" }, - "nvim-colorizer.lua": { "branch": "master", "commit": "550332c5791c6cad6fc7a80c26104de1d00b4692" }, - "nvim-lspconfig": { "branch": "master", "commit": "69e2fe3d638566a812c39bc4ea1980f7b833e2fc" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "b0e08bea065b864d79392012635f8e2109df2d26" }, + "nvim-lspconfig": { "branch": "master", "commit": "62856b20751b748841b0f3ec5a10b1e2f6a6dbc9" }, "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, "nvim-scrollbar": { "branch": "main", "commit": "75210c554e935740448cfb532d8a671ae544bb1b" }, - "nvim-treesitter": { "branch": "master", "commit": "f8595b13bff62d5c64d54840e16678b9ad843620" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "2f3583001e2bf793480f38cf0d055571787b0259" }, + "nvim-treesitter": { "branch": "master", "commit": "50709361378fa37d455b21fb716169416888314f" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "4b30081d2736e09f90c890a8a7adfe4df36f5b36" }, "nvim-ts-autotag": { "branch": "main", "commit": "fdefe46c6807441460f11f11a167a2baf8e4534b" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, - "nvim-web-devicons": { "branch": "master", "commit": "4709a504d2cd2680fb511675e64ef2790d491d36" }, + "nvim-web-devicons": { "branch": "master", "commit": "0f23feca2bd08549b779c838b6b1308d1e76df03" }, + "omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "55cb3d7310e07e38d0d420d195f353c51eb603fb" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "telescope-fzf-native.nvim": { "branch": "feature/69-prebuilt-release-binaries", "commit": "6388c4f4ec5eab8b89f974a9fa57fc955a67bbb2" }, - "telescope.nvim": { "branch": "master", "commit": "a486ac3e8fb2198f3636da1927ed57a28836fbd8" }, + "telescope.nvim": { "branch": "master", "commit": "a3f17d3baf70df58b9d3544ea30abe52a7a832c2" }, "trouble.nvim": { "branch": "main", "commit": "3b754285635a66a93aeb15fa71a23417d8997217" }, "unimpaired-which-key.nvim": { "branch": "main", "commit": "321a247ecbbb31a59a8580350eec044b88d82e81" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" }, "vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" }, "vim-unimpaired": { "branch": "master", "commit": "6d44a6dc2ec34607c41ec78acf81657248580bf1" }, - "vim-wordmotion": { "branch": "master", "commit": "5dd613ed68a0ecf0fc6c11cd4098c03583786bf0" }, + "vim-wordmotion": { "branch": "master", "commit": "81d9bd298376ab0dc465c85d55afa4cb8d5f47a1" }, "virt-column.nvim": { "branch": "master", "commit": "93b40ea038f676f5a72d7d1f2336fe7b051fc0ce" }, "which-key.nvim": { "branch": "main", "commit": "5224c261825263f46f6771f1b644cae33cd06995" } } \ No newline at end of file diff --git a/modules/home/nvim/lua/plugins/lsp.lua b/modules/home/nvim/lua/plugins/lsp.lua index 80c292c..6047ecd 100644 --- a/modules/home/nvim/lua/plugins/lsp.lua +++ b/modules/home/nvim/lua/plugins/lsp.lua @@ -75,6 +75,7 @@ return { }, }, "b0o/SchemaStore.nvim", + "Hoffs/omnisharp-extended-lsp.nvim", "cmp-nvim-lsp", }, opts = function() @@ -101,6 +102,9 @@ return { "eslint", -- Prefer nix_ls (more mature) "rnix", + -- Prefer pyright + "pylsp", + "jedi_language_server", }, default_config = { on_attach = lsp_on_attach, @@ -108,8 +112,6 @@ return { }, configs = { jsonls = { - on_attach = lsp_on_attach, - capabilities = lsp_capabilities, settings = { json = { schemas = require('schemastore').json.schemas(), @@ -118,11 +120,30 @@ return { }, }, tsserver = { - on_attach = lsp_on_attach, - capabilities = lsp_capabilities, -- root_dir = lspconfig.util.root_pattern("yarn.lock", "package-lock.json", ".git"), -- single_file_support = false, }, + omnisharp = { + handlers = { + ["textDocument/definition"] = require('omnisharp_extended').handler, + }, + enable_editorconfig_support = true, + enable_roslyn_analyzers = true, + organize_imports_on_format = true, + enable_import_completion = true, + cmd_env = { + ["OMNISHARP_RoslynExtensionsOptions:enableDecompilationSupport"] = true, + ["OMNISHARP_msbuild:EnablePackageAutoRestore"] = true, + }, + }, + robotframework_ls = { + cmd = {"nix-shell", "-p", "python3", "--command", "cd /tmp && python3 -m venv venv && . venv/bin/activate && pip install robotframework_lsp RESTInstance && robotframework_ls" }, + settings = { + robot = { + codeFormatter = "robotidy", + }, + } + }, }, } end, diff --git a/modules/home/nvim/lua/plugins/motions.lua b/modules/home/nvim/lua/plugins/motions.lua index 320ad70..9d68e6a 100644 --- a/modules/home/nvim/lua/plugins/motions.lua +++ b/modules/home/nvim/lua/plugins/motions.lua @@ -58,7 +58,8 @@ return { { "vim-scripts/ReplaceWithRegister", keys = { - { "gr", desc = "Replace with register" } + { "gr", desc = "Replace with register" }, + { "gr", '"+gr', desc = "Replace with system clipboard" }, }, },