diff options
author | Bobby Bingham <koorogi@koorogi.info> | 2023-07-01 12:38:24 -0500 |
---|---|---|
committer | Bobby Bingham <koorogi@koorogi.info> | 2023-07-01 12:38:24 -0500 |
commit | 7ff96082562e29652ecd7bed31e3a11cd0402115 (patch) | |
tree | f68d0863889a3d67ca46256647f1f02d99595ffe /emacs/.emacs.d | |
parent | b71140bb54cf246a30f768b526e5f0737a45dc7c (diff) |
Diffstat (limited to 'emacs/.emacs.d')
-rw-r--r-- | emacs/.emacs.d/custom.el | 53 | ||||
-rw-r--r-- | emacs/.emacs.d/init.el | 267 | ||||
-rw-r--r-- | emacs/.emacs.d/org-mode.el | 118 |
3 files changed, 0 insertions, 438 deletions
diff --git a/emacs/.emacs.d/custom.el b/emacs/.emacs.d/custom.el deleted file mode 100644 index c5b8b08..0000000 --- a/emacs/.emacs.d/custom.el +++ /dev/null @@ -1,53 +0,0 @@ -(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. - '(ansi-color-faces-vector - [default bold shadow italic underline success warning error]) - '(awesome-tray-mode-line-active-color "#2fafff") - '(awesome-tray-mode-line-inactive-color "#323232") - '(custom-safe-themes - '("c5ded9320a346146bbc2ead692f0c63be512747963257f18cc8518c5254b7bf5" "824d07981667fd7d63488756b6d6a4036bae972d26337babf7b56df6e42f2bcd" "13fa7a304bd53aa4c0beec4c25c4f811de499bce9deb326798265ed0015b3b78" "a41b81af6336bd822137d4341f7e16495a49b06c180d6a6417bf9fd1001b6d2b" "63df625509cec7b2b7deba1d48ef07ffbee99c735a95d130ad9d1fc3df8b9a34" "55c2069e99ea18e4751bd5331b245a2752a808e91e09ccec16eb25dadbe06354" "5f1bd7f67dc1598977e69c6a0aed3c926f49581fdf395a6246f9bc1df86cb030" "6731049cee8f7cbd542d7b3e1c551f3fab716a92119bd7c77f0bd1ef20849fb8" "28caf31770f88ffaac6363acfda5627019cac57ea252ceb2d41d98df6d87e240" "947190b4f17f78c39b0ab1ea95b1e6097cc9202d55c73a702395fc817f899393" "35b0b0e531731e270708ddb342dc2e576a31fb298dcbc56a206596a43afac54f" "274fa62b00d732d093fc3f120aca1b31a6bb484492f31081c1814a858e25c72e" default)) - '(flymake-error-bitmap '(flymake-double-exclamation-mark modus-theme-fringe-red)) - '(flymake-note-bitmap '(exclamation-mark modus-theme-fringe-cyan)) - '(flymake-warning-bitmap '(exclamation-mark modus-theme-fringe-yellow)) - '(hl-sexp-background-color "#efebe9") - '(hl-todo-keyword-faces - '(("HOLD" . "#cfdf30") - ("TODO" . "#feacd0") - ("NEXT" . "#b6a0ff") - ("THEM" . "#f78fe7") - ("PROG" . "#00d3d0") - ("OKAY" . "#4ae8fc") - ("DONT" . "#80d200") - ("FAIL" . "#ff8059") - ("BUG" . "#ff8059") - ("DONE" . "#44bc44") - ("NOTE" . "#f0ce43") - ("KLUDGE" . "#eecc00") - ("HACK" . "#eecc00") - ("TEMP" . "#ffcccc") - ("FIXME" . "#ff9977") - ("XXX+" . "#f4923b") - ("REVIEW" . "#6ae4b9") - ("DEPRECATED" . "#bfd9ff"))) - '(ibuffer-deletion-face 'modus-theme-mark-del) - '(ibuffer-filter-group-name-face 'modus-theme-mark-symbol) - '(ibuffer-marked-face 'modus-theme-mark-sel) - '(ibuffer-title-face 'modus-theme-pseudo-header) - '(package-selected-packages - '(scad-mode zig-mode windswap projectile-speedbar flycheck prettier-js calfw-org calfw org-ql org-super-agenda org-pomodoro org doom-themes counsel-projectile ivy slime magit company-quickhelp lsp-ui yasnippet typescript-mode company-lsp company-posframe company-c-headers telephone-line dracula-theme evil use-package)) - '(show-paren-mode t) - '(vc-annotate-background-mode nil) - '(xterm-color-names - ["#000000" "#ff8059" "#44bc44" "#eecc00" "#2fafff" "#feacd0" "#00d3d0" "#a8a8a8"]) - '(xterm-color-names-bright - ["#181a20" "#f4923b" "#80d200" "#cfdf30" "#79a8ff" "#f78fe7" "#4ae8fc" "#ffffff"])) - -(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. - '(default ((t (:family "Iosevka Term" :foundry "UKWN" :slant normal :weight light :height 120 :width normal))))) diff --git a/emacs/.emacs.d/init.el b/emacs/.emacs.d/init.el deleted file mode 100644 index b7bd392..0000000 --- a/emacs/.emacs.d/init.el +++ /dev/null @@ -1,267 +0,0 @@ -;; --- FUNCTIONS --- -(defun load-if-exists (filename) - (when (file-exists-p filename) (load-file filename))) - -(defun bab/disable-line-numbers (&optional dummy dummy2) - (display-line-numbers-mode -1)) - -(defun bab/sidebar-toggle () - "Toggle both `dired-sidebar' and `ibuffer-sidebar'." - (interactive) - (dired-sidebar-toggle-sidebar) - (ibuffer-sidebar-toggle-sidebar)) - -;; --- BUG WORKAROUNDS --- - -;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34341 -;; Affects ability to use the gnu package repository on gnutls 3.6. -;; Should recheck when emacs >26 is out. -(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3") - -;; https://stackoverflow.com/questions/26108655/ -;; https://lists.gnu.org/archive/html/bug-gnu-emacs/2014-12/msg00781.html -;; Apparently the gnu package repository has had unverifiable -;; signatures since 2014 and nobody cares ¯\_(ツ)_/¯ -(setq package-check-signature nil) - -;; --- TERMINAL SUPPORT --- -(add-to-list 'term-file-aliases '("st-256color" . "tmux-256color")) - -;; --- PACKAGE REPOSITORIES --- -(require 'package) -(setq package-archives - '(("gnu" . "https://elpa.gnu.org/packages/") - ("melpa" . "https://melpa.org/packages/"))) - -(package-initialize) - -(require 'use-package) - -(require 'whitespace) -(require 'yasnippet) -(require 'evil) - -;; --- GLOBAL MODES --- -(evil-mode 1) ;; Make emacs usable -(global-hl-line-mode 1) ;; Highlight the line containing the cursor -(show-paren-mode 1) ;; Highlight matching parenthesis - -(use-package ivy - :config - (setq ivy-use-virtual-buffers t - enable-recursive-minibuffers t) - (ivy-mode 1)) - -(use-package flycheck - :ensure t - :config - (add-to-list 'display-buffer-alist - `(,(rx bos "*Flycheck errors*" eos) - (display-buffer-reuse-window - display-buffer-in-side-window) - (side . bottom) - (reusable-frames . visible) - (window-height . 0.33))) - :init - (global-flycheck-mode)) - -;; --- ORG MODE --- -(use-package org-ql - :demand t - :mode - (("\\.org$" . org-mode)) - :init - (add-to-list 'auto-mode-alist `(,(expand-file-name "~/org/") . org-mode)) - :bind - (("C-c a" . org-agenda)) - :hook - (org-agenda-finalize . bab/disable-line-numbers) - :config - (org-super-agenda-mode 1) - (load-file "~/.emacs.d/org-mode.el")) - -(use-package calfw-org - :demand t) - -;; --- PROJECTS --- -(use-package projectile - :demand t - :config - (setq projectile-completion-system 'ivy) - (projectile-mode 1) - :bind-keymap - ("C-c p" . projectile-command-map)) - -(use-package counsel-projectile - :config (counsel-projectile-mode 1) - :after (ivy projectile)) - -;; --- WINDOW MANAGEMENT --- -(windmove-default-keybindings 'control) -(use-package windswap - :init - (windswap-default-keybindings 'control 'shift)) - -;; --- GIT INTEGRATION --- -(use-package magit - :commands - (magit-status) - :bind - (("<f12>" . magit-status)) - :hook - (magit-status-mode . bab/disable-line-numbers)) - -;; --- FILE TREE / BUFFER LIST --- -(use-package projectile-speedbar - :bind - ("<f8>" . projectile-speedbar-toggle) - :hook - (speedbar-mode . bab/disable-line-numbers)) - -;; --- AUTO-COMPLETE --- -(use-package company - :config - (global-company-mode) - (require 'color) - (let ((bg "midnight blue")) - (set-face-attribute 'company-tooltip nil :background bg) - (set-face-attribute 'company-scrollbar-bg nil :background (color-lighten-name bg 20)) - (set-face-attribute 'company-scrollbar-fg nil :background (color-lighten-name bg 40))) - ) - -(use-package company-posframe - :after company - :config - (setq company-posframe-show-indicator nil - company-posframe-quickhelp-delay nil) - (company-posframe-mode 1) - ) - -(use-package company-c-headers - :after company - :config (push 'company-c-headers company-backends)) - -(use-package company-lsp - :after company - :config (push 'company-lsp company-backends)) - -;; --- LANGUAGE SERVERS --- -(use-package lsp-mode - :hook (typescript-mode . lsp-deferred) - :config - (add-to-list 'lsp-language-id-configuration '(zig-mode . "zig")) - (lsp-register-client - (make-lsp-client - :new-connection (lsp-stdio-connection "/opt/zls/zls") - :major-modes '(zig-mode) - :server-id 'zls)) - :commands (lsp lsp-deferred)) - -(use-package lsp-ui - :hook (lsp-mode . lsp-ui-mode)) - -(use-package company-lsp - :commands company-lsp) - -;; --- AUTO-FORMAT ON SAVE --- -(use-package prettier-js - :config - (setq prettier-js-args - '("--trailing-comma" "all" - "--use-tabs" "true" - "--print-width" "110" - "--arrow-parens" "avoid" - "--end-of-line" "auto")) - :hook (typescript-mode . prettier-js-mode)) - -;; --- THEME --- -(use-package doom-themes - :config - (setq doom-themes-enable-bold t - doom-themes-enable-italic t) - (load-theme 'doom-palenight t) - (doom-themes-visual-bell-config) - (doom-themes-neotree-config) - (doom-themes-org-config)) - -;; --- TODO --- -;;(require 'undo-tree) - -;; --- POWERLINE --- -(require 'telephone-line) -(telephone-line-mode 1) - -;; --- WHITESPACE --- -;; Show whitespace for prog-mode, but not other modes -(define-global-minor-mode bab/global-whitespace-mode whitespace-mode - (lambda () (when (derived-mode-p 'prog-mode) (whitespace-mode)))) -(bab/global-whitespace-mode 1) - -;; --- INDENTATION --- -;; Two callable functions for enabling/disabling tabs in Emacs -(defun disable-tabs () (setq indent-tabs-mode nil)) -(defun enable-tabs () - (local-set-key (kbd "TAB") 'tab-to-tab-stop) - (setq indent-tabs-mode t)) - -;; Hooks to Enable Tabs -(add-hook 'prog-mode-hook 'enable-tabs) -;; Hooks to Disable Tabs -;; Using tabs in lisp just leads to mixing tabs and spaces, which is yucky -(add-hook 'lisp-mode-hook 'disable-tabs) -(add-hook 'emacs-lisp-mode-hook 'disable-tabs) -(add-hook 'zig-mode-hook 'disable-tabs) - -;; --- GENERAL PREFERENCES --- -(setq-default - ;; --- THEME CONFIGURATION --- - ;;dracula-enlarge-headings nil - - ;; -- TABS AND INDENTATION -- - ;; Set tab stops to every four spaces - tab-width 4 - ;; Tab key indents if cursor at start of line, otherwise inserts tab character - tab-always-indent nil - ;; Backspace deletes one whole tab character - backward-delete-char-untabify-method nil - - ;; --- MOUSE --- - ;; Don't speed up during continued mouse wheel scrolling - mouse-wheel-progressive-speed nil - - ;; -- C LANGUAGE -- - ;; Overall tab and brace placement style - c-default-style "linux" - ;; Indent width - c-basic-offset 4 - - ;; -- LISP -- - inferior-lisp-program "sbcl" - - ;; -- WHITESPACE -- - ;; Clean up trailing whitespace automatically on save - whitespace-action '(auto-cleanup) - ;; Configure what to highlight. - ;; Main difference from default is that for overlong lines, - ;; we only highlight the overlong tail, not the whole line - whitespace-style - '(face trailing tabs spaces lines-tail empty indentation space-after-tab - space-before-tab space-mark tab-mark) - - ;; -- MISC -- - ;; Display line numbers, relative to the current line - display-line-numbers 'relative - ;; Don't show the emacs startup screen - inhibit-startup-screen t - ) - -(let ((fg "RoyalBlue4") - (bg 'unspecified) - (faces '(whitespace-hspace whitespace-newline whitespace-space whitespace-tab))) - (dolist (face faces) - (set-face-attribute face nil :foreground fg :background bg))) - -(load-if-exists "~/.emacs.d/local.el") - -(setq custom-file "~/.emacs.d/custom.el") -(load-file custom-file) diff --git a/emacs/.emacs.d/org-mode.el b/emacs/.emacs.d/org-mode.el deleted file mode 100644 index db8e5db..0000000 --- a/emacs/.emacs.d/org-mode.el +++ /dev/null @@ -1,118 +0,0 @@ -;; --- CUSTOM DEFINITIONS AND FUNCTIONS --- -(defun bab/org-get-todo (entry) - (org-entry-get (get-text-property 0 'org-marker entry) "TODO" nil)) - -(defun bab/todo-column-display-filter (title value) - (when (and value (not (string= value "")) - (or (string= title "SCHEDULED") - (string= title "DEADLINE"))) - (format-time-string "%Y-%m-%d" (org-time-string-to-time value)))) - -(setq org-agenda-custom-commands - '(("w" "Work Agenda" - ((org-ql-block '(clocked :on today) - ((org-ql-block-header "Clocked Today"))) - (agenda "" - ((org-agenda-span 1) - (org-agenda-sorting-strategy '(time-up scheduled-down priority-down deadline-up)) - (org-super-agenda-groups - '((:todo "WAIT" :order 9) - (:anything t))))) - (alltodo "" - ((org-super-agenda-groups - '((:discard (:deadline t)) - (:discard (:scheduled t)) - (:name "Time Logging" :todo "TLG") - (:name "Some Day" :anything t))) - (org-agenda-overriding-header "")))) - ((org-agenda-files '("~/org/work/tasks")))) - ("h" "Home Agenda" - ((agenda "" ((org-agenda-span 1))) - (org-ql-block '(and (todo) - (not (deadline)) - (not (scheduled))) - ((org-ql-block-header "Some Day")))) - ((org-agenda-files '("~/org/home/tasks")))) - )) - -(setq org-capture-templates - '(("d" "Development" entry (file "~/org/work/tasks/dev.org") " -* %^{Description} - :PROPERTIES: - :ORDERED: - :MERGE_REQUEST: ???%? - :END: -** TODO [#C] DEV: %\\1 -** TODO [#B] PQA1: %\\1 -" :empty-lines 1) - ("D" "DLG Development" entry (file "~/org/work/tasks/dev.org") " -* %^{Description} - :PROPERTIES: - :ORDERED: - :DLG: ???%? - :END: -** TODO [#C] DEV: %\\1 -** TODO [#B] PQA1: %\\1 -** TODO [#B] QA1: %\\1 -** TODO [#A] PQA2: %\\1 -** TODO [#A] QA2: %\\1 -" :empty-lines 1) - ("p" "PQA" entry (file "~/org/work/tasks/pqa.org") " -* TODO %^{Description} - :PROPERTIES: - :DLG: ???%? - :MERGE_REQUEST: ???%? - :END: -" :empty-lines 1) - ("w" "Work task" entry (file "~/org/work/tasks/misc.org") " -* TODO %^{Description} -" :empty-lines 1) - ("m" "Meeting" entry (file "~/org/work/tasks/meetings.org") " -* MEETING %^{Description} -" :empty-lines 1))) - -;; --- CONFIGURATION --- -(define-key global-map "\C-cc" 'org-capture) - -(setq - ;; Use priorities A-E, default priority is C - org-highest-priority ?A - org-lowest-priority ?E - org-default-priority ?C - - ;; TODO states and sequences - org-todo-keywords - '((sequence "TODO(t)" "STARTED(s!)" "WAIT(w!)" "|" "DONE(d!)") - (sequence "|" "CANCELED(x@)")) - org-todo-keyword-faces - '(("WAIT" . (:foreground "SteelBlue1" :background "DodgerBlue4")) - ("STARTED" . (:foreground "plum1" :background "orchid4")) - ("MEETING" . (:foreground "DarkSlateGray1" :background "aquamarine4")) - ("CANCELED" . (:foreground "snow4")) - ("READ" . (:foreground "PaleGreen1" :background "dark green")) - ("CHORE" . (:foreground "goldenrod1" :background "gray25"))) - - ;; Agenda - org-agenda-files '("~/org/home/tasks" "~/org/work/tasks" "~/org/tasks") - org-agenda-dim-blocked-tasks 'invisible - org-agenda-span 7 - org-agenda-show-all-dates t - org-agenda-skip-deadline-if-done t - org-agenda-skip-deadline-prewarning-if-scheduled t - org-agenda-skip-scheduled-if-done t - org-agenda-start-on-weekday nil - - ;; Column view - org-overriding-columns-format "%1PRIORITY %DEADLINE %TODO %CLOCKSUM_T(TODAY) %ESTIMATE{est+} %TLP %ITEM" - org-columns-modify-value-for-display-function #'bab/todo-column-display-filter - - ;; Misc configuration - org-deadline-warning-days 7 - org-default-notes-file "~/org/notes" - org-enforce-todo-dependencies t - org-fast-tag-selection-single-key (quote expert) - org-log-into-drawer "LOGBOOK" - org-return-follows-link t - org-reverse-note-order t - org-use-property-inheritance t - ) |