summaryrefslogtreecommitdiff
path: root/emacs/.emacs.d
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/.emacs.d')
-rw-r--r--emacs/.emacs.d/custom.el53
-rw-r--r--emacs/.emacs.d/init.el267
-rw-r--r--emacs/.emacs.d/org-mode.el118
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
- )