summaryrefslogtreecommitdiff
path: root/files/emacs/.emacs.d
diff options
context:
space:
mode:
authorMitch Taylor <mitch@mitchtaylor.xyz>2026-03-23 22:06:16 -0300
committerMitch Taylor <mitch@mitchtaylor.xyz>2026-03-23 22:06:16 -0300
commit2016545923903cd41a08e98699fdf40b2f220712 (patch)
tree5e6a24d258e69371d8f51094406c840a2354ba26 /files/emacs/.emacs.d
parent7601fd3950ec449fc47711c7f7bd023c86b68d87 (diff)
update emacs config to include additional modes and ibm plex fonts. remove useless abbrevsHEADmaster
Diffstat (limited to 'files/emacs/.emacs.d')
-rw-r--r--files/emacs/.emacs.d/post-init.el61
1 files changed, 36 insertions, 25 deletions
diff --git a/files/emacs/.emacs.d/post-init.el b/files/emacs/.emacs.d/post-init.el
index edb6dad..91be74d 100644
--- a/files/emacs/.emacs.d/post-init.el
+++ b/files/emacs/.emacs.d/post-init.el
@@ -1,6 +1,26 @@
;;; post-init.el --- User Init -*- lexical-binding: t; -*-
(load-theme 'modus-vivendi)
+;; Set default font to IBM Plex Mono
+(set-face-attribute 'default nil
+ :family "IBM Plex Mono"
+ :height 100)
+
+;; Variable-pitch font for proportional text
+(set-face-attribute 'variable-pitch nil
+ :family "IBM Plex Sans"
+ :height 1.1) ; Slightly larger than fixed-pitch; relative scaling
+
+;; Fixed-pitch fallback ensures code blocks stay monospace
+(set-face-attribute 'fixed-pitch nil
+ :family "IBM Plex Mono")
+
+(add-to-list 'default-frame-alist
+ '(font . "IBM Plex Mono-10"))
+
+(add-hook 'org-mode-hook #'variable-pitch-mode)
+(add-hook 'markdown-mode-hook #'variable-pitch-mode)
+
(repeat-mode 1)
(setq auth-sources '(password-store "~/.authinfo.gpg"))
@@ -62,30 +82,6 @@ If ###@### is found, remove it and place point there at the end."
("ocb" "#+BEGIN_SRC @\n\n#+END_SRC"
(lambda () (search-backward "@") (delete-char 1)))
("oheader" "#+TITLE: ###1###\n#+AUTHOR: ###2###\n#+EMAIL: ###3###\n#+OPTIONS: toc:nil\n"
- emacs-solo/abbrev--replace-placeholders)
-
- ;; JS/TS snippets
- ("imp" "import { ###1### } from '###2###';"
- emacs-solo/abbrev--replace-placeholders)
- ("fn" "function ###1### () {\n ###@### ;\n};"
- emacs-solo/abbrev--replace-placeholders)
- ("clog" "console.log(\">>> LOG:\", { ###@### })"
- emacs-solo/abbrev--replace-placeholders)
- ("cwarn" "console.warn(\">>> WARN:\", { ###@### })"
- emacs-solo/abbrev--replace-placeholders)
- ("cerr" "console.error(\">>> ERR:\", { ###@### })"
- emacs-solo/abbrev--replace-placeholders)
- ("afn" "async function() {\n \n}"
- (lambda () (search-backward "}") (forward-line -1) (end-of-line)))
- ("ife" "(function() {\n \n})();"
- (lambda () (search-backward ")();") (forward-line -1) (end-of-line)))
- ("esdeps" "// eslint-disable-next-line react-hooks/exhaustive-deps"
- (lambda () (search-backward ")();") (forward-line -1) (end-of-line)))
- ("eshooks" "// eslint-disable-next-line react-hooks/rules-of-hooks"
- (lambda () (search-backward ")();") (forward-line -1) (end-of-line)))
-
- ;; React/JSX
- ("rfc" "const ###1### = () => {\n return (\n <div>###2###</div>\n );\n};"
emacs-solo/abbrev--replace-placeholders))))
(setopt tab-always-indent 'complete
@@ -131,7 +127,7 @@ If ###@### is found, remove it and place point there at the end."
(setq load-prefer-newer t)
(use-package compile-angel
- :demand t
+ :ensure nil
:config
(setq compile-angel-verbose nil)
(push "/init.el" compile-angel-excluded-files)
@@ -175,6 +171,21 @@ If ###@### is found, remove it and place point there at the end."
:init
(setq enwc-default-backend 'nm))
+(use-package nix-mode
+ :ensure nil
+ :mode "\\.nix\\'")
+
+(use-package markdown-mode
+ :ensure nil
+ :mode "\\.md\\'"
+ :init (setq markdown-command "lowdown")
+ :bind (:map markdown-mode-map
+ ("C-c C-e" . markdown-do)))
+
+(use-package yaml-mode
+ :ensure nil
+ :mode "\\.yml\\'")
+
(load-file (expand-file-name "gnus.el" user-emacs-directory))
(load-file (expand-file-name "eshell.el" user-emacs-directory))