diff --git a/modules/lang/nix/autoload.el b/modules/lang/nix/autoload.el index 69abe8978..cf345407e 100644 --- a/modules/lang/nix/autoload.el +++ b/modules/lang/nix/autoload.el @@ -5,6 +5,13 @@ (nixos-options-doc-buffer (nixos-options-get-documentation-for-option candidate)))) +;;;###autoload +(defun +nix/open-repl () + "Open a nix repl." + (interactive) + (nix-repl-show) + (current-buffer)) + ;;;###autoload (defun +nix/lookup-option (&optional initial-input) "Look up documentation on a nix option." diff --git a/modules/lang/nix/config.el b/modules/lang/nix/config.el index 02d5ef0f6..43dd95f3b 100644 --- a/modules/lang/nix/config.el +++ b/modules/lang/nix/config.el @@ -4,6 +4,7 @@ :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))