about summary refs log tree commit diff
path: root/modules/workstation/emacs/init.el
diff options
context:
space:
mode:
Diffstat (limited to 'modules/workstation/emacs/init.el')
-rw-r--r--modules/workstation/emacs/init.el16
1 files changed, 16 insertions, 0 deletions
diff --git a/modules/workstation/emacs/init.el b/modules/workstation/emacs/init.el
index e0c0a79a6242..b3f5861c4be0 100644
--- a/modules/workstation/emacs/init.el
+++ b/modules/workstation/emacs/init.el
@@ -1,3 +1,5 @@
+;; -*- lexical-binding: t -*-
+
 ;;; UI customization ;;;
 (column-number-mode)
 (electric-pair-mode)
@@ -40,6 +42,17 @@
 (direnv-mode)
 (global-set-key (kbd "C-c d") 'direnv-update-environment)
 
+;;; Environment ;;;
+
+;; Provide a way to turn paging back on for modes like terminal emulators.
+(let ((pager (getenv "PAGER")))
+  (defun enable-pager ()
+    (setenv-local "PAGER" pager)))
+
+;; Set PAGER to the empty string, which Git and journalctl will
+;; interpret as an explicit opt-out of paging.
+(setenv "PAGER" "")
+
 ;;; Eshell ;;;
 ;; Tell programs we support ANSI color.
 (add-hook 'eshell-mode-hook
@@ -94,6 +107,9 @@
 ;; Use the system "sendmail" program to send mail.
 (setq send-mail-function 'sendmail-send-it)
 
+;;; Term ;;;
+(add-hook 'term-mode-hook #'enable-pager)
+
 ;;; Transient ;;;
 ;; Make all Magit options available, even those that are disabled by
 ;; default because they're too obscure.