diff options
| author | Kyren223 <Kyren223@proton.me> | 2024-12-26 17:21:27 +0200 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2024-12-26 17:21:27 +0200 |
| commit | 8bb6abc6d44981e98288f3d749ae5c82040d98db (patch) | |
| tree | 5afcb1f37f226f1ee5c37f582304a9cd88a0a93b | |
| parent | 3137d24a623e1f96837ebf4f48fded1fff26d4d5 (diff) | |
Finally added a formatter and LSP for nix
| -rw-r--r-- | .config/nvim/lua/custom/config/language-servers.lua | 17 | ||||
| -rw-r--r-- | .config/nvim/lua/custom/plugins/conform.lua | 8 | ||||
| -rw-r--r-- | hosts/laptop-nixos/home.nix | 8 |
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; } |
