diff options
Diffstat (limited to 'init.el')
-rw-r--r-- | init.el | 256 |
1 files changed, 0 insertions, 256 deletions
diff --git a/init.el b/init.el deleted file mode 100644 index cba11c8..0000000 --- a/init.el +++ /dev/null @@ -1,256 +0,0 @@ -;;; ________ _______ __ __ -;;; / | / \ / | / | -;;; $$$$$$$$/ _____ ____ ______ _______ _______ $$$$$$$ | ______ ____$$ | ______ ______ _______$$ | __ -;;; $$ |__ / \/ \ / \ / |/ | $$ |__$$ |/ \ / $$ |/ \ / \ / $$ | / | -;;; $$ | $$$$$$ $$$$ |$$$$$$ /$$$$$$$//$$$$$$$/ $$ $$</$$$$$$ /$$$$$$$ /$$$$$$ /$$$$$$ /$$$$$$$/$$ |_/$$/ -;;; $$$$$/ $$ | $$ | $$ |/ $$ $$ | $$ \ $$$$$$$ $$ $$ $$ | $$ $$ | $$/$$ | $$ $$ | $$ $$< -;;; $$ |_____$$ | $$ | $$ /$$$$$$$ $$ \_____ $$$$$$ | $$ |__$$ $$$$$$$$/$$ \__$$ $$ | $$ \__$$ $$ \_____$$$$$$ \ -;;; $$ $$ | $$ | $$ $$ $$ $$ / $$/ $$ $$/$$ $$ $$ $$ | $$ $$/$$ $$ | $$ | -;;; $$$$$$$$/$$/ $$/ $$/ $$$$$$$/ $$$$$$$/$$$$$$$/ $$$$$$$/ $$$$$$$/ $$$$$$$/$$/ $$$$$$/ $$$$$$$/$$/ $$/ - -;;; Minimal init.el - -;;; Contents: -;;; -;;; - Basic settings -;;; - Discovery aids -;;; - Minibuffer/completion settings -;;; - Interface enhancements/defaults -;;; - Tab-bar configuration -;;; - Theme -;;; - Optional extras -;;; - Built-in customization framework - -;;; Guardrail - -(when (< emacs-major-version 29) - (error "Emacs Bedrock only works with Emacs 29 and newer; you have version %s" emacs-major-version)) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Basic settings -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Package initialization -;; -;; We'll stick to the built-in GNU and non-GNU ELPAs (Emacs Lisp Package -;; Archive) for the base install, but there are some other ELPAs you could look -;; at if you want more packages. MELPA in particular is very popular. See -;; instructions at: -;; -;; https://melpa.org/#/getting-started -;; -;; You can simply uncomment the following if you'd like to get started with -;; MELPA packages quickly: -;; -;; (with-eval-after-load 'package -;; (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)) - -;; If you want to turn off the welcome screen, uncomment this -;(setopt inhibit-splash-screen t) - -(setopt initial-major-mode 'fundamental-mode) ; default mode for the *scratch* buffer -(setopt display-time-default-load-average nil) ; this information is useless for most - -;; Automatically reread from disk if the underlying file changes -(setopt auto-revert-avoid-polling t) -;; Some systems don't do file notifications well; see -;; https://todo.sr.ht/~ashton314/emacs-bedrock/11 -(setopt auto-revert-interval 5) -(setopt auto-revert-check-vc-info t) -(global-auto-revert-mode) - -;; Save history of minibuffer -(savehist-mode) - -;; Move through windows with Ctrl-<arrow keys> -(windmove-default-keybindings 'control) ; You can use other modifiers here - -;; Fix archaic defaults -(setopt sentence-end-double-space nil) - -;; Make right-click do something sensible -(when (display-graphic-p) - (context-menu-mode)) - -;; Don't litter file system with *~ backup files; put them all inside -;; ~/.emacs.d/backup or wherever -(defun bedrock--backup-file-name (fpath) - "Return a new file path of a given file path. -If the new path's directories does not exist, create them." - (let* ((backupRootDir (concat user-emacs-directory "emacs-backup/")) - (filePath (replace-regexp-in-string "[A-Za-z]:" "" fpath )) ; remove Windows driver letter in path - (backupFilePath (replace-regexp-in-string "//" "/" (concat backupRootDir filePath "~") ))) - (make-directory (file-name-directory backupFilePath) (file-name-directory backupFilePath)) - backupFilePath)) -(setopt make-backup-file-name-function 'bedrock--backup-file-name) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Discovery aids -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Show the help buffer after startup -(add-hook 'after-init-hook 'help-quick) - -;; which-key: shows a popup of available keybindings when typing a long key -;; sequence (e.g. C-x ...) -(use-package which-key - :ensure t - :config - (which-key-mode)) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Minibuffer/completion settings -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; For help, see: https://www.masteringemacs.org/article/understanding-minibuffer-completion - -(setopt enable-recursive-minibuffers t) ; Use the minibuffer whilst in the minibuffer -(setopt completion-cycle-threshold 1) ; TAB cycles candidates -(setopt completions-detailed t) ; Show annotations -(setopt tab-always-indent 'complete) ; When I hit TAB, try to complete, otherwise, indent -(setopt completion-styles '(basic initials substring)) ; Different styles to match input to candidates - -(setopt completion-auto-help 'always) ; Open completion always; `lazy' another option -(setopt completions-max-height 20) ; This is arbitrary -(setopt completions-detailed t) -(setopt completions-format 'one-column) -(setopt completions-group t) -(setopt completion-auto-select 'second-tab) ; Much more eager -;(setopt completion-auto-select t) ; See `C-h v completion-auto-select' for more possible values - -(keymap-set minibuffer-mode-map "TAB" 'minibuffer-complete) ; TAB acts more like how it does in the shell - -;; For a fancier built-in completion option, try ido-mode, -;; icomplete-vertical, or fido-mode. See also the file extras/base.el - -;(icomplete-vertical-mode) -;(fido-vertical-mode) -;(setopt icomplete-delay-completions-threshold 4000) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Interface enhancements/defaults -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Mode line information -(setopt line-number-mode t) ; Show current line in modeline -(setopt column-number-mode t) ; Show column as well - -(setopt x-underline-at-descent-line nil) ; Prettier underlines -(setopt switch-to-buffer-obey-display-actions t) ; Make switching buffers more consistent - -(setopt show-trailing-whitespace nil) ; By default, don't underline trailing spaces -(setopt indicate-buffer-boundaries 'left) ; Show buffer top and bottom in the margin - -;; Enable horizontal scrolling -(setopt mouse-wheel-tilt-scroll t) -(setopt mouse-wheel-flip-direction t) - -;; We won't set these, but they're good to know about -;; -;; (setopt indent-tabs-mode nil) -;; (setopt tab-width 4) - -;; Misc. UI tweaks -(blink-cursor-mode -1) ; Steady cursor -(pixel-scroll-precision-mode) ; Smooth scrolling - -;; Use common keystrokes by default -(cua-mode) - -;; Display line numbers in programming mode -(add-hook 'prog-mode-hook 'display-line-numbers-mode) -(setopt display-line-numbers-width 3) ; Set a minimum width - -;; Nice line wrapping when working with text -(add-hook 'text-mode-hook 'visual-line-mode) - -;; Modes to highlight the current line with -(let ((hl-line-hooks '(text-mode-hook prog-mode-hook))) - (mapc (lambda (hook) (add-hook hook 'hl-line-mode)) hl-line-hooks)) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Tab-bar configuration -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Show the tab-bar as soon as tab-bar functions are invoked -(setopt tab-bar-show 1) - -;; Add the time to the tab-bar, if visible -(add-to-list 'tab-bar-format 'tab-bar-format-align-right 'append) -(add-to-list 'tab-bar-format 'tab-bar-format-global 'append) -(setopt display-time-format "%a %F %T") -(setopt display-time-interval 1) -(display-time-mode) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Theme -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(use-package emacs - :config - (load-theme 'modus-vivendi)) ; for light theme, use modus-operandi - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Optional extras -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Uncomment the (load-file …) lines or copy code from the extras/ elisp files -;; as desired - -;; UI/UX enhancements mostly focused on minibuffer and autocompletion interfaces -;; These ones are *strongly* recommended! -;(load-file (expand-file-name "extras/base.el" user-emacs-directory)) - -;; Packages for software development -;(load-file (expand-file-name "extras/dev.el" user-emacs-directory)) - -;; Vim-bindings in Emacs (evil-mode configuration) -;(load-file (expand-file-name "extras/vim-like.el" user-emacs-directory)) - -;; Org-mode configuration -;; WARNING: need to customize things inside the elisp file before use! See -;; the file extras/org-intro.txt for help. -;(load-file (expand-file-name "extras/org.el" user-emacs-directory)) - -;; Email configuration in Emacs -;; WARNING: needs the `mu' program installed; see the elisp file for more -;; details. -;(load-file (expand-file-name "extras/email.el" user-emacs-directory)) - -;; Tools for academic researchers -;(load-file (expand-file-name "extras/researcher.el" user-emacs-directory)) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Built-in customization framework -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(package-selected-packages '(which-key))) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - ) - -(setq gc-cons-threshold (or bedrock--initial-gc-threshold 800000)) |