Emacs Config
- Emacs Version: GNU Emacs 30.0.50
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 'denote) ;; (require 'app-launcher) ;; Fonts (set-face-attribute 'default nil :font "Lotion" :height 300) (set-face-attribute 'fixed-pitch nil :font "Lotion" :height 300) (set-face-attribute 'variable-pitch nil :font "Lotion" :height 300) ;; Keys (keymap-global-set "<escape>" 'keyboard-escape-quit) (keymap-global-set "C-c b" 'ibuffer) (keymap-global-set "C-c f" 'find-name-dired) (keymap-global-set "C-c i" 'irc) (keymap-global-set "C-c n" 'denote-open-or-create) (keymap-global-set "C-c r" 'rmail) (keymap-global-set "C-c y" 'yank-from-kill-ring) ;; Theme (load-theme 'yabaki t) ;; Completions (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 5 completion-styles '(basic initials partial-completion substring)) (setq enable-recursive-minibuffers t minibuffer-default-prompt-format " [%s]" read-buffer-completion-ignore-case t read-file-name-completion-ignore-case t) ;; Ibuffer (setq ibuffer-default-sorting-mode 'major-mode ibuffer-expert t) ;; Denote (setq denote-directory "/bagheera/documents/notes" denote-known-keywords '("misc" "journal") denote-prompts '(keywords title)) ;; EXWM (Disabled as I'm trying out marswm) ;; (setq exwm-floating-border-color "orange" ;; 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") . find-name-dired) ;; (,(kbd "s-h") . split-window-horizontally) ;; (,(kbd "s-k") . kill-buffer) ;; (,(kbd "s-n") . denote-open-or-create) ;; (,(kbd "s-r") . rmail) ;; (,(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-y") . yank-from-kill-ring) ;; (,(kbd "s-z") . scratch-buffer) ;; (,(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 ;; (concat (if (<= (length exwm-title) 50) exwm-title ;; (concat (substring exwm-title 0 49) "..."))))) ;; (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) ;; Mail (setq rmail-default-file (expand-file-name "~/.local/share/emacs/rmail/RMAIL") rmail-displayed-headers "^From:\\|^Subject:\\|^Date:\\|^Cc:" rmail-display-summary t rmail-file-name (expand-file-name "~/.local/share/emacs/rmail/RMAIL") rmail-mime-prefer-html nil rmail-movemail-program "/usr/bin/movemail" rmail-movemail-variant-in-use 'mailutils rmail-primary-inbox-list (list "imaps://david.goudou%40gmail.com@imap.gmail.com") rmail-remote-password-required t rmail-secondary-file-directory (expand-file-name "~/.local/share/emacs/rmail")) (setq mail-source-movemail-program "/usr/bin/movemail" message-send-mail-function 'smtpmail-send-it smiley-style 'medium smtpmail-default-smtp-server "smtp.gmail.com" smtpmail-smtp-service 587 smtpmail-smtp-user "david.goudou@gmail.com" user-full-name "David" user-mail-address "david.goudou@gmail.com") ;; Org Mode (setq org-cycle-separator-lines 0 org-edit-src-content-indentation 0 org-ellipsis nil 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) ;; IRC (setopt rcirc-bridge-bot-alist '(("bridge" . "{\\(.+?\\)}[[:space:]]+"))) (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 '(("seahorse.sh" :port 2602 :nick "gksudo" :encryption tls)) rcirc-short-buffer-name t rcirc-time-format "[%d/%m %H:%M] ") (add-hook 'rcirc-mode-hook 'rcirc-omit-mode) ;; Eshell (setq eshell-directory-name (expand-file-name "~/.local/share/emacs/eshell") eshell-prompt-function (lambda nil (concat (eshell/pwd) " Σ "))) ;; Tree-sitter (setq treesit-extra-load-path '("~/.local/share/emacs/tree-sitter") treesit-font-lock-level 4) ;; Searching (setq isearch-lax-whitespace t isearch-lazy-count t isearch-repeat-on-direction-change t isearch-wrap-pause 'no search-whitespace-regexp ".*?") ;; Misc (setq copy-region-blink-predicate 'always dired-kill-when-opening-new-dired-buffer t dired-listing-switches "-Alghot --group-directories-first" scroll-margin 4 show-paren-style 'parenthesis suggest-key-bindings nil tab-always-indent 'complete vc-follow-symlinks t) ;; GPG (setq auth-source-pass-filename (expand-file-name "~/.local/share/pash") epg-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-jit-compilation t)) (blink-cursor-mode -1) (menu-bar-mode -1) (scroll-bar-mode -1) (set-fringe-mode '(12 . 0)) (tool-bar-mode -1) (tooltip-mode -1) (setq-default cursor-in-non-selected-windows nil cursor-type 'box help-window-select t inhibit-startup-buffer-menu t inhibit-startup-screen t mode-line-compact t 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 100) (add-to-list 'default-frame-alist '(alpha-background . 100)) ;; Local Variables: ;; no-byte-compile: t ;; End: ;;; early-init.el ends here
And that's that