From 339a09090a926535f67f855890d97e41673f642a Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Tue, 14 Mar 2023 20:07:16 +0100 Subject: Install nil as a langserver for nix --- user/emacs/init.el | 2 ++ user/settings/base.nix | 6 ++++++ user/settings/nix.nix | 1 + 3 files changed, 9 insertions(+) (limited to 'user') diff --git a/user/emacs/init.el b/user/emacs/init.el index 89065062..1c0d7ebe 100644 --- a/user/emacs/init.el +++ b/user/emacs/init.el @@ -1030,10 +1030,12 @@ _p_rev _u_pper _=_: upper/lower _r_esolve go-mode-hook scss-mode-hook html-mode-hook + nix-mode-hook haskell-mode-hook) #'eglot-ensure) :config (progn (add-to-list 'eglot-stay-out-of 'company) + (add-to-list 'eglot-server-programs '(nix-mode . ("nil"))) (defun my/setup-eglot-eldoc () (push 'flymake-eldoc-function eldoc-documentation-functions)) (add-hook 'eglot-managed-mode-hook 'my/setup-eglot-eldoc))) diff --git a/user/settings/base.nix b/user/settings/base.nix index b5ed8f0d..692369e4 100644 --- a/user/settings/base.nix +++ b/user/settings/base.nix @@ -33,6 +33,12 @@ settings = { "json.enable" = true; "suggest.enablePreview" = true; + languageserver = { + nix = { + command = "${pkgs.nil}/bin/nil"; + filetypes = [ "nix" ]; + }; + }; }; }; }; diff --git a/user/settings/nix.nix b/user/settings/nix.nix index 77fb0145..0d1f0e1c 100644 --- a/user/settings/nix.nix +++ b/user/settings/nix.nix @@ -5,6 +5,7 @@ }: { nixpkgs.config = import ../config.nix; home.packages = with pkgs; [ + nil nix-prefetch-scripts alejandra # nix formatter ]; -- cgit 1.4.1