summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2024-12-26 17:21:27 +0200
committerKyren223 <Kyren223@proton.me>2024-12-26 17:21:27 +0200
commit8bb6abc6d44981e98288f3d749ae5c82040d98db (patch)
tree5afcb1f37f226f1ee5c37f582304a9cd88a0a93b
parent3137d24a623e1f96837ebf4f48fded1fff26d4d5 (diff)
Finally added a formatter and LSP for nix
-rw-r--r--.config/nvim/lua/custom/config/language-servers.lua17
-rw-r--r--.config/nvim/lua/custom/plugins/conform.lua8
-rw-r--r--hosts/laptop-nixos/home.nix8
3 files changed, 28 insertions, 5 deletions
diff --git a/.config/nvim/lua/custom/config/language-servers.lua b/.config/nvim/lua/custom/config/language-servers.lua
index edb6d44..7cc4946 100644
--- a/.config/nvim/lua/custom/config/language-servers.lua
+++ b/.config/nvim/lua/custom/config/language-servers.lua
@@ -137,4 +137,21 @@ return {
},
},
}, -- zig
+ nixd = {
+ mason = false,
+ cmd = { 'nixd' },
+ settings = {
+ nixd = {
+ nixpkgs = { expr = 'import <nixpkgs> { }' },
+ options = {
+ nixos = {
+ expr = '(builtins.getFlake "/home/kyren/dotfiles/flake.nix").nixosConfigurations.laptop-nixos.options',
+ },
+ home_manager = {
+ expr = '(builtins.getFlake "/home/kyren/dotfiles/flake.nix").homeConfigurations.laptop-nixos.options',
+ },
+ },
+ },
+ },
+ },
}
diff --git a/.config/nvim/lua/custom/plugins/conform.lua b/.config/nvim/lua/custom/plugins/conform.lua
index 30d7588..84a2385 100644
--- a/.config/nvim/lua/custom/plugins/conform.lua
+++ b/.config/nvim/lua/custom/plugins/conform.lua
@@ -3,10 +3,10 @@ return {
event = { 'BufWritePre' },
cmd = { 'ConformInfo' },
keys = {
- { '<leader>ft', '<cmd>FormatToggle<cr>', desc = '[F]ormat [T]oggle Globally' },
+ { '<leader>ft', '<cmd>FormatToggle<cr>', desc = '[F]ormat [T]oggle Globally' },
{ '<leader>fT', '<cmd>FormatToggle!<cr>', desc = '[F]ormat [T]oggle Locally' },
- { '<leader>ff', '<cmd>Format<cr>', desc = '[F]ormat [F]ile' },
- { '<leader>f', '<cmd>Format<cr><esc>', desc = '[F]ormat', mode = 'v' },
+ { '<leader>ff', '<cmd>Format<cr>', desc = '[F]ormat [F]ile' },
+ { '<leader>f', '<cmd>Format<cr><esc>', desc = '[F]ormat', mode = 'v' },
},
---@module "conform"
---@type conform.setupOpts
@@ -24,6 +24,8 @@ return {
['css'] = { 'prettierd', 'prettier', stop_after_first = true },
['javascript'] = { 'prettierd', 'prettier', stop_after_first = true },
['typescript'] = { 'prettierd', 'prettier', stop_after_first = true },
+ -- ['nix'] = { 'nixfmt' },
+ -- ['nix'] = { 'alejandra' },
},
format_on_save = function(bufnr)
-- Disable with a global or buffer local variable
diff --git a/hosts/laptop-nixos/home.nix b/hosts/laptop-nixos/home.nix
index 1371966..f4e9958 100644
--- a/hosts/laptop-nixos/home.nix
+++ b/hosts/laptop-nixos/home.nix
@@ -1,4 +1,4 @@
-{ config, pkgs, ... }:
+{ config, pkgs, inputs, ... }:
{
home.username = "kyren";
@@ -78,8 +78,13 @@
gitleaks
rar
gomodifytags
+ nixfmt-rfc-style
+ alejandra
+ nixd
];
+ nix.nixPath = ["nixpkgs=${inputs.nixpkgs}"];
+
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
@@ -114,7 +119,6 @@
};
};
-
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}