doomemacs/modules/lang/nix/config.el
2020-10-05 17:10:57 -04:00

30 lines
831 B
EmacsLisp

;;; lang/nix/config.el -*- lexical-binding: t; -*-
(use-package! nix-mode
:interpreter ("\\(?:cached-\\)?nix-shell" . +nix-shell-init-mode)
:mode "\\.nix\\'"
:config
(set-repl-handler! 'nix-mode #'+nix/open-repl)
(set-company-backend! 'nix-mode 'company-nixos-options)
(set-lookup-handlers! 'nix-mode
:documentation '(+nix/lookup-option :async t))
(set-popup-rule! "^\\*nixos-options-doc\\*$" :ttl 0 :quit t)
(map! :localleader
:map nix-mode-map
"f" #'nix-update-fetch
"p" #'nix-format-buffer
"r" #'nix-repl-show
"s" #'nix-shell
"b" #'nix-build
"u" #'nix-unpack
"o" #'+nix/lookup-option))
(use-package! nix-drv-mode
:mode "\\.drv\\'")
(use-package! nix-update
:commands nix-update-fetch)
(use-package! nix-repl
:commands nix-repl-show)