From ea73642a3c82b5e58f6f7f42878bc695e7189efe Mon Sep 17 00:00:00 2001 From: Nate Cox Date: Wed, 13 May 2026 11:25:07 -0700 Subject: Initial commit --- .emacs.d/init.el | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 .emacs.d/init.el (limited to '.emacs.d/init.el') diff --git a/.emacs.d/init.el b/.emacs.d/init.el new file mode 100644 index 0000000..7dbcae0 --- /dev/null +++ b/.emacs.d/init.el @@ -0,0 +1,113 @@ +(require 'package) +(add-to-list 'package-archives + '("melpa" . "https://melpa.org/packages/") t) + +(setopt line-number-mode t) +(setq display-line-numbers 'relative) + +(set-frame-font "Maple Mono NF CN-11:style=Regular" nil t) + +(use-package which-key + :ensure t + :config (which-key-mode)) + +(use-package emacs + :config + (setq major-mode-remap-alist + '((yaml-mode . yaml-ts-mode) + (toml-mode . toml-ts-mode) + (bash-mode . bash-ts-mode) + (json-mode . json-ts-mode) + (css-mode . css-ts-mode))) + + ;; for emacs-macport, use alt as meta instead of command + (setq mac-command-modifier 'super + ns-command-modifier 'super + mac-option-modifier 'meta + ns-option-modifier 'meta + mac-right-option-modifier 'none + ns-right-option-modifier 'none) + :hook + ;; Auto parenthesis matching + ((prog-mode . electric-pair-mode) + (compilation-filter . ansi-color-compilation-filter))) + +(use-package project + :custom + (when (>= emacs-major-version 30) + (project-mode-line t))) + +(use-package eat + :ensure t + :config + (eat-eshell-mode) + (eat-eshell-visual-command-mode)) + +(use-package direnv + :ensure t + :custom (direnv-always-show-summary nil) + :config (direnv-mode)) + +(use-package eglot + :ensure t) + +(use-package paredit + :ensure t + :mode (("\\.asm" . paredit-mode) + ("\\.el" . paredit-mode))) + +(use-package web-mode + :ensure t + :mode + (("\\.HTML\\'" . web-mode) + ("\\.css\\'" . web-mode) + ("\\.svelte" . web-mode)) + :custom + (web-mode-markup-indent-offset 2) + (web-mode-css-indent-offset 2) + (web-mode-code-indent-offset 2)) + +(use-package emmet-mode + :ensure t + :hook ((web-mode . emmet-mode))) + +(use-package magit + :ensure t) + +(use-package rust-mode + :ensure t + :hook (rust-mode . eglot-ensure)) + +(use-package hl-line-mode + ;; use the builtin current-line highlighter + :hook ((prog-mode) (text-mode) (org-agenda-mode))) + +(use-package flyspell-mode + ;; https://www.emacswiki.org/emacs/FlySpell + :hook ((text-mode . flyspell-mode) + (prog-mode . flyspell-prog-mode))) + +(use-package emacs + :hook ((before-save . delete-trailing-whitespace)) + + :bind (("s-SPC" . cycle-spacing)) + + :custom + (use-short-answers t) + (dired-listing-switches "-AL --group-directories-first") + (tab-width 2) + (custom-file (concat user-emacs-directory "custom.el")) + (display-line-numbers 'relative) + (backup-directory-alist '(("." . "~/.ema:Cs.d/backups"))) + (auto-save-default nil) + + :config + (when (file-exists-p custom-file) + (load custom-file)) + (set-scroll-bar-mode nil) + (setq-default indent-tabs-mode t) + (load-theme 'noctalia t) + (electric-indent-mode +1) + (setq ido-enable-flex-matching t) + (setq ido-everywhere t) + (fido-vertical-mode)) -- cgit v1.3.1