summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid T. Sadler <davidtsadler@googlemail.com>2026-02-28 14:23:48 +0000
committerDavid T. Sadler <davidtsadler@googlemail.com>2026-02-28 14:23:48 +0000
commita1fba7bc851f188febc1e5676f08d0808b50b58e (patch)
tree2b585a2652ae7b1b974f4a2d8a7678da19296926
parent0181c66f22cf272bde6b50d84d2e54e32fd9f170 (diff)
Add lsp, formatter, linter for Nix
-rw-r--r--nvim/.config/nvim/lsp/nixd.lua6
-rw-r--r--nvim/.config/nvim/lua/config/lsp.lua3
-rw-r--r--nvim/.config/nvim/lua/plugins/conform.lua3
-rw-r--r--nvim/.config/nvim/lua/plugins/nvim-lint.lua3
4 files changed, 12 insertions, 3 deletions
diff --git a/nvim/.config/nvim/lsp/nixd.lua b/nvim/.config/nvim/lsp/nixd.lua
new file mode 100644
index 0000000..9c8a825
--- /dev/null
+++ b/nvim/.config/nvim/lsp/nixd.lua
@@ -0,0 +1,6 @@
+---@type vim.lsp.Config
+return {
+ cmd = { "nixd" },
+ filetypes = { "nix" },
+ root_markers = { "flake.nix", ".git" },
+}
diff --git a/nvim/.config/nvim/lua/config/lsp.lua b/nvim/.config/nvim/lua/config/lsp.lua
index 44e0a5a..be37e27 100644
--- a/nvim/.config/nvim/lua/config/lsp.lua
+++ b/nvim/.config/nvim/lua/config/lsp.lua
@@ -1,7 +1,8 @@
vim.lsp.enable({
- "marksman",
"intelephense",
"lua_ls",
+ "marksman",
+ "nixd",
})
vim.diagnostic.config({
diff --git a/nvim/.config/nvim/lua/plugins/conform.lua b/nvim/.config/nvim/lua/plugins/conform.lua
index 3229cbd..31d0302 100644
--- a/nvim/.config/nvim/lua/plugins/conform.lua
+++ b/nvim/.config/nvim/lua/plugins/conform.lua
@@ -2,8 +2,9 @@ vim.pack.add({ "https://github.com/stevearc/conform.nvim" })
require("conform").setup({
formatters_by_ft = {
- markdown = { "prettier" },
lua = { "stylua" },
+ markdown = { "prettier" },
+ nix = { "nixfmt" },
php = { "php_cs_fixer" },
},
formatters = {
diff --git a/nvim/.config/nvim/lua/plugins/nvim-lint.lua b/nvim/.config/nvim/lua/plugins/nvim-lint.lua
index 96025c9..7129dab 100644
--- a/nvim/.config/nvim/lua/plugins/nvim-lint.lua
+++ b/nvim/.config/nvim/lua/plugins/nvim-lint.lua
@@ -1,7 +1,8 @@
vim.pack.add({ "https://github.com/mfussenegger/nvim-lint" })
require("lint").linters_by_ft = {
- markdown = { "markdownlint-cli2" },
lua = { "luacheck" },
+ markdown = { "markdownlint-cli2" },
+ nix = { "statix" },
php = { "phpcs" },
}