diff --git a/hosts/dnsc-air/default.nix b/hosts/dnsc-air/default.nix index ee977d5..6622f64 100644 --- a/hosts/dnsc-air/default.nix +++ b/hosts/dnsc-air/default.nix @@ -44,8 +44,10 @@ vscode-langservers-extracted lua-language-server prettierd + eslint_d atuin nil + shellcheck ]; # Homebrew diff --git a/hosts/dnsc-work/default.nix b/hosts/dnsc-work/default.nix index bb3f4f9..4a13182 100644 --- a/hosts/dnsc-work/default.nix +++ b/hosts/dnsc-work/default.nix @@ -42,9 +42,11 @@ vscode-langservers-extracted lua-language-server prettierd + eslint_d atuin nil nurl + shellcheck ]; # Homebrew diff --git a/modules/nvim/config/lazy-lock.json b/modules/nvim/config/lazy-lock.json index 360d842..749b42c 100644 --- a/modules/nvim/config/lazy-lock.json +++ b/modules/nvim/config/lazy-lock.json @@ -11,6 +11,7 @@ "lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" }, "mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" }, "mini.pairs": { "branch": "main", "commit": "69864a2efb36c030877421634487fd90db1e4298" }, + "nvim-lint": { "branch": "master", "commit": "b47cbb249351873e3a571751c3fb66ed6369852f" }, "nvim-surround": { "branch": "main", "commit": "0e62500b98f4513feaaf7425c135472457ea5b7d" }, "nvim-treesitter": { "branch": "master", "commit": "28d480e0624b259095e56f353ec911f9f2a0f404" }, "nvim-web-devicons": { "branch": "master", "commit": "2c2b4eafce6cdd0cb165036faa17396eff18f847" }, diff --git a/modules/nvim/config/lua/plugins/nvim-lint.lua b/modules/nvim/config/lua/plugins/nvim-lint.lua new file mode 100644 index 0000000..3d23bfd --- /dev/null +++ b/modules/nvim/config/lua/plugins/nvim-lint.lua @@ -0,0 +1,21 @@ +return { + "mfussenegger/nvim-lint", + config = function() + local lint = require("lint") + + lint.linters_by_ft = { + javascript = { "eslint_d" }, + javascriptreact = { "eslint_d" }, + typescript = { "eslint_d" }, + typescriptreact = { "eslint_d" }, + sh = { "shellcheck" }, + nix = { "nix" }, + } + + vim.api.nvim_create_autocmd({ "BufWritePost" }, { + callback = function() + require("lint").try_lint() + end, + }) + end, +}