From 2261cd070869b32fe39824edef27daf8ced168fc Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Thu, 11 Jan 2024 17:11:02 -0500 Subject: [PATCH] [emacs] Fixing doom emacs for real --- emacs/.config/doom/autoload/hlissner.el | 34 -- emacs/.config/doom/config.el | 49 +-- emacs/.config/doom/config.el.bak | 348 ------------------ emacs/.config/doom/custom.el | 8 +- emacs/.config/doom/init.el | 25 +- emacs/.config/doom/init.el.bak | 134 ------- emacs/.config/doom/packages.el | 77 ++-- .../.config/doom/snippets/org-mode/jira-link | 5 - 8 files changed, 68 insertions(+), 612 deletions(-) delete mode 100644 emacs/.config/doom/autoload/hlissner.el delete mode 100644 emacs/.config/doom/config.el.bak delete mode 100644 emacs/.config/doom/init.el.bak delete mode 100644 emacs/.config/doom/snippets/org-mode/jira-link diff --git a/emacs/.config/doom/autoload/hlissner.el b/emacs/.config/doom/autoload/hlissner.el deleted file mode 100644 index 9514527..0000000 --- a/emacs/.config/doom/autoload/hlissner.el +++ /dev/null @@ -1,34 +0,0 @@ -;;; private/hlissner/autoload.el -*- lexical-binding: t; -*- - -;;;###autoload -(defun +hlissner/find-in-dotfiles () - "Open a file somewhere in ~/.dotfiles via a fuzzy filename search." - (interactive) - (doom-project-find-file (expand-file-name "~/.dotfiles"))) - -;;;###autoload -(defun +hlissner/browse-dotfiles () - "Browse the files in ~/.dotfiles." - (interactive) - (doom-project-browse (expand-file-name "~/.dotfiles"))) - -;;;###autoload -(defun +hlissner/find-notes-for-major-mode (&optional arg) - "TODO" - (interactive "P") - (let ((default-directory (expand-file-name "code/" +org-dir))) - (if arg - (call-interactively #'find-file) - (find-file - (expand-file-name (concat (string-remove-suffix "-mode" (symbol-name major-mode)) ".org")))))) - -;;;###autoload -(defun +hlissner/find-notes-for-project (&optional arg) - "TODO" - (interactive "P") - (let ((project-root (doom-project-name 'nocache)) - (default-directory (expand-file-name "projects/" +org-dir))) - (if arg - (call-interactively #'find-file) - (find-file - (expand-file-name (concat project-root ".org")))))) diff --git a/emacs/.config/doom/config.el b/emacs/.config/doom/config.el index 66d6aaa..3694624 100644 --- a/emacs/.config/doom/config.el +++ b/emacs/.config/doom/config.el @@ -3,28 +3,28 @@ (setq user-full-name "Colin Powell" user-mail-address "colin@unbl.ink") -(pixel-scroll-precision-mode t) -(nyan-mode) ;; progress in the form of a rainbow cat. +(nyan-mode) (setq doom-theme 'doom-one doom-font (font-spec :family "Iosevka" :size 14 :weight 'regular) doom-big-font (font-spec :family "Iosevka" :size 18 :weight 'regular) doom-variable-pitch-font (font-spec :family "Overpass" :size 12)) -;; This determines the style of line numbers in effect. If set to `nil', line -;; numbers are disabled. For relative line numbers, set this to `relative'. (setq display-line-numbers-type t) -(add-hook 'after-init-hook #'global-emojify-mode) ;; emojis?! -(add-hook 'prog-mode-hook #'goto-address-mode) ;; linify links! - -(setq shell-file-name (executable-find "bash")) -(setq-default vterm-shell (executable-find "fish")) -(setq-default explicit-shell-file-name (executable-find "fish")) - ;; change `org-directory'. It must be set before org loads! (setq org-directory "~/var/org/") +(load! "+agenda-fix") +(defun vulpea-agenda-files-update (&rest _) + (setq org-agenda-files vulpea-project-files)) + +(setq org-roam-directory "~/var/org/" + org-roam-dailies-directory "dailies") + +(advice-add 'org-agenda :before #'vulpea-agenda-files-update) +(advice-add 'org-todo-list :before #'vulpea-agenda-files-update) + (map! ;; Easier window movement :n "C-h" 'evil-window-left :n "C-j" 'evil-window-down @@ -35,7 +35,6 @@ "C-h" 'evil-window-left "C-l" 'evil-window-right)) - (defun unfill-paragraph () "Takes a multi-line paragraph and makes it into a single line of text." (interactive) @@ -66,35 +65,9 @@ (unless (string= "-" project-name) (format (if (buffer-modified-p) " ◉ %s" "  ●  %s") project-name)))))) -(load! "+agenda-fix") -(defun vulpea-agenda-files-update (&rest _) - (setq org-agenda-files vulpea-project-files)) - -(setq org-roam-directory "~/var/org/" - org-roam-dailies-directory "dailies") - -(advice-add 'org-agenda :before #'vulpea-agenda-files-update) -(advice-add 'org-todo-list :before #'vulpea-agenda-files-update) - -(setq display-line-numbers-type 'normal) -(remove-hook! '(org-mode-hook) #'display-line-numbers-mode) - (setq mm-text-html-renderer 'w3m) (setq w3m-fill-column 88) -(after! eshell - (set-eshell-alias! - "djsh" "~/src/github.com/sureapp/surepreme/make shell" - "djpytest" "DJANGO_SETTINGS_MODULE=ff.settings.ci pytest --reuse-db --black --flake8 --isort --durations=3 $*" - "surep" "cd ~/src/github.com/sureapp/surepreme/" - "ffdev" "ssh dev-ff.local " - "f" "(other-window 1) && find-file $1" - "l" "ls -lh" - "d" "dired $1" - "gl" "(call-interactively 'magit-log-current)" - "gs" "magit-status" - "gc" "magit-commit")) - (setq lsp-lens-enable 1 lsp-ui-sideline-enable 1 lsp-enable-links 1 diff --git a/emacs/.config/doom/config.el.bak b/emacs/.config/doom/config.el.bak deleted file mode 100644 index 22605d7..0000000 --- a/emacs/.config/doom/config.el.bak +++ /dev/null @@ -1,348 +0,0 @@ -(setq user-full-name "Colin Powell" - user-mail-address "colin@unbl.ink") - -;;(setq ivy-read-action-function #'ivy-hydra-read-action) - -(defun file-notify-rm-all-watches () - "Remove all existing file notification watches from Emacs." - (interactive) - (maphash - (lambda (key _value) - (file-notify-rm-watch key)) - file-notify-descriptors)) - -(setq doom-theme 'moe-dark - doom-font (font-spec :family "IBM Plex Mono" :size 13 :weight 'regular) - doom-big-font (font-spec :family "IBM Plex Mono" :size 17 :weight 'regular) - doom-variable-pitch-font (font-spec :family "Overpass" :size 12)) - -;; Applies to current frame -;(set-frame-parameter nil 'internal-border-width 10) ; applies to the current frame -;; If we create new frames (via emacsclient) this will do the trick -;(add-to-list 'default-frame-alist '(internal-border-width . 10)) - -(nyan-mode) ;; progress in the form of a rainbow cat. -(add-hook 'after-init-hook #'global-emojify-mode) ;; emojis?! -(add-hook 'prog-mode-hook #'goto-address-mode) ;; linify links! - -(setq eww-search-prefix "https://search.unbl.ink/?q=") - -(map! ;; Easier window movement - :n "C-h" 'evil-window-left - :n "C-j" 'evil-window-down - :n "C-k" 'evil-window-up - :n "C-l" 'evil-window-right - - (:map evil-treemacs-state-map - "C-h" 'evil-window-left - "C-l" 'evil-window-right) - - :leader - (:prefix "f" - :desc "Find file in dotfiles" "t" #'+hlissner/find-in-dotfiles - :desc "Browse dotfiles" "T" #'+hlissner/browse-dotfiles) - (:prefix "o" - :desc "(H)ckrnews" "H" #'hackernews - :desc "(R)SS" "R" #'=rss - :desc "(M)ail" "M" #'=notmuch - :desc "(L)obste.rs" "L" #'ivy-lobsters) - (:prefix "b" - :desc "Black format buffer" "f" #'blacken-buffer - :desc "isort buffer" "I" #'py-isort-buffer - :desc "Links in buffer" "l" #'ace-link-org) - (:prefix "s" - :desc "Copy link hints" "c" #'link-hint-copy-link - :desc "Search the web" "w" #'web-search - :desc "Goto URL in eww" "u" #'eww-browse-url - :desc "Search in eww" "3" #'eww-search-words - :desc "Search all the things" "g" #'deadgrep)) - -(setq libmpdel-hostname "mpd.play.unbl.ink") - -(defun mpdel-playlist-play () - "Start playing the song at point." - (interactive) - (if (derived-mode-p 'mpdel-playlist-current-playlist-mode) - (libmpdel-play-song (navigel-entity-at-point)) - (mpdel-core-insert-current-playlist))) - -(map! :leader - (:prefix "-" - :desc "MPD Open playlist" "-" #'mpdel-playlist-open - :desc "MPD Remove at point" "d" #'mpdel-playlist-delete - :desc "MPD Start at point" "s" #'mpdel-playlist-play - :desc "MPD Next track" "n" #'libmpdel-playback-next - :desc "MPD Previous track" "p" #'libmpdel-playback-previous)) - -(setq elfeed-protocol-fever-maxsize 100) -(setq elfeed-feeds '(("fever+https://secstate@rss.unbl.ink" - :api-url "https://rss.unbl.ink/fever/" - :password "delegator flaxseed request washer" - :autotags '(("rss.unbl.ink"))))) - -;(setq elfeed-protocol-log-trace t) -(setq elfeed-protocol-fever-maxsize 50) -;(setq elfeed-log-level 'debug) -(elfeed-protocol-enable) - -(map! :leader - (:prefix "r" - :desc "Open Elfeed" "r" #'elfeed - :desc "Update Elfeed" "u" #'elfeed-update)) - -;; Schedule feed update for every 15 minutes -(run-at-time 300 300 - (lambda () (when (= elfeed-curl-queue-active 0) - (elfeed-update)))) -;;;;; Database auto-save - - ;; Save elfeed db automatically, because if Emacs crashes or is killed (which happens to me - ;; occasionally, especially since I develop packages in a single instance), we'd lose the db - ;; updates not saved. -(unless (cl-loop for timer in timer-idle-list - thereis (equal (aref timer 5) #'elfeed-db-save)) - (run-with-idle-timer 400 'repeat #'elfeed-db-save)) - -(setq elfeed-search-filter "@2-days-ago +unread") -(defun elfeed-search-format-date (date) - (format-time-string "%Y-%m-%d %H:%M" (seconds-to-time date))) - -; Serif font in Elfeed -(add-hook! 'elfeed-mode-hook 'variable-pitch-mode) -(add-hook! 'elfeed-show-mode-hook (text-scale-set 1.2)) - -(defun unfill-paragraph () - "Takes a multi-line paragraph and makes it into a single line of text." - (interactive) - (let ((fill-column (point-max))) - (fill-paragraph nil))) - -(define-key global-map "\M-z" 'unfill-paragraph) - -(flycheck-define-checker vale - "A checker for prose" - :command ("vale" "--output" "line" - source) - :standard-input nil - :error-patterns - ((error line-start (file-name) ":" line ":" column ":" (id (one-or-more (not (any ":")))) ":" (message) line-end)) - :modes (markdown-mode org-mode text-mode) - ) -(add-to-list 'flycheck-checkers 'vale 'append) - -(setq +format-on-save-enabled-modes - '(not emacs-lisp-mode ; elisp's mechanisms are good enough - sql-mode ; sqlformat is currently broken - tex-mode ; latexindent is broken - org-mode - html-mode - latex-mode)) - -(load! "+agenda-fix") -(defun vulpea-agenda-files-update (&rest _) - (setq org-agenda-files vulpea-project-files)) - -(advice-add 'org-agenda :before #'vulpea-agenda-files-update) -(advice-add 'org-todo-list :before #'vulpea-agenda-files-update) - -(add-hook 'org-mode-hook #'doom-disable-line-numbers-h) - -(after! org - (setq org-directory (expand-file-name "~/var/org/") - org-ellipsis "…" - org-image-actual-width '(600) - org-log-done 'time - org-fontify-quote-and-verse-blocks t - org-agenda-dim-blocked-tasks nil - org-pretty-entities t - org-fancy-priorities-list '("🅰" "🅱" "🅲" "🅳" "🅴") - org-modules '(ol-eshell - ol-notmuch - ob-eval - ob-exp - ob-http - org-id))) - -;; Refiling -(setq org-refile-targets '((vulpea-project-files :maxlevel . 9))) -(setq org-outline-path-complete-in-steps nil) ; Refile in a single go -(setq org-refile-use-outline-path t) ; Show full paths for refiling - -(setq +inbox-file "~/var/org/index.org") -(defun +open-inbox-file () - (interactive) - "Opens the inbox file" - (find-file +inbox-file)) - -(map! - :leader - :desc "Open inbox" "I" #'+open-inbox-file - :desc "Open today" "d" #'org-roam-dailies-goto-today - :desc "Save all org buffers" "A" #'org-save-all-org-buffers) - -(setq org-roam-directory "~/var/org/") -(setq org-roam-dailies-directory "dailies") - -(require 'justify-kp) -;(setq nov-text-width t) -(setq nov-text-width 100) - -(defun my-nov-window-configuration-change-hook () - (my-nov-post-html-render-hook) - (remove-hook 'window-configuration-change-hook - 'my-nov-window-configuration-change-hook - t)) - -(defun my-nov-post-html-render-hook () - (if (get-buffer-window) - (let ((max-width (pj-line-width)) - buffer-read-only) - (save-excursion - (goto-char (point-min)) - (while (not (eobp)) - (when (not (looking-at "^[[:space:]]*$")) - (goto-char (line-end-position)) - (when (> (shr-pixel-column) max-width) - (goto-char (line-beginning-position)) - (pj-justify))) - (forward-line 1)))) - (add-hook 'window-configuration-change-hook - 'my-nov-window-configuration-change-hook - nil t))) -(add-hook 'nov-post-html-render-hook 'my-nov-post-html-render-hook) - -(defun my-nov-font-setup () - (face-remap-add-relative 'variable-pitch :family "Noto Serif Regular" - :height 1.0 - :size 16)) -(add-hook 'nov-mode-hook 'my-nov-font-setup) -(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode)) - -;(add-hook 'nov-mode-hook 'variable-pitch-mode) - -(setq mm-text-html-renderer 'w3m) -(setq w3m-fill-column 88) - -(setq message-kill-buffer-on-exit t) -(setq message-auto-save-directory "~/Mail/colin@unbl.ink/Drafts/") -(setq message-directory "~/Mail/colin@unbl.ink/") - -;; sendmail-program "/usr/local/bin/msmtpq" <--- this doesn't work as advertised right now -(setq send-mail-function 'sendmail-send-it - sendmail-program "/usr/local/bin/msmtp" - mail-specify-envelope-from t - message-sendmail-f-is-evil t - message-sendmail-envelope-from 'header - message-sendmail-extra-arguments '("--read-envelope-from") - mail-envelope-from 'header) - -(setq notmuch-saved-searches '((:name "inbox" :query "tag:inbox" :key "i") - (:name "unread" :query "tag:inbox and tag:unread" :key "u") - (:name "jira" :query "tag:jira and date:yesterday..today" :key "j") - (:name "github" :query "tag:github and date:yesterday..today" :key "g"))) - -(after! notmuch - (set-popup-rule! "^\\*notmuch*" :ignore t) - ) - -(map! :leader - (:prefix "e" - :desc "(s)end queued mail" "s" #'smtpmail-send-queued-mail - :desc "Open (i)nbox" "i" #'=notmuch - :desc "Open (n)otmuch" "n" #'notmuch - :desc "(C)ompose mail" "c" #'notmuch-mua-new-mail)) - -(after! eshell - (set-eshell-alias! - "djtest" "DJANGO_SETTINGS_MODULE=ff.settings.ci python manage.py test $*" - "djpytest" "DJANGO_SETTINGS_MODULE=ff.settings.ci pytest --reuse-db --black --flake8 --isort --durations=3 $*" - "ffsh" "python ~/src/github.com/15five/fifteen5/manage.py shell_plus" - "ffdev" "ssh dev-ff.local " - "f" "(other-window 1) && find-file $1" - "l" "ls -lh" - "d" "dired $1" - "gl" "(call-interactively 'magit-log-current)" - "gs" "magit-status" - "gc" "magit-commit")) - -(setq lsp-lens-enable 1 - lsp-ui-sideline-enable 1 - lsp-enable-links 1 - lsp-headerline-breadcrumb-enable 1 - lsp-modeline-code-actions-enable 1 - lsp-modeline-diagnostics-enable 1 - lsp-completion-show-detail 1 - lsp-file-watch-threshold nil - ) - -(use-package lsp-mode - :commands lsp - :diminish lsp-mode - :hook - (elixir-mode . lsp) - :init - (add-to-list 'exec-path "~/.emacs.d/var/elixir-ls")) - -(setq mastodon-instance-url "https://fosstodon.org" - mastodon-active-user "colin@unbl.ink") - -(map! :leader - (:prefix "=" - :desc "Open mastodon" "=" #'mastodon - :desc "Update Mastodon timeline" "u" #'mastodon-tl--update - :desc "More Mastodon timeline" "m" #'mastodon-tl--more - :desc "Toot to Mastodon" "t" #'mastodon-toot)) - -(load! "beancount") -(require 'beancount) -(add-to-list 'auto-mode-alist '("\\.beancount\\'" . beancount-mode)) - -(define-derived-mode - pandoc-view-mode - markdown-mode - "pandoc-view-mode" - "View pandoc processing of docx file using markdown mode." - (erase-buffer) - (let* ((pandoc (executable-find "pandoc"))) - (insert (shell-command-to-string - (concat pandoc " --wrap=none " (shell-quote-argument (buffer-file-name)) " -t markdown")))) - (not-modified) - (read-only-mode t)) - -(add-to-list 'auto-mode-alist '("\\.docx\\'" . pandoc-view-mode)) - -(after! magit - (magit-wip-after-save-mode t) - (magit-wip-after-apply-mode t) - - (setq magit-save-repository-buffers 'dontask - magit-repository-directories '(("~/src/" . 3) - ("~/.dotfiles/" . 0)) - magit-popup-display-buffer-action nil ;; Not sure why this is here, wonder what it does - magit-display-file-buffer-function #'switch-to-buffer-other-window - magithub-clone-default-directory "~/src" ;; I want my stuff to clone to ~/projects - magithub-preferred-remote-method 'ssh_url)) ;; HTTPS cloning is awful, i authenticate with ssh keys. - - ; Show gravatars in magit - (setq magit-revision-show-gravatars '("^Author: " . "^Commit: ")) - -(when (require 'openwith nil 'noerror) - (setq openwith-associations - (list - (list (openwith-make-extension-regexp - '("mpg" "mpeg" "mp3" "mp4" - "avi" "wmv" "wav" "mov" "flv" - "ogm" "ogg" "mkv")) - "vlc" - '(file)) - (list (openwith-make-extension-regexp - '("pdf" "ps" "ps.gz" "dvi")) - "zathura" - '(file)) - )) - (openwith-mode 1)) - -(setq org-reveal-root "file:///path-to-reveal.js") -(setq org-reveal-title-slide nil) - -;(require 'chatgpt-shell) diff --git a/emacs/.config/doom/custom.el b/emacs/.config/doom/custom.el index 1f16716..e8e82f9 100644 --- a/emacs/.config/doom/custom.el +++ b/emacs/.config/doom/custom.el @@ -1,16 +1,10 @@ -;;; custom.el --- -*- lexical-binding: t; -*- - -;; Copyright (C) 2021 Colin Powell - -;; Author: Colin Powell -;; Keywords: (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. '(magit-todos-insert-after '(bottom) nil nil "Changed by setter of obsolete option `magit-todos-insert-at'") - '(package-selected-packages '(vulpea org-appear olivetti)) + '(package-selected-packages '(w3m vulpea ef-themes)) '(safe-local-variable-values '((pytest-global-name . "docker-compose run --rm test --")))) (custom-set-faces ;; custom-set-faces was added by Custom. diff --git a/emacs/.config/doom/init.el b/emacs/.config/doom/init.el index 0bfaeec..8758da4 100644 --- a/emacs/.config/doom/init.el +++ b/emacs/.config/doom/init.el @@ -1,5 +1,3 @@ -;;; ../../.dotfiles/emacs/.config/doom/init.el -*- lexical-binding: t; -*- - ;;; init.el -*- lexical-binding: t; -*- ;; This file controls what Doom modules are enabled and what order they load @@ -27,7 +25,7 @@ ;;helm ; the *other* search engine for love and life ;;ido ; the other *other* search engine... ;;ivy ; a search engine for love and life - (vertico +icons) ; the search engine of the future + vertico ; the search engine of the future :ui ;;deft ; notational velocity for Emacs @@ -41,7 +39,7 @@ ligatures ; ligatures and symbols to make your code pretty again ;;minimap ; show a map of the code on the side modeline ; snazzy, Atom-inspired modeline, plus API - ;;nav-flash ; blink cursor line after big motions + nav-flash ; blink cursor line after big motions ;;neotree ; a project drawer, like NERDTree for vim ophints ; highlight the region an operation acts on (popup +defaults) ; tame sudden yet inevitable temporary windows @@ -96,7 +94,7 @@ editorconfig ; let someone else argue about tabs vs spaces ein ; tame Jupyter notebooks with emacs (eval +overlay) ; run code, run (also, repls) - ;;gist ; interacting with github gists + gist ; interacting with github gists lookup ; navigate your code and its documentation lsp ; M-x vscode magit ; a git porcelain for Emacs @@ -113,11 +111,11 @@ :os (:if IS-MAC macos) ; improve compatibility with macOS - tty ; improve the terminal Emacs experience + ;;tty ; improve the terminal Emacs experience :lang ;;agda ; types of types of types of types... - beancount ; mind the GAAP + ;;beancount ; mind the GAAP ;;(cc +lsp) ; C > C++ == 1 ;;clojure ; java with a lisp ;;common-lisp ; if you've seen one lisp, you've seen them all @@ -139,13 +137,13 @@ ;;fstar ; (dependent) types and (monadic) effects and Z3 ;;gdscript ; the language you waited for ;;(go +lsp) ; the hipster dialect - ;;(graphql +lsp) ; Give queries a REST + (graphql +lsp) ; Give queries a REST ;;(haskell +lsp) ; a language that's lazier than I am ;;hy ; readability of scheme w/ speed of python ;;idris ; a language you can depend on json ; At least it ain't XML ;;(java +lsp) ; the poster child for carpal tunnel syndrome - (javascript +lsp) ; all(hope(abandon(ye(who(enter(here)))))) + (javascript +lsp) ; all(hope(abandon(ye(who(enter(here)))))) ;;julia ; a better, faster MATLAB ;;kotlin ; a better, slicker Java(Script) ;;latex ; writing papers in Emacs has never been so fun @@ -158,19 +156,16 @@ ;;ocaml ; an objective camel (org ; organize your plain life in plain text +hugo - +dragndrop +gnuplot +ipython ; ipython support for babel +journal +pretty +roam2 - +pandoc ; pandoc integration into org's exporter - +pomodoro - +present) ; using Emacs for presentations + +pandoc) ; pandoc integration into org's exporter ;;php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more ;;purescript ; javascript, but functional - (python +lsp) ; beautiful is better than ugly + (python +lsp +pyright) ; beautiful is better than ugly ;;qt ; the 'cutest' gui framework ever ;;racket ; a DSL for DSLs ;;raku ; the artist formerly known as perl6 @@ -185,7 +180,7 @@ ;;solidity ; do you need a blockchain? No. ;;swift ; who asked for emoji variables? ;;terra ; Earth and Moon in alignment for performance. - (web +lsp) ; the tubes + web ; the tubes yaml ; JSON, but readable ;;zig ; C, but simpler diff --git a/emacs/.config/doom/init.el.bak b/emacs/.config/doom/init.el.bak deleted file mode 100644 index 4f470bf..0000000 --- a/emacs/.config/doom/init.el.bak +++ /dev/null @@ -1,134 +0,0 @@ -;;; init.el -*- lexical-binding: t; -*- - -;; This file controls what Doom modules are enabled and what order they load -;; in. Remember to run 'doom sync' after modifying it! - -;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's -;; documentation. There you'll find information about all of Doom's -;; modules and what flags they support. - -;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or -;; 'C-c g k' for non-vim users) to view its documentation. This works on -;; flags as well (those symbols that start with a plus). -;; -;; Alternatively, press 'gd' (or 'C-c g d') on a module to browse its -;; directory (for easy access to its source code). - -(doom! :input - ;;chinese - ;;japanese - - :completion - company ; the ultimate code completion backend - (vertico +icons) - - :ui - doom ; what makes DOOM look the way it does - doom-dashboard ; a nifty splash screen for Emacs - (emoji +unicode) ; - hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW - ligatures ; - modeline ; snazzy, Atom-inspired modeline, plus API - ;;nav-flash ; blink cursor line after big motions - ophints ; highlight the region an operation acts on - (popup +defaults) ; tame sudden yet inevitable temporary windows - unicode ; extended unicode support for various languages - vc-gutter ; vcs diff in the fringe - vi-tilde-fringe ; fringe tildes to mark beyond EOB - workspaces ; tab emulation, persistence & separate workspaces - - :editor - (evil +everywhere); come to the dark side, we have cookies - file-templates ; auto-snippets for empty files - fold ; (nigh) universal code folding - (format +onsave) ; automated prettiness - multiple-cursors ; editing in many places at once - snippets ; my elves. They type so I don't have to - - :emacs - (dired +icons) ; making dired pretty [functional] - electric ; smarter, keyword-based electric-indent - undo ;+tree) ; persistent, smarter undo for your inevitable mistakes - vc ; version-control and Emacs, sitting in a tree - - :term - eshell ; the elisp shell that works everywhere - vterm ; the best terminal emulation in Emacs - - :checkers - syntax ; tasing you for every semicolon you forget - (spell +flyspell) ; tasing you for misspelling mispelling - grammar ; tasing grammar mistake every you make - - :tools - ;;ansible - ;;debugger ; FIXME stepping through code, to help you add bugs - direnv - docker - editorconfig ; let someone else argue about tabs vs spaces - (eval +overlay) ; run code, run (also, repls) - ;;gist ; interacting with github gists - lookup - lsp - (magit +forge) ; a git porcelain for Emacs - make ; run make tasks from Emacs - (pass +auth) ; password manager for nerds - pdf ; pdf enhancements - - :os - (:if IS-MAC macos) ; improve compatibility with macOS - ;;tty ; improve the terminal Emacs experience - - :lang - ;;crystal ; ruby at the speed of c - data ; config/data formats - ;;(dart +flutter) ; paint ui and not much else - ;;(elixir +lsp) ; erlang done right - emacs-lisp ; drown in parentheses - (go +lsp) ; the hipster dialect - json ; At least it ain't XML - (javascript +lsp) ; all(hope(abandon(ye(who(enter(here)))))) - ledger ; an accounting system in Emacs - lua ; one-based indices? one-based indices - markdown ; writing docs for people to ignore - ;;nim ; python + lisp at the speed of c - ;;nix ; I hereby declare "nix geht mehr!" - ;;ocaml ; an objective camel - (org ; organize your plain life in plain text - +hugo - +dragndrop - +gnuplot - +ipython ; ipython support for babel - +journal - +pretty - +roam2 - +pandoc ; pandoc integration into org's exporter - +pomodoro - +present) ; using Emacs for presentations - ;;perl ; write code no one else can comprehend - ;;php ; perl's insecure younger brother - ;;plantuml ; diagrams for confusing people more - ;;purescript ; javascript, but functional - (graphql +lsp) - (python +lsp +pyright) ; beautiful is better than ugly - ;;qt ; the 'cutest' gui framework ever - ;;racket ; a DSL for DSLs - rest ; Emacs as a REST client - rst ; ReST in peace - ;;(ruby +rails +lsp) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - ;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() - sh ; she sells {ba,z,fi}sh shells on the C xor - (web +lsp) ; the tubes - yaml ; JSON, but readable - ;;(zig +lsp) - - :email - notmuch - - :app - irc ; how neckbeards socialize - rss ; emacs as an RSS reader - - :config - literate - (default +bindings +smartparens)) diff --git a/emacs/.config/doom/packages.el b/emacs/.config/doom/packages.el index 44c7ecc..75124e8 100644 --- a/emacs/.config/doom/packages.el +++ b/emacs/.config/doom/packages.el @@ -1,40 +1,55 @@ ;; -*- no-byte-compile: t; -*- ;;; $DOOMDIR/packages.el -;;; - ; For making Nov.el look nice - ;(package! justify-kp - ; :recipe (:host github - ; :repo "Fuco1/justify-kp")) - ;(package! hydra) +;; To install a package with Doom you must declare them here and run 'doom sync' +;; on the command line, then restart Emacs for the changes to take effect -- or +;; use 'M-x doom/reload'. -;; python stuffs -(package! blacken) -(package! poetry) -;; org stuffs -(package! ob-http) -(package! org-web-tools) -(package! org-fancy-priorities) +;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror: +(package! ef-themes) (package! vulpea) - -;; handy tools -(package! w3m) - ;(package! nov) -(package! git-link) -(package! web-search) - ;(package! mpdel) -(package! elfeed-protocol) -(package! deadgrep) -(package! wordgen) (package! openwith) -(package! pdf-tools) -;; slack ... okay one more time - ;(package! slack) -(package! direnv) -(package! frameshot) -(package! keycast) - -;; pretty things up (package! ef-themes) (package! nyan-mode) +(package! w3m) + +;; To install a package directly from a remote git repo, you must specify a +;; `:recipe'. You'll find documentation on what `:recipe' accepts here: +;; https://github.com/radian-software/straight.el#the-recipe-format +;; (package! another-package +;; :recipe (:host github :repo "username/repo")) + +;; If the package you are trying to install does not contain a PACKAGENAME.el +;; file, or is located in a subdirectory of the repo, you'll need to specify +;; `:files' in the `:recipe': +;; (package! this-package +;; :recipe (:host github :repo "username/repo" +;; :files ("some-file.el" "src/lisp/*.el"))) + +;; If you'd like to disable a package included with Doom, you can do so here +;; with the `:disable' property: +;; (package! builtin-package :disable t) + +;; You can override the recipe of a built in package without having to specify +;; all the properties for `:recipe'. These will inherit the rest of its recipe +;; from Doom or MELPA/ELPA/Emacsmirror: +;; (package! builtin-package :recipe (:nonrecursive t)) +;; (package! builtin-package-2 :recipe (:repo "myfork/package")) + +;; Specify a `:branch' to install a package from a particular branch or tag. +;; This is required for some packages whose default branch isn't 'master' (which +;; our package manager can't deal with; see radian-software/straight.el#279) +;; (package! builtin-package :recipe (:branch "develop")) + +;; Use `:pin' to specify a particular commit to install. +;; (package! builtin-package :pin "1a2b3c4d5e") + + +;; Doom's packages are pinned to a specific commit and updated from release to +;; release. The `unpin!' macro allows you to unpin single packages... +;; (unpin! pinned-package) +;; ...or multiple packages +;; (unpin! pinned-package another-pinned-package) +;; ...Or *all* packages (NOT RECOMMENDED; will likely break things) +;; (unpin! t) diff --git a/emacs/.config/doom/snippets/org-mode/jira-link b/emacs/.config/doom/snippets/org-mode/jira-link deleted file mode 100644 index 051fc54..0000000 --- a/emacs/.config/doom/snippets/org-mode/jira-link +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: jira-link -# key: ENG -# -- -https://15five-dev.atlassian.net/browse/ENG-$0