summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ftdetect/nix.lua1
-rw-r--r--ftplugin/nix.lua1
-rw-r--r--lua/default-config.lua25
3 files changed, 27 insertions, 0 deletions
diff --git a/ftdetect/nix.lua b/ftdetect/nix.lua
new file mode 100644
index 00000000..a85bcfdf
--- /dev/null
+++ b/ftdetect/nix.lua
@@ -0,0 +1 @@
+vim.cmd [[ au BufRead,BufNewFile *.nix set filetype=nix ]]
diff --git a/ftplugin/nix.lua b/ftplugin/nix.lua
new file mode 100644
index 00000000..41152a75
--- /dev/null
+++ b/ftplugin/nix.lua
@@ -0,0 +1 @@
+require("lsp").setup "nix"
diff --git a/lua/default-config.lua b/lua/default-config.lua
index 0f9e6daa..09a25fd3 100644
--- a/lua/default-config.lua
+++ b/lua/default-config.lua
@@ -1301,6 +1301,31 @@ lvim.lang = {
},
},
},
+ nix = {
+ formatters = {
+ -- {
+ -- exe = "nixfmt",
+ -- args = {},
+ -- },
+ },
+ linters = {},
+ lsp = {
+ provider = "rnix",
+ setup = {
+ cmd = { "rnix-lsp" },
+ filetypes = { "nix" },
+ init_options = {},
+ settings = {},
+ root_dir = function(fname)
+ local util = require "lspconfig/util"
+ return util.root_pattern ".git"(fname) or vim.fn.getcwd()
+ end,
+ on_attach = common_on_attach,
+ on_init = common_on_init,
+ capabilities = common_capabilities,
+ },
+ },
+ },
}
require("keymappings").config()