;;; FG42 --- The mighty editor for the emacsians -*- lexical-binding: t; -*- ;; ;; Copyright (c) 2010-2024 Sameer Rahmani & Contributors ;; ;; Author: Sameer Rahmani ;; URL: https://devheroes.codes/FG42/FG42 ;; Version: 4.0.0 ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;; ;;; Commentary: ;;; Code: (eval-when-compile (require 'fpkg) (require 'fg42/config)) (use! nix-mode "Nix language support for Emacs." :mode ("\\.nix\\'" "\\.nix.in\\'") :hook (nix-mode . fg42/ensure-lang-server) (nix-mode . fg42/autocomplete) (nix-mode . flyspell-prog-mode) :config (with-eval-after-load 'eglot ;; Force nil to use nixpkgs-fmt for formatting (let ((nil-lsp '(nix-mode . ("nil" :initializationOptions (:formatting (:command ["nixpkgs-fmt"])))))) (add-to-list 'eglot-server-programs nil-lsp)))) (use! nix-drv-mode "Highlight the drv files." :ensure nix-mode :mode "\\.drv\\'") (use! nix-shell "Basic integration with Nix shells" :ensure nix-mode :commands (nix-shell-unpack nix-shell-configure nix-shell-build)) (use! nix-repl "Basic integration with Nix repl" :ensure nix-mode :commands (nix-repl)) (provide 'fg42/nix-support) ;;; nix-support.el ends here