Emacs Config
- Emacs Version: GNU Emacs 30.0.50
Figure 1: Emacs Screenshot
init.el
;;; init.el --- emacs config -*- lexical-binding: t; -*- ;; My Emacs packages are installed as Gentoo Linux packages ;; and added to the load path. All I need to do is require them (require 'exwm) (require 'tempel) (require 'denote) (require 'denote-menu) (require 'app-launcher) (set-face-attribute 'default nil :font "Inconsolata LGC" :height 235) (set-face-attribute 'fixed-pitch nil :font "Inconsolata LGC" :height 235) (set-face-attribute 'variable-pitch nil :font "Inconsolata LGC" :height 235) (keymap-global-set "<escape>" 'keyboard-escape-quit) (keymap-global-set "C-c n n" 'denote) (keymap-global-set "C-c n l" 'denote-menu-list-notes) (keymap-global-set "C-c t c" 'tempel-complete) (keymap-global-set "C-c t e" 'tempel-expand) (keymap-global-set "C-c t i" 'tempel-insert) (keymap-global-set "C-c y" 'yank-from-kill-ring) (load-theme 'yabaki t) (setq completion-auto-help 'always completion-auto-select nil completion-category-defaults nil completion-ignore-case t completions-format 'one-column completions-header-format nil completion-show-help nil completions-max-height 10 completion-styles '(basic initials partial-completion substring)) (setq enable-recursive-minibuffers t minibuffer-eldef-shorten-default t read-buffer-completion-ignore-case t read-file-name-completion-ignore-case t) (setq denote-directory (expand-file-name "/bagheera/documents/notes") denote-known-keywords '("misc" "journal") denote-prompts '(keywords title)) (setq exwm-floating-border-color "plum" exwm-floating-border-width 1 exwm-input-global-keys `((,(kbd "s-.") . find-file) (,(kbd "s-,") . dired) (,(kbd "s-b") . switch-to-buffer) (,(kbd "s-c") . kill-this-buffer) (,(kbd "s-f") . exwm-floating-toggle-floating) (,(kbd "s-h") . split-window-horizontally) (,(kbd "s-s") . sh/take-screenshot) (,(kbd "s-t") . exwm-layout-toggle-fullscreen) (,(kbd "s-v") . split-window-vertically) (,(kbd "s-w") . exwm-workspace-move-window) (,(kbd "s-x") . app-launcher-run-app) (,(kbd "s-0") . (lambda () (interactive) (exwm-workspace-switch-create 0))) (,(kbd "s-1") . (lambda () (interactive) (exwm-workspace-switch-create 1))) (,(kbd "s-2") . (lambda () (interactive) (exwm-workspace-switch-create 2))) (,(kbd "s-3") . (lambda () (interactive) (exwm-workspace-switch-create 3))) (,(kbd "s-4") . (lambda () (interactive) (exwm-workspace-switch-create 4))) (,(kbd "s-5") . (lambda () (interactive) (exwm-workspace-switch-create 5))) (,(kbd "s-6") . (lambda () (interactive) (exwm-workspace-switch-create 6))) (,(kbd "s-7") . (lambda () (interactive) (exwm-workspace-switch-create 7))) (,(kbd "s-8") . (lambda () (interactive) (exwm-workspace-switch-create 8))) (,(kbd "s-9") . (lambda () (interactive) (exwm-workspace-switch-create 9)))) exwm-input-prefix-keys '(?\M-x ?\M-:) exwm-layout-show-all-buffers nil exwm-workspace-number 10 exwm-workspace-show-all-buffers nil) (defun sh/exwm-rename-buffer () (interactive) (exwm-workspace-rename-buffer exwm-title)) (defun sh/take-screenshot () (interactive) (let ((path (concat "/bagheera/screenshots/Screenshot-" (format-time-string "%Y-%m-%d-%H-%M-%S") ".png"))) (start-process-shell-command "scrot" nil (concat "scrot " path)))) (add-hook 'exwm-update-title-hook 'sh/exwm-rename-buffer) (exwm-enable) (setq gnus-agent nil gnus-article-over-scroll t gnus-article-skip-boring t gnus-article-sort-functions '(gnus-article-sort-by-date) gnus-auto-select-first nil gnus-directory (concat user-emacs-directory "/gnus/news") gnus-expert-user t gnus-gcc-mark-as-read t gnus-home-directory (concat user-emacs-directory "/gnus") gnus-inhibit-startup-message t gnus-message-archive-group "[Gmail]/Sent Mail" gnus-message-archive-method '(nnimap "imap.gmail.com") gnus-mime-display-multipart-related-as-mixed t gnus-novice-user nil gnus-permanently-visible-groups ".*" gnus-select-method '(nnimap "imap.gmail.com") gnus-summary-display-arrow nil gnus-thread-sort-functions '(gnus-thread-sort-by-most-recent-date) gnus-use-cache nil gnus-use-scoring nil) (add-hook 'gnus-group-mode-hook 'gnus-topic-mode) (setq message-send-mail-function 'smtpmail-send-it nnmail-expiry-target "nnimap+gmail:[Gmail]/Bin" nnmail-expiry-wait 'immediate smiley-style 'medium smtpmail-default-smtp-server "smtp.gmail.com" smtpmail-smtp-service 587 user-full-name "David" user-mail-address "david.goudou@gmail.com") (setq org-cycle-separator-lines 0 org-edit-src-content-indentation 0 org-ellipsis " [+]" org-fontify-quote-and-verse-blocks t org-fontify-whole-heading-line t org-hide-block-startup nil org-hide-emphasis-markers t org-pretty-entities t org-src-fontify-natively t org-src-preserve-indentation nil org-src-tab-acts-natively nil org-startup-folded 'content org-startup-with-inline-images t) (setq rcirc-cycle-completion-flag t rcirc-fill-column 120 rcirc-omit-unless-requested '("TOPIC" "NAMES") rcirc-prompt "ᛋ " rcirc-reconnect-delay 5 rcirc-server-alist '(("irc.eu.libera.chat" :port 6697 :nick "gksudo" :encryption tls :channels ("#gksudo" "#gentoo"))) rcirc-short-buffer-name t rcirc-time-format "[%H:%M:%S] ") (add-hook 'rcirc-mode-hook 'rcirc-omit-mode) (setq dired-listing-switches "-laGh1v --time-style=+%F --group-directories-first" eshell-prompt-function (lambda nil (concat (eshell/pwd) " ᛋ ")) isearch-lax-whitespace t scroll-margin 4 search-whitespace-regexp ".*?" show-paren-style 'expression suggest-key-bindings nil tab-always-indent 'complete vc-follow-symlinks t) (setq treesit-extra-load-path '("~/.local/share/emacs/tree-sitter") treesit-font-lock-level 4) (setq tempel-path "~/.config/emacs/templates") (setq auth-source-pass-filename "~/.local/share/pash" auth-sources '("~/.local/share/emacs/authinfo.gpg") epa-pinentry-mode 'loopback) (auth-source-pass-enable)
early-init.el
;;; early-init.el --- earliest birds -*- lexical-binding: t; -*- (setq user-emacs-directory (expand-file-name "~/.cache/emacs")) (when (featurep 'native-compile) (setq native-comp-async-report-warnings-errors nil native-comp-deferred-compilation t)) (blink-cursor-mode -1) (menu-bar-mode -1) (scroll-bar-mode -1) (set-fringe-mode 4) (tool-bar-mode -1) (tooltip-mode -1) (setq-default cursor-in-non-selected-windows nil cursor-type 'hbar help-window-select t inhibit-startup-buffer-menu t inhibit-startup-screen t mode-line-format (list " " "%b") select-enable-clipboard t show-help-function nil) (setq auto-save-default nil auto-save-list-file-prefix nil create-lockfiles nil custom-file (make-temp-file "emacs-custom") frame-resize-pixelwise t gc-cons-threshold (* 50 1000 1000) inhibit-splash-screen t inhibit-startup-message t initial-major-mode 'fundamental-mode initial-scratch-message "" load-prefer-newer 'noninteractive make-backup-files nil package-enable-at-startup nil package-native-compile t package-user-dir (concat user-emacs-directory "/packages") ring-bell-function 'ignore use-package-always-ensure t) (set-frame-parameter nil 'alpha-background 90) (add-to-list 'default-frame-alist '(alpha-background . 90)) ;; Local Variables: ;; no-byte-compile: t ;; End: ;;; early-init.el ends here
And that's that