summary refs log tree commit diff
path: root/emacs/custom/my-lang-nix.el
blob: 7d197e20e83535a947308fe71740fe97378efac6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
;;; my-lang-nix.el --- configure emacs for nix -*- lexical-binding: t -*-
;; Author: Franck Cuny <franck@fcuny.net>

;;; Commentary:

;;; Code:

(require 'lsp-mode)

(add-to-list 'lsp-language-id-configuration '(nix-mode . "nix"))
(lsp-register-client
 (make-lsp-client :new-connection
                  (lsp-stdio-connection '("rnix-lsp"))
                  :major-modes '(nix-mode)
                  :server-id 'nix))

(defun my/lsp-nix-install-save-hooks ()
  "Set up before-save hooks to format buffer."
  (add-hook 'before-save-hook #'lsp-format-buffer t t))

(add-hook 'nix-mode-hook #'my/lsp-nix-install-save-hooks)
(add-hook 'nix-mode-hook #'lsp-deferred)

(provide 'my-lang-nix)

;;; my-lang-nix.el ends here