Browse Source

[emacs] Fixing doom emacs for real

Colin Powell 1 year ago
parent
commit
2261cd0708

+ 0 - 34
emacs/.config/doom/autoload/hlissner.el

@@ -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"))))))

+ 11 - 38
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

+ 0 - 348
emacs/.config/doom/config.el.bak

@@ -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)

+ 1 - 7
emacs/.config/doom/custom.el

@@ -1,16 +1,10 @@
-;;; custom.el ---                                    -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2021  Colin Powell
-
-;; Author: Colin Powell <colin@unbl.ink>
-;; 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.

+ 10 - 15
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
 

+ 0 - 134
emacs/.config/doom/init.el.bak

@@ -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))

+ 49 - 34
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)
-
-;; python stuffs
-(package! blacken)
-(package! poetry)
-
-;; org stuffs
-(package! ob-http)
-(package! org-web-tools)
-(package! org-fancy-priorities)
-(package! vulpea)
 
-;; handy tools
-(package! w3m)
-                                        ;(package! nov)
-(package! git-link)
-(package! web-search)
-                                        ;(package! mpdel)
-(package! elfeed-protocol)
-(package! deadgrep)
-(package! wordgen)
+;; 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'.
+
+
+;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
+(package! ef-themes)
+(package! vulpea)
 (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)

+ 0 - 5
emacs/.config/doom/snippets/org-mode/jira-link

@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: jira-link
-# key: ENG
-# --
-https://15five-dev.atlassian.net/browse/ENG-$0