diff --git a/.doom.d/config.el b/.doom.d/config.el deleted file mode 100644 index 0d35569..0000000 --- a/.doom.d/config.el +++ /dev/null @@ -1,553 +0,0 @@ -;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- - -;; Place your private configuration here! Remember, you do not need to run 'doom -;; refresh' after modifying this file! - - -;; These are used for a number of things, particularly for GPG configuration, -;; some email clients, file templates and snippets. -(setq doom-localleader-key "'") - -;; (advice-add #'doom-load-session :ignore) - -;; Doom exposes five (optional) variables for controlling fonts in Doom. Here -;; are the three important ones: -;; -;; + `doom-font' -;; + `doom-variable-pitch-font' -;; + `doom-big-font' -- used for `doom-big-font-mode' -;; -;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd -;; font string. You generally only need these two: -;; test -(setq doom-font - (font-spec :family "CaskaydiaCove Nerd Font" :size 12) - doom-big-font - (font-spec :family "JetBrainsMono Nerd Font" :size 22) - doom-variable-pitch-font - (font-spec :family "Overpass" :size 12)) - -(advice-add 'doom/load-session :override #'ignore) - -;; There are two ways to load a theme. Both assume the theme is installed and -;; available. You can either set `doom-theme' or manually load a theme with the -;; `load-theme' function. These are the defaults. -(setq doom-theme 'doom-nord) - -;; If you intend to use org, it is recommended you change this! -(setq org-directory "~/org/") - -;; If you want to change the style of line numbers, change this to `relative' or -;; `nil' to disable it: -(setq display-line-numbers-type nil) -(setq-default truncate-lines t) - -;; Here are some additional functions/macros that could help you configure Doom: -;; -;; - `load!' for loading external *.el files relative to this one -;; - `use-package' for configuring packages -;; - `after!' for running code after a package has loaded -;; - `add-load-path!' for adding directories to the `load-path', where Emacs -;; looks when you load packages with `require' or `use-package'. -;; - `map!' for binding new keys -;; -;; To get information about any of these functions/macros, move the cursor over -;; the highlighted symbol at press 'K' (non-evil users must press 'C-c g k'). -;; This will open documentation for it, including demos of how they are used. -;; -;; You can also try 'gd' (or 'C-c g d') to jump to their definition and see how -;; they are implemented. -;; -;; -;; -;; -;; - -;; don't ask for risky variables in dir-locals -(progn (advice-add 'risky-local-variable-p :override #'ignore) - (setq enable-local-variables t enable-local-eval t)) - -(after! evil-collection (setq evil-collection-mode-list (delete 'lispy evil-collection-mode-list))) - - - - - -;; deactived for now (dont need) -;; (add-hook! window-setup #'doom/quickload-session) -;; (add-hook! kill-emacs #'doom/quicksave-session) - -(after! magit - (map! :leader :n "ag" #'magit-status) - (magit-auto-revert-mode +1) - (global-auto-revert-mode +1) - (setq magit-git-global-arguments - '("--no-pager" "-c" "core.preloadindex=true" "-c" "log.showSignature=false" "-c" "color.ui=false" "-c" "color.diff=false")) - (magit-wip-mode +1) - (map! :map magit-mode-map :n "RET" #'magit-diff-visit-worktree-file) - (defun qleguennec/commit-to-wip () - (interactive) - (magit-with-toplevel - (dolist (file (magit-unstaged-files)) - (magit-stage-file file)) - (magit-run-git "commit" (concat "--message=[wip " (format-time-string "%Y-%m-%d %H:%M") "]"))))) - -(map! :leader :n "h." #'helpful-at-point) - -(map! :leader :n "o e" #'projectile-run-shell) - -(map! :n "gp" #'profiler-start - :n "gP" #'profiler-stop) - -(setq evil-vsplit-window-right t evil-split-window-below t evil-escape-key-sequence nil) - -(defun insert-random-uuid () - "Insert a UUID. -This commands calls “uuidgen” on MacOS, Linux, and calls PowelShell on Microsoft Windows. -URL `http://ergoemacs.org/emacs/elisp_generate_uuid.html' -Version 2020-06-04" - (interactive) - (let ((uuid (string-trim-right (shell-command-to-string "uuidgen")))) - (kill-new (concat ":" uuid)) - (insert uuid))) - -(setq warning-suppress-types '((yasnippet backquote-change))) - -(defun recenter-and-blink (&rest _ignore) (doom-recenter-a) (+nav-flash-blink-cursor)) -(advice-add #'+lookup/definition :after #'recenter-and-blink) - -(defun join-lines-after-delete (&rest _ignore) (interactive) (delete-blank-lines)) - -(after! lispy - (advice-add #'lispy-up :after #'doom-recenter-a) - (advice-add #'lispy-down :after #'doom-recenter-a) - (advice-add #'lispy-move-down :after #'doom-recenter-a) - (advice-add #'lispy-move-up :after #'doom-recenter-a) - (setq lispy-eval-display-style 'overlay) - (map! :map lispy-mode-map :i "[" #'lispy-brackets :i "{" #'lispy-braces)) - -(after! lispyville - :config - (add-hook 'lispyville-delete #'join-lines-after-delete) - (add-hook 'lispyville-delete-whole-line #'join-lines-after-delete) - (add-hook 'lispyville-delete-line #'join-lines-after-delete)) - -(after! projectile - (setq projectile-project-name-function - (lambda (project-root) - (let ((project-root (projectile-project-root)) - (wp-split (split-string project-root "wp/"))) - (if (= 2 (length wp-split)) - (replace-regexp-in-string "/$" "" (cadr wp-split)) - (projectile-default-project-name project-root))))) - (setq projectile-use-git-grep t) - (setq projectile-enable-caching nil) - (setq projectile-indexing-method 'alien) - (setq projectile-project-root-functions - #'(projectile-root-top-down projectile-root-top-down-recurring - projectile-root-bottom-up - projectile-root-local))) - -(advice-add 'evil-window-up - :after - (lambda (arg) - (when (string-equal " *NeoTree*" (buffer-name (current-buffer))) - (evil-window-right 1)))) - - -(after! evil - (require 'evil-textobj-anyblock) - (evil-define-text-object my-evil-textobj-anyblock-inner-quote - (count &optional beg end type) - "Select the closest outer quote." - (let ((evil-textobj-anyblock-blocks - '(("'" . "'") ("\"" . "\"") ("`" . "`") ("“" . "”")))) - (evil-textobj-anyblock--make-textobj beg end type count nil))) - (evil-define-text-object my-evil-textobj-anyblock-a-quote - (count &optional beg end type) - "Select the closest outer quote." - (let ((evil-textobj-anyblock-blocks - '(("'" . "'") ("\"" . "\"") ("`" . "`") ("“" . "”")))) - (evil-textobj-anyblock--make-textobj beg end type count t))) - (define-key evil-inner-text-objects-map "q" 'my-evil-textobj-anyblock-inner-quote) - (define-key evil-outer-text-objects-map "q" 'my-evil-textobj-anyblock-a-quote) - (advice-add 'evil-scroll-line-to-center :after #'recenter-and-blink) - (advice-add 'evil-backward-paragraph :after #'recenter-and-blink) - (advice-add 'evil-forward-paragraph :after #'recenter-and-blink) - (advice-add 'evil-ex-search-next :after #'recenter-and-blink) - (advice-add 'evil-ex-search-previous :after #'recenter-and-blink) - (advice-add 'evil-goto-line :after #'recenter-and-blink) - (advice-add 'evil-goto-line :after #'recenter-and-blink) - (advice-add 'evil-forward-section-begin :after #'recenter-and-blink) - (advice-add 'evil-forward-section-end :after #'recenter-and-blink) - (advice-add 'evil-backward-section-begin :after #'recenter-and-blink) - (advice-add 'evil-backward-section-end :after #'recenter-and-blink) - (map! :n - "'" - #'evil-use-register - :n - "{" - #'evil-backward-section-begin - :n - "}" - #'evil-forward-section-begin - :nvi - "C-/" - #'evil-search-forward - :nvi - "C-j" - (cmd! () (save-excursion (evil-beginning-of-line))))) - -(after! evil-snipe :config (setq evil-snipe-scope 'whole-buffer)) - -(after! lsp-mode - (remove-hook 'lsp-mode-hook #'lsp-ui-mode) - (add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]\\resources\\'") - (add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]\\target\\'") - (add-to-list 'lsp-file-watch-ignored-directories "[/\\\\]\\node-modules\\'") - (map! :n - "C-/" #'lsp-find-references)) - -(after! cider - ;; (add-hook 'company-completion-started-hook 'ans/set-company-maps) - ;; (add-hook 'company-completion-finished-hook 'ans/unset-company-maps) - ;; (add-hook 'company-completion-cancelled-hook 'ans/unset-company-maps) - (remove-hook 'cider-mode-hook #'rainbow-delimiters-mode) - (remove-hook 'clojure-mode-hook #'rainbow-delimiters-mode) - - ;; (add-hook 'clojure-mode-hook #'lsp) - ;; (add-hook 'clojurescript-mode-hook #'lsp) - - (setq clojure-toplevel-inside-comment-form t) - (setq cider-show-error-buffer nil) - (map! :map lsp-mode-map - :nv "gd" #'lsp-find-definition - :nv "C-/" #'lsp-find-references) - - (defun qleguennec/avoid-compiled (filename) - (if (s-matches? ".*/resources/public/cljs-out/dev.*" filename) - (s-replace "/resources/public/cljs-out/dev" - "/src/cljs" - filename) - filename)) - - ;; (defadvice! lsp-xrefs-no-compiled (oldfunc locations) - ;; :around #'lsp--locations-to-xref-items - ;; (let* ((uri (gethash "uri" locations))) - ;; (remhash "uri" locations) - ;; (puthash "uri" (qleguennec/avoid-compiled uri) - ;; locations) - ;; (funcall oldfunc locations))) - ;; (advice-remove 'lsp--locations-to-xref-items #'lsp-xrefs-no-compiled) - - (defun clojure-before-save-hook (&rest _args) - (when (and (fboundp #'alix-controller/zprint-file) - (or - (equal major-mode 'clojure-mode) - (equal major-mode 'clojurescript-mode))) - ;; (alix-controller/zprint-file) - )) - - (add-hook 'before-save-hook - #'clojure-before-save-hook) - - (setq cljr-auto-clean-ns nil cljr-auto-sort-ns nil) - ;; (add-hook 'cider-repl-mode-hook #'cider-company-enable-fuzzy-completion) - ;; (add-hook 'cider-mode-hook #'cider-company-enable-fuzzy-completion) - (set-popup-rules! '(("^\\*cider-inspect" :vslot 2 :ttl nil :quit nil) - ("^\\*cider-result*" :slot 1 :vslot 1 :quit nil :select t))) - ;; (remove-hook 'before-save-hook #'cider/indent-before-save) - (defun indent-after-paste - (&rest _ignore) - (call-interactively #'+evil/reselect-paste) - (call-interactively #'evil-indent-line) - (call-interactively #'evil-indent) - (call-interactively #'evil-first-non-blank) - (when cider-mode (call-interactively #'clojure-align))) - (advice-add 'evil-paste-after :after #'indent-after-paste) - (advice-add 'evil-paste-before :after #'indent-after-paste) - (setq cider-font-lock-reader-conditionals - nil - cider-font-lock-dynamically - '(macro core) - cider-inspector-auto-select-buffer - nil - cider-save-file-on-load - t - cider-prompt-for-symbol - nil) - (add-hook 'cider-repl-mode-hook #'cider-company-enable-fuzzy-completion) - (add-hook 'cider-mode-hook #'cider-company-enable-fuzzy-completion) - (defun ans/unset-company-maps - (&rest unused) - "Set default mappings (outside of company). - Arguments (UNUSED) are ignored." - (general-def :states - 'insert - :keymaps - 'override - "" - nil - "" - nil - "C-j" - nil - "C-k" - nil - "RET" - nil - "*" - nil - [return] - nil)) - - (defun ans/set-company-maps - (&rest unused) - "Set maps for when you're inside company completion. - Arguments (UNUSED) are ignored." - (general-def :states - 'insert - :keymaps - 'override - "" - 'company-select-next - "" - 'company-select-previous - "C-j" - 'company-select-next - "C-k" - 'company-select-previous - "RET" - 'company-complete - "*" - 'counsel-company - [return] - 'company-complete)) - (setq nrepl-log-messages t) - (map! :map - cider-repl-mode-map - :ni - "" - #'cider-repl-forward-input - :ni - "" - #'cider-repl-backward-input) - (map! :map cider-inspector-mode-map :ni "" #'cider-inspector-pop) - (map! :map cider-mode-map :localleader "e D" #'cider-debug-defun-at-point) - (remove-hook 'cider-connected-hook #'+clojure--cider-dump-nrepl-server-log-h)) - -(defun qleguennec/set-frame-transparency (&optional frame) - (interactive) - (let ((frame (or frame (selected-frame)))) - (set-frame-parameter frame 'alpha-background 80))) - -(dolist (frame (visible-frame-list)) - (qleguennec/set-frame-transparency frame)) - -(add-to-list 'after-make-frame-functions - #'qleguennec/set-frame-transparency) - -;; (map! :n "C-l" #'+workspace/switch-right :n "C-h" #'+workspace/switch-left) - -(map! :map emacs-lisp-mode-map :localleader "e D" #'edebug-defun) -(map! :leader - :nv "w v" (lambda! () - (call-process "i3-msg" nil 0 nil "split" "h") - (make-frame)) - :nv "w s" (lambda! () - (call-process "i3-msg" nil 0 nil "split" "v") - (make-frame))) - -(after! company - :config - (setq company-echo-last-msg 't) - (map! - :map company-active-map - "`" - #'counsel-company)) - -;; (use-package wgrep :config (setq wgrep-change-readonly-file t)) - -(use-package marginalia - :config - (marginalia-mode +1) - (setq marginalia-annotators '(marginalia-annotators-heavy)) - :bind - (:map minibuffer-local-map ("M-a" . marginalia-cycle))) - -(use-package embark - :bind (("C-S-a" . embark-act) ;; pick some comfortable binding - ("C-h B" . embark-bindings) ;; alternative for `describe-bindings' - ("C-e" . embark-export)) - :init - ;; Optionally replace the key help with a completing-read interface - (setq prefix-help-command #'embark-prefix-help-command) - :config - ;; Hide the mode line of the Embark live/completions buffers - (add-to-list 'display-buffer-alist - '("\\`\\*Embark Collect \\(Live\\|Completions\\)\\*" - nil - (window-parameters (mode-line-format . none))))) - -(use-package embark-consult - :after (embark consult) - :demand t ; only necessary if you have the hook below - ;; if you want to have consult previews as you move around an - ;; auto-updating embark collect buffer - :hook (embark-collect-mode . embark-consult-preview-minor-mode)) - -(use-package consult - :demand t - :init - ;; Optionally configure the register formatting. This improves the register - ;; preview for `consult-register', `consult-register-load', - ;; `consult-register-store' and the Emacs built-ins. - (setq register-preview-delay 0 register-preview-function #'consult-register-format) - ;; Optionally tweak the register preview window. - ;; This adds thin lines, sorting and hides the mode line of the window. - (advice-add #'register-preview :override #'consult-register-window) - :config - ;; Use Consult to select xref locations with preview - (setq xref-show-xrefs-function #'xref--show-xref-buffer xref-show-definitions-function #'xref-show-definitions-buffer) - (autoload 'projectile-project-root "projectile") - (setq consult-project-root-function #'projectile-project-root) - (setq consult-git-grep-command - (concat - "git --no-pager grep --null --color=always --extended-regexp --line-number -I -e ARG OPTS" - " -- :!orientdb-community-importers-2.2.37")) - (map! :vn - "?" - #'consult-git-grep - :n - "/" - #'consult-line - :n - "SPC '" - #'selectrum-repeat - :leader - "i m" - #'consult-global-mark - :leader - "i i" - #'consult-imenu-multi)) - - - -(use-package orderless - :init (icomplete-mode) ; optional but recommended! - :custom (completion-styles '(orderless))) - - - - - -(after! centaur-tabs - (centaur-tabs-group-by-projectile-project) - (map! - :map centaur-tabs-mode-map - "C-l" #'centaur-tabs-forward - "C-h" #'centaur-tabs-backward)) - -(defun qleguennec/put-file-name-on-clipboard () - "Put the current file name on the clipboard." - (interactive) - (let ((filename (if (equal major-mode 'dired-mode) default-directory (buffer-file-name)))) - (when filename - (with-temp-buffer (insert filename) (clipboard-kill-region (point-min) (point-max))) - (message filename)))) - - - -(advice-add #'evil-next-line :after #'doom-recenter-a) -(advice-add #'evil-previous-line :after #'doom-recenter-a) - -(setq frame-title-format - '((:eval (if (equal major-mode 'dired-mode) - default-directory - (buffer-file-name))) - " – Doom Emacs")) - -(defun qleguennec/cycle-themes () - (interactive) - (let* ((sorted-themes (->> (custom-available-themes) - (-filter (lambda (theme) - (and (not (-contains? - '(doom-tomorrow-day - doom-flatwhite - doom-homage-white) - theme)) - (let ((theme (symbol-name theme))) - (and (s-starts-with? "doom" theme) - (not (s-ends-with? "light" theme))))))) - (-sort #'string< ))) - (themes-from-current (-drop-while (lambda (theme) (not (eq doom-theme theme))) sorted-themes)) - (next-theme (cadr (append themes-from-current sorted-themes)))) - (message (symbol-name next-theme)) - (setq doom-theme next-theme) - (load-theme next-theme t) - (doom/reload-theme))) - -(defun qleguennec/toggle-transparency (&optional frame) - (interactive) - (let* ((frame (or frame (selected-frame))) - (alpha (frame-parameter frame 'alpha))) - (set-frame-parameter - frame 'alpha - (if (eql (cond ((numberp alpha) alpha) - ((numberp (cdr alpha)) (cdr alpha)) - ;; Also handle undocumented ( ) form. - ((numberp (cadr alpha)) (cadr alpha))) - 100) - '(85 . 50) '(100 . 100))))) - -(map! - :leader - :nvi "h h" #'qleguennec/cycle-themes) - -(defun qleguennec/prettier-parens:fontify-search (limit) - (let ((result nil) - (finish nil) - (bound (+ (point) limit))) - (while (not finish) - (if (re-search-forward "\\s)" bound t) - (when (and (= 0 (string-match-p "\\s)*$" (buffer-substring-no-properties (point) (line-end-position)))) - (not (eq (char-before (1- (point))) 92))) - (setq result (match-data) - finish t)) - (setq finish t))) - result)) - -(defface qleguennec/prettier-parens:dim-paren-face - '((((class color) (background dark)) - (:foreground "grey30")) - (((class color) (background light)) - (:foreground "grey60"))) - "Prettier parens" - :group 'prettier-parens) - - -(define-minor-mode prettier-parens-mode - "Prettier parens mode." - :init-value nil - (if prettier-parens-mode - (progn (rainbow-delimiters-mode-disable) - (font-lock-add-keywords - nil '((qleguennec/prettier-parens:fontify-search . 'qleguennec/prettier-parens:dim-paren-face))) - (if (fboundp 'font-lock-flush) - (font-lock-flush) - (when font-lock-mode - (with-no-warnings - (font-lock-fontify-buffer))))) - (progn - (font-lock-remove-keywords nil - '((qleguennec/prettier-parens:fontify-search . 'qleguennec/prettier-parens:dim-paren-face))) - (if (fboundp 'font-lock-flush) - (font-lock-flush) - (when font-lock-mode - (with-no-warnings - (font-lock-fontify-buffer))))))) - -(add-hook! '(clojure-mode-hook clojurescript-mode-hook emacs-lisp-mode-hook) - (defun enable-lisp-modes (&rest args) - (prettier-parens-mode))) -(setq lsp-diagnostics-provider :none) diff --git a/.doom.d/custom.el b/.doom.d/custom.el deleted file mode 100644 index a475030..0000000 --- a/.doom.d/custom.el +++ /dev/null @@ -1,49 +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-names-vector - ["#282b33" "#e1c1ee" "#5b94ab" "#cfcf9c" "#819cd6" "#a6c1e0" "#7289bc" "#c6c6c6"]) - '(custom-safe-themes - '("1704976a1797342a1b4ea7a75bdbb3be1569f4619134341bd5a4c1cfb16abad4" default)) - '(exwm-floating-border-color "#141519") - '(fci-rule-color "#888395") - '(highlight-tail-colors ((("#2d353f" "#2d353f") . 0) (("#2f3440" "#2f3440") . 20))) - '(jdee-db-active-breakpoint-face-colors (cons "#222228" "#819cd6")) - '(jdee-db-requested-breakpoint-face-colors (cons "#222228" "#5b94ab")) - '(jdee-db-spec-breakpoint-face-colors (cons "#222228" "#515462")) - '(objed-cursor-color "#e1c1ee") - '(package-selected-packages - '(doom-themes color-theme-modern flycheck-rust cargo lsp-mode selectrum rust-mode flimenu amx)) - '(pdf-view-midnight-colors (cons "#c6c6c6" "#282b33")) - '(rustic-ansi-faces - ["#282b33" "#e1c1ee" "#5b94ab" "#cfcf9c" "#819cd6" "#a6c1e0" "#7289bc" "#c6c6c6"]) - '(vc-annotate-background "#282b33") - '(vc-annotate-color-map - (list - (cons 20 "#5b94ab") - (cons 40 "#81a7a6") - (cons 60 "#a8bba1") - (cons 80 "#cfcf9c") - (cons 100 "#c1cab2") - (cons 120 "#b3c5c9") - (cons 140 "#a6c1e0") - (cons 160 "#a6c1e0") - (cons 180 "#a6c1e0") - (cons 200 "#a6c1e0") - (cons 220 "#b9c1e4") - (cons 240 "#cdc1e9") - (cons 260 "#e1c1ee") - (cons 280 "#bda5cb") - (cons 300 "#998aa8") - (cons 320 "#756f85") - (cons 340 "#888395") - (cons 360 "#888395"))) - '(vc-annotate-very-old-color nil)) -(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. - ) diff --git a/.doom.d/init.el b/.doom.d/init.el deleted file mode 100644 index d48aa75..0000000 --- a/.doom.d/init.el +++ /dev/null @@ -1,206 +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 - ;;helm ; the *other* search engine for love and life - ;;ido ; the other *other* search engine... - ;; (ivy - ;; +prescient - ;; +fuzzy - ;; +icons) - ; a search engine for love and life - - :ui - ;;deft ; notational velocity for Emacs - doom ; what makes DOOM look the way it does - doom-dashboard ; a nifty splash screen for Emacs - doom-quit ; DOOM quit-message prompts when you quit Emacs - ;;fill-column ; a `fill-column' indicator - hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW - ;;hydra - ;; indent-guides ; highlighted indent columns - modeline - ; snazzy, Atom-inspired modeline, plus API - nav-flash ; blink the current line after jumping - neotree ; a project drawer, like NERDTree for vim - ophints - ; highlight the region an operation acts on - (popup ; tame sudden yet inevitable temporary windows - +all ; catch all popups that start with an asterix - +defaults) ; default popup rules - (ligatures +extra +fira) - ;; tabs ; an tab bar for Emacs - treemacs - ; a project drawer, like neotree but cooler - ;;unicode ; extended unicode support for various languages - vc-gutter ; vcs diff in the fringe - ;; vi-tilde-fringe ; fringe tildes to mark beyond EOB - window-select ; visually switch windows - workspaces ; tab emulation, persistence & separate workspaces - ;; zen - ; distraction-free coding or writing - - ;;: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 - ;;god ; run Emacs commands without modifier keys - lispy ; vim for lisp, for people who don't like vim - multiple-cursors - ; editing in many places at once - ;; objed ; text object editing for the innocent - ;; ^ - ;; parinfer ; turn lisp into python, sort of - ;; ;; rotate-text - ;; ; cycle region at point between text candidates - snippets - ; my elves. They type so I don't have to - ;;word-wrap ; soft wrapping with language-aware indent - - :emacs - (dired - +icons) ; making dired pretty [functional] - ;; electric ; smarter, keyword-based electric-indent - ;; ibuffer ; interactive buffer management - vc ; version-control and Emacs, sitting in a tree - - :term - ;; eshell ; a consistent, cross-platform shell (WIP) - ;;shell ; a terminal REPL for Emacs - term ; terminals in Emacs - ;; vterm - ; another terminals in Emacs - - :checkers - syntax ; tasing you for every semicolon you forget - ;;spell ; tasing you for misspelling mispelling - ;;grammar ; tasing grammar mistake every you make - - :tools - ;;ansibly - ;;debugger ; FIXME stepping through code, to help you add bugs - ;;direnv - ;;docker - ;;editorconfig ; let someone else argue about tabs vs spaces - ;;ein ; tame Jupyter notebooks with emacs - (eval +overlay) ; run code, run (also, repls) - ;;flyspell ; tasing you for misspelling mispelling - ;;gist ; interacting with github gists - (lookup ; helps you navigate your code and documentation - +docsets) ; ...or in Dash docsets locally - lsp - ;;macos ; MacOS-specific commands - magit ; a git porcelain for Emacs - ;;make ; run make tasks from Emacs - ;;pass ; password manager for nerds - ;;pdf ; pdf enhancements - ;;prodigy ; FIXME managing external services & code builders - ;;rgb ; creating color strings - ;;terraform ; infrastructure as code - ;;tmux ; an API for interacting with tmux - ;;upload ; map local to remote projects via ssh/ftp - - :lang - ;;agda ; types of types of types of types... - ;;assembly ; assembly for fun or debugging - ;; cc ; C/C++/Obj-C madness - (clojure +lsp) - ;; clojure - ; java with a lisp - ;;common-lisp ; if you've seen one lisp, you've seen them all - ;;coq ; proofs-as-programs - ;;crystal ; ruby at the speed of c - ;; (csharp +lsp +unity) - ; unity, .NET, and mono shenanigans - data ; config/data formats - ;;elixir ; erlang done right - ;;elm ; care for a cup of TEA? - emacs-lisp ; drown in parentheses - ;;erlang ; an elegant language for a more civilized age - ;;ess ; emacs speaks statistics - ;;faust ; dsp, but you get to keep your soul - ;;fsharp ; ML stands for Microsoft's Language - ;;go ; the hipster dialect - ;; (haskell +lsp) ; a language that's lazier than I am - ;;hy ; readability of scheme w/ speed of python - ;;idris ; - ;;(java +meghanada) ; the poster child for carpal tunnel syndrome - ;; (javascript - ;; +typescript=mode - ;; +tide) - ; 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 - ;;lean - ;;factor - ;;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 - ;; +journal) - ;; +dragndrop ; drag & drop files/images into org buffers - ;; ;;+hugo ; use Emacs for hugo blogging - ;; ;;+jupyter ; ipython/jupyter support for babel - ;; ;;+pandoc ; export-with-pandoc support - ;; ;;+pomodoro ; be fruitful with the tomato technique - ;; +present - ; using org-mode 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 - ;;python ; 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 ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap() - ;;scala ; java, but good - ;;scheme ; a fully conniving family of lisps - sh ; she sells {ba,z,fi}sh shells on the C xor - ;;solidity ; do you need a blockchain? No. - ;;swift ; who asked for emoji variables? - ;;terra ; Earth and Moon in alignment for performance. - ;; web ; the tubes - - :email - ;;mu4e - ;;notmuch - ;;(wanderlust +gmail) - - :app - ;;calendar - ;;irc ; how neckbeards socialize - ;;(rss +org) ; emacs as an RSS reader - ;;twitter ; twitter client https://twitter.com/vnought - ;;write ; emacs for writers (fiction, notes, papers, etc.) - - :config - ;;literate - (default +bindings)) diff --git a/.doom.d/packages.el b/.doom.d/packages.el deleted file mode 100644 index 73c4923..0000000 --- a/.doom.d/packages.el +++ /dev/null @@ -1,79 +0,0 @@ -;; -*- no-byte-compile: t; -*- -;;; $DOOMDIR/packages.el - -;; This is where you install packages, by declaring them with the `package!' -;; macro, then running 'doom refresh' on the command line. You'll need to -;; restart Emacs for your changes to take effect! Or at least, run M-x -;; `doom/reload'. -;; -;; WARNING: Don't disable core packages listed in ~/.emacs.d/core/packages.el. -;; Doom requires these, and disabling them may have terrible side effects. -;; -;; Here are a couple examples: - -;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror: - ;(package! some-package) - -;; To install a package directly from a particular repo, you'll need to specify -;; a `:recipe'. You'll find documentation on what `:recipe' accepts here: -;; https://github.com/raxod502/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, for whatever reason, -;; 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 raxod502/straight.el#279) - ;(package! builtin-package :recipe (:branch "develop")) - -;; editor features -;; (package! super-save) -(package! hungry-delete) -(package! centered-cursor-mode) -(package! aggressive-indent) - -(unpin! doom-themes) - -(unpin! cider) -(unpin! clojure-mode) -;; (unpin! clj-refactor) -(unpin! doom-themes) -(unpin! flycheck-clj-kondo) -(unpin! company) -(unpin! company-dict) - -(package! selectrum) -(package! consult) -(package! mini-frame) -(package! orderless) -(package! flimenu) - -(package! prescient) -(package! selectrum-prescient) -(package! amx) - -(package! highlight-indent-guides) - -(package! super-save) - -(package! marginalia) -(package! embark) -(package! embark-consult) - -(package! xref :pin "a82f459b37b31546bf274388baf8aca79e9c30d9") diff --git a/.doom.d/snippets/cider-mode/dump b/.doom.d/snippets/cider-mode/dump deleted file mode 100644 index 1231893..0000000 --- a/.doom.d/snippets/cider-mode/dump +++ /dev/null @@ -1,8 +0,0 @@ -# -*- mode: snippet -*- -# name: dump -# uuid: dump -# key: dump -# condition: t -# -- - -(pm/dump :`(insert-random-uuid)`) \ No newline at end of file diff --git a/.doom.d/snippets/clojure-mode/dump b/.doom.d/snippets/clojure-mode/dump deleted file mode 100644 index 457165b..0000000 --- a/.doom.d/snippets/clojure-mode/dump +++ /dev/null @@ -1,8 +0,0 @@ -# -*- mode: snippet -*- -# name: dump -# uuid: dump -# key: dump -# condition: t -# -- - -(postmortem.core/dump :`(insert-random-uuid)`$0)`(evil-normal-state)` \ No newline at end of file diff --git a/.doom.d/snippets/clojure-mode/spy b/.doom.d/snippets/clojure-mode/spy deleted file mode 100644 index 02ce6bb..0000000 --- a/.doom.d/snippets/clojure-mode/spy +++ /dev/null @@ -1,8 +0,0 @@ -# -*- mode: snippet -*- -# name: spy -# uuid: spy -# key: spy -# condition: t -# -- - -(postmortem.core/spy>> :`(insert-random-uuid)`$0)`(evil-normal-state)` \ No newline at end of file diff --git a/.doom.d/snippets/clojurescript-mode/@sub b/.doom.d/snippets/clojurescript-mode/@sub deleted file mode 100644 index 756bb30..0000000 --- a/.doom.d/snippets/clojurescript-mode/@sub +++ /dev/null @@ -1,6 +0,0 @@ -# -*- mode: snippet -*- -# name: @sub -# key: @sub -# -- - -@(subscribe [$0]) \ No newline at end of file diff --git a/.doom.d/snippets/clojurescript-mode/dispatch b/.doom.d/snippets/clojurescript-mode/dispatch deleted file mode 100644 index a8a7c02..0000000 --- a/.doom.d/snippets/clojurescript-mode/dispatch +++ /dev/null @@ -1,5 +0,0 @@ -# key: dis -# name: dispatch -# -- - -(re-frame/dispatch [$0]) \ No newline at end of file diff --git a/.doom.d/snippets/clojurescript-mode/dump b/.doom.d/snippets/clojurescript-mode/dump deleted file mode 100644 index 433cd13..0000000 --- a/.doom.d/snippets/clojurescript-mode/dump +++ /dev/null @@ -1,8 +0,0 @@ -# -*- mode: snippet -*- -# name: dump -# uuid: dump -# key: dump -# condition: t -# -- - -(postmortem.core/dump $0:`(insert-random-uuid)``(alix-client/add-posmortem-core)`) \ No newline at end of file diff --git a/.doom.d/snippets/clojurescript-mode/log b/.doom.d/snippets/clojurescript-mode/log deleted file mode 100644 index 19e98b3..0000000 --- a/.doom.d/snippets/clojurescript-mode/log +++ /dev/null @@ -1,6 +0,0 @@ -# -*- mode: snippet -*- -# name: log -# key: log -# -- - -(.log js/console $0) \ No newline at end of file diff --git a/.doom.d/snippets/clojurescript-mode/map b/.doom.d/snippets/clojurescript-mode/map deleted file mode 100644 index 722e0ce..0000000 --- a/.doom.d/snippets/clojurescript-mode/map +++ /dev/null @@ -1,10 +0,0 @@ -# -*- mode: snippet -*- -# name: map -# key: map -# -- - -{${1:$$(when (and yas-modified-p yas-moving-away-p) - (->> yas-text - (s-split " ") - (-map (lambda (key) (format ":%s %s" key key))) - (s-join " ")))}} \ No newline at end of file diff --git a/.doom.d/snippets/clojurescript-mode/reg-ev b/.doom.d/snippets/clojurescript-mode/reg-ev deleted file mode 100644 index cd91fd4..0000000 --- a/.doom.d/snippets/clojurescript-mode/reg-ev +++ /dev/null @@ -1,8 +0,0 @@ -# key: reg-ev -# name: reg-ev -# -- -(re-frame/reg-event-db - :${1:ev-name} - base-middleware - (fn ${1:$(replace-regexp-in-string "^.*/" "" yas-text)} [db [_]] - )) \ No newline at end of file diff --git a/.doom.d/snippets/clojurescript-mode/reg-sub b/.doom.d/snippets/clojurescript-mode/reg-sub deleted file mode 100644 index 77da92e..0000000 --- a/.doom.d/snippets/clojurescript-mode/reg-sub +++ /dev/null @@ -1,7 +0,0 @@ -# key: reg-sub -# name: reg-sub -# -- -(re-frame/reg-sub - ${1:sub-name} - (fn ${1:$(s-replace-regexp "^.*/" "" yas-text)}-input [[_ ]]) - (fn ${1:$(s-replace-regexp "^.*/" "" yas-text)} [[]])) \ No newline at end of file diff --git a/.emacs.d b/.emacs.d deleted file mode 160000 index 42e5763..0000000 --- a/.emacs.d +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 42e5763782fdc1aabb9f2624d468248d6978abe2