{ config, ... }: { programs.emacs = { enable = true; extraConfig = '' (add-to-list 'package-archives '("melpa-snapshots" . "https://snapshots.melpa.org/packages/") t) ;;(use-package qml-mode ;; :ensure t) ;;(use-package lua-mode ;;:ensure t) ;; (use-package elcord ;; :ensure t) (setq ring-bell-function 'ignore) (require 'elcord) (elcord-mode) (add-to-list 'display-buffer-alist '("\\*compilation\\*" (display-buffer-reuse-window display-buffer-below-selected) (window-height . 0.3))) (menu-bar-mode -1) (tool-bar-mode -1) (setq display-line-numbers-type 'relative) (global-display-line-numbers-mode +1) (global-tab-line-mode 1) (scroll-bar-mode -1) (setq inhibit-splash-screen 1) (setq custom-file "~/.emacs.d/custom.el") (load custom-file 'noerror) (require 'corfu) (global-corfu-mode) (setq corfu-auto t corfu-auto-delay 0.1 corfu-auto-prefix 1) (add-hook 'nix-mode-hook #'eglot-ensure) (add-hook 'c-mode-hook #'eglot-ensure) (add-hook 'qml-mode-hook #'eglot-ensure) (with-eval-after-load 'eglot (add-to-list 'eglot-server-programs '(nix-mode . ("nixd")) ) (add-to-list 'eglot-server-programs '(qml-mode . ("qmlls")) )) (add-hook 'eglot-managed-mode-hook (lambda () (eglot-inlay-hints-mode -1))) (keymap-global-set "C-c f" 'eglot-format) (keymap-global-set "C-c t" 'term) (keymap-global-set "C-c c" 'compile) (keymap-global-set "C-c k b" 'kill-current-buffer) (keymap-global-set "C-c k w" 'kill-buffer-and-window) (windmove-default-keybindings) ''; extraPackages = epkgs: with epkgs; [ qml-mode nix-mode corfu elcord lua-mode ]; }; }