;; Eglot recommends pulling the latest of the standard libraries it ;; uses from ELPA if you're not tracking the current emacs development ;; branch. (use-package xref :pin gnu ) (use-package eldoc :pin gnu :diminish ) ;; Other packages (use-package emacs :config (setq enable-recursive-minibuffers t) ;; Filter the M-x list base on the current mode (setq read-extended-command-predicate #'command-completion-default-include-p) ;; Enable triggering completion with the tab key. (setq tab-always-indent 'complete) ) (use-package dashboard :config (dashboard-setup-startup-hook)) (when (version<= "26.0.50" emacs-version ) (add-hook 'prog-mode-hook 'display-line-numbers-mode) (add-hook 'prog-mode-hook 'column-number-mode) ) ;; Display a horizontal line instead of ^L for page break characters (use-package page-break-lines :config (global-page-break-lines-mode +1) ) (use-package recentf ;; This is an emacs built-in but we're pulling the latest version :config (setq recentf-max-saved-items 100) (setq recentf-save-file (recentf-expand-file-name "~/.emacs.d/private/cache/recentf")) (recentf-mode 1)) ;; Persist history over Emacs restarts. Vertico sorts by history position. (use-package savehist ;; This is an emacs built-in but we're pulling the latest version :config (savehist-mode)) (use-package which-key :diminish :config (which-key-mode)) (use-package windmove :config (windmove-default-keybindings)) (setq tramp-default-method "ssh") (use-package nginx-mode :mode ( ("headers\\.include\\'" . nginx-mode) ) :config (setq nginx-indent-level 4)) (use-package systemd :mode (("\\.service\\'" . systemd-mode) ("\\.timer\\'" . systemd-mode)) ) (use-package pkgbuild-mode :mode (("PKGBUILD\\'" . pkgbuild-mode)) ) (provide 'base-extensions)