From 3ea5e792dcaadc84a2b932f7c04d4de264a30553 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sun, 24 Jun 2018 13:48:25 -0400 Subject: [PATCH 01/16] [emacs] add evil{,-escape} and general and some keybindings --- .gitmodules | 9 ++++++ init.org | 75 ++++++++++++++++++++++++++++++++++++++++++++++++- lib/evil | 1 + lib/evil-escape | 1 + lib/general | 1 + 5 files changed, 86 insertions(+), 1 deletion(-) create mode 160000 lib/evil create mode 160000 lib/evil-escape create mode 160000 lib/general diff --git a/.gitmodules b/.gitmodules index 5c2d05f..28eced6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -40,6 +40,12 @@ [submodule "epl"] path = lib/epl url = git@github.com:cask/epl.git +[submodule "evil"] + path = lib/evil + url = git@github.com:emacs-evil/evil.git +[submodule "evil-escape"] + path = lib/evil-escape + url = git@github.com:syl20bnr/evil-escape.git [submodule "exec-path-from-shell"] path = lib/exec-path-from-shell url = git@github.com:purcell/exec-path-from-shell.git @@ -55,6 +61,9 @@ [submodule "flycheck-haskell"] path = lib/flycheck-haskell url = git@github.com:flycheck/flycheck-haskell.git +[submodule "general"] + path = lib/general + url = git@github.com:noctuid/general.el.git [submodule "ghub"] path = lib/ghub url = git@github.com:magit/ghub.git diff --git a/init.org b/init.org index 6d927c9..04719f0 100644 --- a/init.org +++ b/init.org @@ -582,12 +582,61 @@ customizing it. 'auto-compile-inhibit-compile-detached-git-head)) #+end_src -*** TODO [[https://github.com/Kungsgeten/ryo-modal][ryo-modal]] +*** [[https://github.com/noctuid/general.el][general]] #+begin_quote Roll your own modal mode #+end_quote +#+begin_src emacs-lisp +(use-package general + :demand t + :config + (general-evil-setup t) + + (general-override-mode) + + (general-create-definer + ab--mode-leader-keys + :keymaps 'override + :states '(emacs normal visual motion insert) + :non-normal-prefix "C-," + :prefix ",") + + (general-create-definer + ab--leader-keys + :keymaps 'override + :states '(emacs normal visual motion insert) + :non-normal-prefix "M-m" + :prefix "SPC")) +#+end_src + +*** evil + +#+begin_src emacs-lisp +(use-package evil + :demand t + :hook (view-mode . evil-motion-state) + :config (evil-mode 1)) +#+end_src + +#+begin_src emacs-lisp +(use-package evil-escape + :demand t + :init + (setq evil-escape-excluded-states '(normal visual multiedit emacs motion) + evil-escape-excluded-major-modes '(neotree-mode) + evil-escape-key-sequence "jk" + evil-escape-delay 0.25) + :general + (:states '(insert replace visual operator) + "C-g" #'evil-escape) + :config + (evil-escape-mode 1) + ;; no `evil-escape' in minibuffer + (push #'minibufferp evil-escape-inhibit-functions)) +#+end_src + *** [[https://github.com/ch11ng/exwm][EXWM]] (window manager) #+begin_src emacs-lisp :tangle no @@ -828,6 +877,7 @@ In short, my favourite way of life. (setq org-src-tab-acts-natively t org-src-preserve-indentation nil org-edit-src-content-indentation 0) +(add-hook 'org-mode-hook 'org-indent-mode) #+end_src *** [[https://magit.vc/][Magit]] @@ -840,6 +890,7 @@ Not just how I do git, but /the/ way to do git. #+begin_src emacs-lisp (use-package magit + :general (ab--leader-keys "g s" 'magit-status) :defer t :bind (("s-g" . magit-status) ("C-x g" . magit-status) @@ -864,6 +915,7 @@ There's no way I could top that, so I won't attempt to. #+begin_src emacs-lisp (use-package ivy + :defer 1 :bind (:map ivy-minibuffer-map ([escape] . keyboard-escape-quit) @@ -881,6 +933,7 @@ There's no way I could top that, so I won't attempt to. #+begin_src emacs-lisp (use-package swiper + :general (:states 'normal "/" 'swiper) :bind (([remap isearch-forward] . swiper) ([remap isearch-backward] . swiper))) #+end_src @@ -890,6 +943,10 @@ There's no way I could top that, so I won't attempt to. #+begin_src emacs-lisp (use-package counsel :defer 1 + :general (ab--leader-keys + "f r" 'counsel-recentf + "SPC" 'counsel-M-x + "." 'counsel-find-file) :bind (([remap execute-extended-command] . counsel-M-x) ([remap find-file] . counsel-find-file) ("s-r" . counsel-recentf) @@ -1000,6 +1057,16 @@ TODO: break this giant source block down into individual org sections. (global-company-mode t)) #+end_src +** Customizations + +#+begin_src emacs-lisp +(ab--leader-keys + "b s" 'save-buffer + "b b" 'ivy-switch-buffer + "b k" 'kill-buffer + "q q" 'evil-save-and-quit) +#+end_src + * Syntax and spell checking #+begin_src emacs-lisp (use-package flycheck @@ -1230,6 +1297,11 @@ Emacs package that displays available keybindings in popup (delete-other-windows) (notmuch)) +;; (ab--leader-keys +;; "m" 'ab/notmuch +;; "s" 'save-buffer +;; "SPC" 'counsel-M-x) + ;; (map! ;; :leader ;; :desc "notmuch" :n "m" #'ab/notmuch @@ -1277,6 +1349,7 @@ Emacs package that displays available keybindings in popup mml-secure-openpgp-sign-with-sender t)) (use-package notmuch + :general (ab--leader-keys "m" 'ab/notmuch) :config (setq notmuch-hello-sections '(notmuch-hello-insert-header diff --git a/lib/evil b/lib/evil new file mode 160000 index 0000000..230b872 --- /dev/null +++ b/lib/evil @@ -0,0 +1 @@ +Subproject commit 230b87212c81aaa68ef5547a6b998d9c365fe139 diff --git a/lib/evil-escape b/lib/evil-escape new file mode 160000 index 0000000..25920fb --- /dev/null +++ b/lib/evil-escape @@ -0,0 +1 @@ +Subproject commit 25920fb2f4ef48998eecea433c04096f8d124cfe diff --git a/lib/general b/lib/general new file mode 160000 index 0000000..38590b2 --- /dev/null +++ b/lib/general @@ -0,0 +1 @@ +Subproject commit 38590b2b40d9ae71a047914f938416a7bd01e370 -- 2.20.1 From 20ead030f0d3c385710d0a8004e40fb4705e1ece Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sun, 24 Jun 2018 13:53:30 -0400 Subject: [PATCH 02/16] [emacs] update 6 drones lib/closql master v0.5.2-4-gdb22efc lib/evil-escape master v3.14-5-g73b30bf lib/helm master v2.9.6-51-g7c5b3318 lib/magit master 2.13.0-66-gc98ea64a lib/no-littering master v0.5.14-2-gf1ac527 lib/which-key master v3.3.0 --- lib/closql | 2 +- lib/evil-escape | 2 +- lib/helm | 2 +- lib/magit | 2 +- lib/no-littering | 2 +- lib/which-key | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/closql b/lib/closql index 5b7fa93..db22efc 160000 --- a/lib/closql +++ b/lib/closql @@ -1 +1 @@ -Subproject commit 5b7fa9303f10ba4fcf8aa8413220641f87523365 +Subproject commit db22efccdd91974a024eb6f7ddd3b78f499dc7e2 diff --git a/lib/evil-escape b/lib/evil-escape index 25920fb..73b30bf 160000 --- a/lib/evil-escape +++ b/lib/evil-escape @@ -1 +1 @@ -Subproject commit 25920fb2f4ef48998eecea433c04096f8d124cfe +Subproject commit 73b30bfd912f40657b1306ee5849d215f0f9ffbd diff --git a/lib/helm b/lib/helm index 989e99c..7c5b331 160000 --- a/lib/helm +++ b/lib/helm @@ -1 +1 @@ -Subproject commit 989e99cd545a95b33deedd6bebfa47efeb80b967 +Subproject commit 7c5b33188d712789036317529ade020bc06bb763 diff --git a/lib/magit b/lib/magit index c75ac17..c98ea64 160000 --- a/lib/magit +++ b/lib/magit @@ -1 +1 @@ -Subproject commit c75ac17398a1bdd64206a14ff15e4eb424717bd8 +Subproject commit c98ea64ac1e64e72c55614ef482a1fc4b095fb17 diff --git a/lib/no-littering b/lib/no-littering index 94a72eb..f1ac527 160000 --- a/lib/no-littering +++ b/lib/no-littering @@ -1 +1 @@ -Subproject commit 94a72ebfd428e12a48a3cc4f1f978b02ccd9b11d +Subproject commit f1ac5274ba49e3533c356c4cd6d5f8ebed0ec517 diff --git a/lib/which-key b/lib/which-key index a4095e8..ff79dff 160000 --- a/lib/which-key +++ b/lib/which-key @@ -1 +1 @@ -Subproject commit a4095e8ee6f932e049cebd90ab41b95b869ce3e4 +Subproject commit ff79dfff66f880885c5893dd6fd05dc51173a476 -- 2.20.1 From 5c2eaaf178d175d275109c7b23451f8a0771c574 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Wed, 27 Jun 2018 00:25:58 -0400 Subject: [PATCH 03/16] [emacs] org: export html5, add htmlize for syntax highlighting --- .gitmodules | 3 +++ init.org | 5 ++++- lib/htmlize | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) create mode 160000 lib/htmlize diff --git a/.gitmodules b/.gitmodules index 28eced6..a307055 100644 --- a/.gitmodules +++ b/.gitmodules @@ -79,6 +79,9 @@ [submodule "hlint-refactor"] path = lib/hlint-refactor url = git@github.com:mpickering/hlint-refactor-mode.git +[submodule "htmlize"] + path = lib/htmlize + url = git@github.com:hniksic/emacs-htmlize.git [submodule "ivy"] path = lib/ivy url = git@github.com:abo-abo/swiper.git diff --git a/init.org b/init.org index 04719f0..b4137ec 100644 --- a/init.org +++ b/init.org @@ -876,8 +876,11 @@ In short, my favourite way of life. #+begin_src emacs-lisp (setq org-src-tab-acts-natively t org-src-preserve-indentation nil - org-edit-src-content-indentation 0) + org-edit-src-content-indentation 0 + org-html-doctype "html5" + org-html-html5-fancy t) (add-hook 'org-mode-hook 'org-indent-mode) +(use-package htmlize) #+end_src *** [[https://magit.vc/][Magit]] diff --git a/lib/htmlize b/lib/htmlize new file mode 160000 index 0000000..315a8f2 --- /dev/null +++ b/lib/htmlize @@ -0,0 +1 @@ +Subproject commit 315a8f23cfd3e87642ff9e30ae3300c7a84244d5 -- 2.20.1 From 261083a02f7adee1f72e0fd3613f8977bd10c552 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Wed, 27 Jun 2018 00:28:21 -0400 Subject: [PATCH 04/16] [emacs] update 2 drones lib/helm master v2.9.6-61-gb325a2ac lib/ivy master 0.10.0-267-g716e151 --- lib/helm | 2 +- lib/ivy | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/helm b/lib/helm index 7c5b331..b325a2a 160000 --- a/lib/helm +++ b/lib/helm @@ -1 +1 @@ -Subproject commit 7c5b33188d712789036317529ade020bc06bb763 +Subproject commit b325a2ac145f5174dc770712342e32046919cc70 diff --git a/lib/ivy b/lib/ivy index b8c5190..716e151 160000 --- a/lib/ivy +++ b/lib/ivy @@ -1 +1 @@ -Subproject commit b8c51906ec7db27ed661179574392ea47d8af857 +Subproject commit 716e1518db1ef20ea14f82a248b15ec1c9c87318 -- 2.20.1 From b55d92af42c2e4a420e66439c6c34a19d18db16c Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Wed, 27 Jun 2018 00:29:41 -0400 Subject: [PATCH 05/16] [emacs] assimilate hydra --- .gitmodules | 3 +++ lib/hydra | 1 + 2 files changed, 4 insertions(+) create mode 160000 lib/hydra diff --git a/.gitmodules b/.gitmodules index a307055..b85b7df 100644 --- a/.gitmodules +++ b/.gitmodules @@ -82,6 +82,9 @@ [submodule "htmlize"] path = lib/htmlize url = git@github.com:hniksic/emacs-htmlize.git +[submodule "hydra"] + path = lib/hydra + url = git@github.com:abo-abo/hydra.git [submodule "ivy"] path = lib/ivy url = git@github.com:abo-abo/swiper.git diff --git a/lib/hydra b/lib/hydra new file mode 160000 index 0000000..5b8f662 --- /dev/null +++ b/lib/hydra @@ -0,0 +1 @@ +Subproject commit 5b8f66299249cc771008248279544b8eb3ecdc19 -- 2.20.1 From f82046d8e19313a1ce3d7320754dde3d34672d80 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Wed, 27 Jun 2018 00:30:05 -0400 Subject: [PATCH 06/16] [emacs] some convenience bindings --- init.org | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/init.org b/init.org index b4137ec..85d5709 100644 --- a/init.org +++ b/init.org @@ -1066,7 +1066,8 @@ TODO: break this giant source block down into individual org sections. (ab--leader-keys "b s" 'save-buffer "b b" 'ivy-switch-buffer - "b k" 'kill-buffer + "," 'ivy-switch-buffer + "b k" 'kill-this-buffer "q q" 'evil-save-and-quit) #+end_src -- 2.20.1 From 221cdaa3dff94b6db1a8a412c8ea82c842fa5571 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Wed, 4 Jul 2018 21:27:48 -0400 Subject: [PATCH 07/16] [emacs] add alloy-mode --- .gitmodules | 3 +++ init.org | 6 ++++++ lib/alloy-mode | 1 + 3 files changed, 10 insertions(+) create mode 160000 lib/alloy-mode diff --git a/.gitmodules b/.gitmodules index b85b7df..2742309 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,9 @@ [borg] pushDefault = aminb collective = emacsg +[submodule "alloy-mode"] + path = lib/alloy-mode + url = git@github.com:anlun/alloy-mode.git [submodule "async"] path = lib/async url = git@github.com:jwiegley/emacs-async.git diff --git a/init.org b/init.org index 85d5709..9192dff 100644 --- a/init.org +++ b/init.org @@ -1084,6 +1084,12 @@ TODO: break this giant source block down into individual org sections. #+end_src * Programming modes +** Alloy + +#+begin_src emacs-lisp +(use-package alloy-mode) +#+end_src + ** [[https://github.com/leanprover/lean-mode][Lean]] #+begin_src emacs-lisp diff --git a/lib/alloy-mode b/lib/alloy-mode new file mode 160000 index 0000000..76d9e1d --- /dev/null +++ b/lib/alloy-mode @@ -0,0 +1 @@ +Subproject commit 76d9e1d57cee46bb9caa80b721a6d0bafed1ddfd -- 2.20.1 From 1a0526723e6c8a09015d84c348ec9482dc82777b Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Wed, 4 Jul 2018 21:36:36 -0400 Subject: [PATCH 08/16] [emacs] update 15 drones lib/borg master v2.0.0-64-g738f749 lib/closql master v0.6.0 lib/company master 0.9.6-37-g1f836b6 lib/emacsql master 2.0.2-19-g3b70e8f lib/epkg master v3.1.0 lib/flycheck master 31-156-g0995b0bb lib/general master e690ef9 lib/helm master v2.9.7-21-g40a01d97 lib/hydra master 0.14.0-17-g87cc74b lib/ivy master 0.10.0-271-g0cf0e6d lib/magit master 2.13.0-70-g1e2f1686 lib/magit-popup master v2.12.3-4-ge2060cc lib/notmuch master debian/0.27-1-7-gfd3c9365 lib/use-package master 2.3-398-g4f0f585 lib/which-key master v3.3.0-1-g013cdb7 Some were detached, so I checked out their `master'. --- .gitmodules | 1 + lib/borg | 2 +- lib/closql | 2 +- lib/company | 2 +- lib/emacsql | 2 +- lib/epkg | 2 +- lib/flycheck | 2 +- lib/general | 2 +- lib/helm | 2 +- lib/hydra | 2 +- lib/ivy | 2 +- lib/magit | 2 +- lib/magit-popup | 2 +- lib/notmuch | 2 +- lib/use-package | 2 +- lib/which-key | 2 +- 16 files changed, 16 insertions(+), 15 deletions(-) diff --git a/.gitmodules b/.gitmodules index 2742309..1479c1a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -101,6 +101,7 @@ [submodule "magit"] path = lib/magit url = git@github.com:magit/magit.git + recursive-byte-compile = true info-path = Documentation [submodule "magit-popup"] path = lib/magit-popup diff --git a/lib/borg b/lib/borg index d386e9e..738f749 160000 --- a/lib/borg +++ b/lib/borg @@ -1 +1 @@ -Subproject commit d386e9e9bdfc04f5721b10677e5ddf64bb4a032a +Subproject commit 738f749a9eeb9abecad17d38ce9a3e45c040cede diff --git a/lib/closql b/lib/closql index db22efc..6de4683 160000 --- a/lib/closql +++ b/lib/closql @@ -1 +1 @@ -Subproject commit db22efccdd91974a024eb6f7ddd3b78f499dc7e2 +Subproject commit 6de4683855fc4c00104a8db096183a68c670ace2 diff --git a/lib/company b/lib/company index a913803..1f836b6 160000 --- a/lib/company +++ b/lib/company @@ -1 +1 @@ -Subproject commit a9138030819833c481cea93ddf52442237e4874e +Subproject commit 1f836b6b16d313bddef2cccebf49f42d36c58e28 diff --git a/lib/emacsql b/lib/emacsql index a96b258..3b70e8f 160000 --- a/lib/emacsql +++ b/lib/emacsql @@ -1 +1 @@ -Subproject commit a96b2587c46be256c28c735ac9f68af3dfa5a1fe +Subproject commit 3b70e8f5dd6cc127b68d039772e2818eee49a5d2 diff --git a/lib/epkg b/lib/epkg index 81b1a33..740b06c 160000 --- a/lib/epkg +++ b/lib/epkg @@ -1 +1 @@ -Subproject commit 81b1a33b560eeca402745ccff19cdc422e6b22dd +Subproject commit 740b06cb11871f65b16cda602c5d8fc23138e99f diff --git a/lib/flycheck b/lib/flycheck index 325d5cc..0995b0b 160000 --- a/lib/flycheck +++ b/lib/flycheck @@ -1 +1 @@ -Subproject commit 325d5cce1135d86832439f0d542dd27feacb9498 +Subproject commit 0995b0bb3f518c7350f1428860c0fc7eeaee3c46 diff --git a/lib/general b/lib/general index 38590b2..e690ef9 160000 --- a/lib/general +++ b/lib/general @@ -1 +1 @@ -Subproject commit 38590b2b40d9ae71a047914f938416a7bd01e370 +Subproject commit e690ef9e706f7eea071357520709ef5407a42159 diff --git a/lib/helm b/lib/helm index b325a2a..40a01d9 160000 --- a/lib/helm +++ b/lib/helm @@ -1 +1 @@ -Subproject commit b325a2ac145f5174dc770712342e32046919cc70 +Subproject commit 40a01d979e24c9559d57cdc88f35fa2abee18441 diff --git a/lib/hydra b/lib/hydra index 5b8f662..87cc74b 160000 --- a/lib/hydra +++ b/lib/hydra @@ -1 +1 @@ -Subproject commit 5b8f66299249cc771008248279544b8eb3ecdc19 +Subproject commit 87cc74b2644daa2e9e660bc8a447c84a0ddeeab6 diff --git a/lib/ivy b/lib/ivy index 716e151..0cf0e6d 160000 --- a/lib/ivy +++ b/lib/ivy @@ -1 +1 @@ -Subproject commit 716e1518db1ef20ea14f82a248b15ec1c9c87318 +Subproject commit 0cf0e6da85a72991afe8e08a0514dad6485cbf76 diff --git a/lib/magit b/lib/magit index c98ea64..1e2f168 160000 --- a/lib/magit +++ b/lib/magit @@ -1 +1 @@ -Subproject commit c98ea64ac1e64e72c55614ef482a1fc4b095fb17 +Subproject commit 1e2f1686a16bbe05c12b59fb313d72486460c8ae diff --git a/lib/magit-popup b/lib/magit-popup index 60ff82a..e2060cc 160000 --- a/lib/magit-popup +++ b/lib/magit-popup @@ -1 +1 @@ -Subproject commit 60ff82ac7aa8dbc24eb3c34dbed13ad01f20671c +Subproject commit e2060ccb3105555f55992a995587221820341b24 diff --git a/lib/notmuch b/lib/notmuch index 51f3a07..fd3c936 160000 --- a/lib/notmuch +++ b/lib/notmuch @@ -1 +1 @@ -Subproject commit 51f3a0786f49a22beca2cb1d9f77fa0d560f4bdb +Subproject commit fd3c93650d976f630ba0a60341a1a695422e4969 diff --git a/lib/use-package b/lib/use-package index c03d153..4f0f585 160000 --- a/lib/use-package +++ b/lib/use-package @@ -1 +1 @@ -Subproject commit c03d153e5882109e24c016d3afa6940af673ede6 +Subproject commit 4f0f5856798b8575d3d466fce2a3aed0ebf1acf1 diff --git a/lib/which-key b/lib/which-key index ff79dff..013cdb7 160000 --- a/lib/which-key +++ b/lib/which-key @@ -1 +1 @@ -Subproject commit ff79dfff66f880885c5893dd6fd05dc51173a476 +Subproject commit 013cdb7259c1ff1ce9fb7ffbc637fc368ebd8144 -- 2.20.1 From d43a20d77eecf890502009be72db5659417bff18 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Wed, 4 Jul 2018 21:53:03 -0400 Subject: [PATCH 09/16] [emacs] use dwwmmm/alloy-mode instead of anlun/alloy-mode --- .gitmodules | 2 +- lib/alloy-mode | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 1479c1a..6986302 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,7 +3,7 @@ collective = emacsg [submodule "alloy-mode"] path = lib/alloy-mode - url = git@github.com:anlun/alloy-mode.git + url = git@github.com:dwwmmn/alloy-mode.git [submodule "async"] path = lib/async url = git@github.com:jwiegley/emacs-async.git diff --git a/lib/alloy-mode b/lib/alloy-mode index 76d9e1d..a1be089 160000 --- a/lib/alloy-mode +++ b/lib/alloy-mode @@ -1 +1 @@ -Subproject commit 76d9e1d57cee46bb9caa80b721a6d0bafed1ddfd +Subproject commit a1be089a7466b2dd9a4dc90345e164294e0ba32a -- 2.20.1 From 182de22d6db8183fcc7a833e4af820303d03f13a Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Wed, 4 Jul 2018 21:56:54 -0400 Subject: [PATCH 10/16] [emacs] delete exwm and xelb I've been back on bspwm for a while, and will kely be switching to i3wm or swaywm next. --- .gitmodules | 6 ------ lib/exwm | 1 - lib/xelb | 1 - 3 files changed, 8 deletions(-) delete mode 160000 lib/exwm delete mode 160000 lib/xelb diff --git a/.gitmodules b/.gitmodules index 6986302..165cebc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -52,9 +52,6 @@ [submodule "exec-path-from-shell"] path = lib/exec-path-from-shell url = git@github.com:purcell/exec-path-from-shell.git -[submodule "exwm"] - path = lib/exwm - url = git@github.com:ch11ng/exwm.git [submodule "f"] path = lib/f url = git@github.com:rejeep/f.el.git @@ -148,9 +145,6 @@ [submodule "with-editor"] path = lib/with-editor url = git@github.com:magit/with-editor.git -[submodule "xelb"] - path = lib/xelb - url = git@github.com:ch11ng/xelb.git [submodule "yaml-mode"] path = lib/yaml-mode url = git@github.com:yoshiki/yaml-mode.git diff --git a/lib/exwm b/lib/exwm deleted file mode 160000 index 0037cba..0000000 --- a/lib/exwm +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0037cba87b1ceefc3a65fa3c458aa685689e7e27 diff --git a/lib/xelb b/lib/xelb deleted file mode 160000 index 0a46cc6..0000000 --- a/lib/xelb +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0a46cc62a3a82dcaa1d1bf0929a5207260f635e3 -- 2.20.1 From d787ff549bf4576862fe1b8109ce0d49c5754e8e Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Fri, 6 Jul 2018 11:41:22 -0400 Subject: [PATCH 11/16] [emacs] update 2 drones lib/helm master v2.9.7-28-g3de72536 lib/ivy master 0.10.0-273-g92efd62 --- lib/helm | 2 +- lib/ivy | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/helm b/lib/helm index 40a01d9..3de7253 160000 --- a/lib/helm +++ b/lib/helm @@ -1 +1 @@ -Subproject commit 40a01d979e24c9559d57cdc88f35fa2abee18441 +Subproject commit 3de72536b8025d1573b09c4dbcc3f17fdd390042 diff --git a/lib/ivy b/lib/ivy index 0cf0e6d..92efd62 160000 --- a/lib/ivy +++ b/lib/ivy @@ -1 +1 @@ -Subproject commit 0cf0e6da85a72991afe8e08a0514dad6485cbf76 +Subproject commit 92efd629b04c0e46614129d4408fee95eeee0cd5 -- 2.20.1 From fad62af517873a5a40dc4487a505b88383b794f1 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Fri, 6 Jul 2018 11:56:35 -0400 Subject: [PATCH 12/16] [emacs/alloy-mode] use indentation offset of 2 (instead of 3) --- init.org | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/init.org b/init.org index 9192dff..bcccd39 100644 --- a/init.org +++ b/init.org @@ -1087,7 +1087,8 @@ TODO: break this giant source block down into individual org sections. ** Alloy #+begin_src emacs-lisp -(use-package alloy-mode) +(use-package alloy-mode + :config (setq alloy-basic-offset 2)) #+end_src ** [[https://github.com/leanprover/lean-mode][Lean]] -- 2.20.1 From 695170a4c7ba5c076b3f1c58b66836f20d242fa0 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Fri, 6 Jul 2018 12:11:16 -0400 Subject: [PATCH 13/16] [emacs] assimilate Proof General (for Coq) --- .gitmodules | 3 +++ init.org | 7 +++++++ lib/proof-site | 1 + 3 files changed, 11 insertions(+) create mode 160000 lib/proof-site diff --git a/.gitmodules b/.gitmodules index 165cebc..8aff0aa 100644 --- a/.gitmodules +++ b/.gitmodules @@ -127,6 +127,9 @@ [submodule "popup"] path = lib/popup url = git@github.com:auto-complete/popup-el.git +[submodule "proof-site"] # Proof General + path = lib/proof-site + url = git@github.com:ProofGeneral/PG.git [submodule "s"] path = lib/s url = git@github.com:magnars/s.el.git diff --git a/init.org b/init.org index bcccd39..0a61745 100644 --- a/init.org +++ b/init.org @@ -1091,6 +1091,13 @@ TODO: break this giant source block down into individual org sections. :config (setq alloy-basic-offset 2)) #+end_src +** Coq + +#+begin_src emacs-lisp +(use-package proof-site ; Proof General + :load-path "lib/proof-site/generic/") +#+end_src + ** [[https://github.com/leanprover/lean-mode][Lean]] #+begin_src emacs-lisp diff --git a/lib/proof-site b/lib/proof-site new file mode 160000 index 0000000..b238dab --- /dev/null +++ b/lib/proof-site @@ -0,0 +1 @@ +Subproject commit b238dab7a2f8a52281a920df027c3dea4fc4b28c -- 2.20.1 From 7509592076f88e4ab964dd02bfd3429e2aed6e78 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Fri, 6 Jul 2018 22:53:26 -0400 Subject: [PATCH 14/16] [emacs] assimilate doom-modeline and tao-theme (and their deps) --- .gitmodules | 21 +++++++++++++++++++++ init.org | 18 ++++++++++++++++++ lib/all-the-icons | 1 + lib/doom-modeline | 1 + lib/eldoc-eval | 1 + lib/memoize | 1 + lib/projectile | 1 + lib/shrink-path | 1 + lib/tao-theme | 1 + 9 files changed, 46 insertions(+) create mode 160000 lib/all-the-icons create mode 160000 lib/doom-modeline create mode 160000 lib/eldoc-eval create mode 160000 lib/memoize create mode 160000 lib/projectile create mode 160000 lib/shrink-path create mode 160000 lib/tao-theme diff --git a/.gitmodules b/.gitmodules index 8aff0aa..efd8cae 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,9 @@ [borg] pushDefault = aminb collective = emacsg +[submodule "all-the-icons"] + path = lib/all-the-icons + url = git@github.com:domtronn/all-the-icons.el.git [submodule "alloy-mode"] path = lib/alloy-mode url = git@github.com:dwwmmn/alloy-mode.git @@ -33,6 +36,12 @@ [submodule "diff-hl"] path = lib/diff-hl url = git@github.com:dgutov/diff-hl.git +[submodule "doom-modeline"] + path = lib/doom-modeline + url = git@github.com:seagle0128/doom-modeline.git +[submodule "eldoc-eval"] + path = lib/eldoc-eval + url = git@github.com:thierryvolpiatto/eldoc-eval.git [submodule "emacsql"] path = lib/emacsql url = git@github.com:skeeto/emacsql.git @@ -106,6 +115,9 @@ [submodule "markdown-mode"] path = lib/markdown-mode url = git@github.com:jrblevin/markdown-mode.git +[submodule "memoize"] + path = lib/memoize + url = git@github.com:skeeto/emacs-memoize.git [submodule "no-littering"] path = lib/no-littering url = git@github.com:emacscollective/no-littering.git @@ -127,15 +139,24 @@ [submodule "popup"] path = lib/popup url = git@github.com:auto-complete/popup-el.git +[submodule "projectile"] + path = lib/projectile + url = git@github.com:bbatsov/projectile.git [submodule "proof-site"] # Proof General path = lib/proof-site url = git@github.com:ProofGeneral/PG.git [submodule "s"] path = lib/s url = git@github.com:magnars/s.el.git +[submodule "shrink-path"] + path = lib/shrink-path + url = git@gitlab.com:bennya/shrink-path.el.git [submodule "smex"] # used by counsel-M-x path = lib/smex url = git@github.com:nonsequitur/smex.git +[submodule "tao-theme"] + path = lib/tao-theme + url = git@github.com:11111000000/tao-theme-emacs.git [submodule "undo-tree"] path = lib/undo-tree url = git@github.com:emacsorphanage/undo-tree.git diff --git a/init.org b/init.org index 0a61745..e9f8358 100644 --- a/init.org +++ b/init.org @@ -1304,6 +1304,24 @@ Emacs package that displays available keybindings in popup :defer 1 :config (which-key-mode)) #+end_src + +** doom-modeline + +#+begin_src emacs-lisp +(use-package doom-modeline + :demand t + :config (setq doom-modeline-height 32) + :hook (after-init . doom-modeline-init)) +#+end_src + +** tao-theme + +#+begin_src emacs-lisp +(use-package tao-theme + :demand t + :config (load-theme 'tao-yang t)) +#+end_src + * Email ** notmuch diff --git a/lib/all-the-icons b/lib/all-the-icons new file mode 160000 index 0000000..52d1f2d --- /dev/null +++ b/lib/all-the-icons @@ -0,0 +1 @@ +Subproject commit 52d1f2d36468146c93aaf11399f581401a233306 diff --git a/lib/doom-modeline b/lib/doom-modeline new file mode 160000 index 0000000..320fe0e --- /dev/null +++ b/lib/doom-modeline @@ -0,0 +1 @@ +Subproject commit 320fe0ea342fc0a4e7e4d5a99a0411e8f5dee824 diff --git a/lib/eldoc-eval b/lib/eldoc-eval new file mode 160000 index 0000000..f59a1ae --- /dev/null +++ b/lib/eldoc-eval @@ -0,0 +1 @@ +Subproject commit f59a1ae7ecfa97ef659c7adb93e0673419acc485 diff --git a/lib/memoize b/lib/memoize new file mode 160000 index 0000000..9a56126 --- /dev/null +++ b/lib/memoize @@ -0,0 +1 @@ +Subproject commit 9a561268ffb550b257a08710489a95cd087998b6 diff --git a/lib/projectile b/lib/projectile new file mode 160000 index 0000000..ed47f7d --- /dev/null +++ b/lib/projectile @@ -0,0 +1 @@ +Subproject commit ed47f7de30f40cab6e8f688ccd577cca26994865 diff --git a/lib/shrink-path b/lib/shrink-path new file mode 160000 index 0000000..9d06c45 --- /dev/null +++ b/lib/shrink-path @@ -0,0 +1 @@ +Subproject commit 9d06c453d1537df46a4b703a29213cc7f7857aa0 diff --git a/lib/tao-theme b/lib/tao-theme new file mode 160000 index 0000000..a97df8c --- /dev/null +++ b/lib/tao-theme @@ -0,0 +1 @@ +Subproject commit a97df8c51d77696787aaf55c67207f19c803fabe -- 2.20.1 From f9f86b085fb5a026d76af336ad8a23bbd743182b Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sat, 7 Jul 2018 02:12:48 -0400 Subject: [PATCH 15/16] [emacs] remove vestigial EXWM configuration --- init.org | 226 ------------------------------------------------------- 1 file changed, 226 deletions(-) diff --git a/init.org b/init.org index e9f8358..cfa190d 100644 --- a/init.org +++ b/init.org @@ -637,232 +637,6 @@ Roll your own modal mode (push #'minibufferp evil-escape-inhibit-functions)) #+end_src -*** [[https://github.com/ch11ng/exwm][EXWM]] (window manager) - -#+begin_src emacs-lisp :tangle no -(use-package exwm - :demand t - :config - (require 'exwm-config) - - ;; Set the initial workspace number. - (setq exwm-workspace-number 4) - - ;; Make class name the buffer name, truncating beyond 50 characters - (defun exwm-rename-buffer () - (interactive) - (exwm-workspace-rename-buffer - (concat exwm-class-name ":" - (if (<= (length exwm-title) 50) exwm-title - (concat (substring exwm-title 0 49) "..."))))) - (add-hook 'exwm-update-class-hook 'exwm-rename-buffer) - (add-hook 'exwm-update-title-hook 'exwm-rename-buffer) - - ;; 's-R': Reset - (exwm-input-set-key (kbd "s-R") #'exwm-reset) - ;; 's-\': Switch workspace - (exwm-input-set-key (kbd "s-\\") #'exwm-workspace-switch) - ;; 's-N': Switch to certain workspace - (dotimes (i 10) - (exwm-input-set-key (kbd (format "s-%d" i)) - (lambda () - (interactive) - (exwm-workspace-switch-create i)))) - ;; 's-SPC': Launch application - ;; (exwm-input-set-key - ;; (kbd "s-SPC") - ;; (lambda (command) - ;; (interactive (list (read-shell-command "➜ "))) - ;; (start-process-shell-command command nil command))) - - (exwm-input-set-key (kbd "M-s-SPC") #'counsel-linux-app) - - ;; Shorten 'C-c C-q' to 'C-q' - (define-key exwm-mode-map [?\C-q] #'exwm-input-send-next-key) - - ;; Line-editing shortcuts - (setq exwm-input-simulation-keys - '(;; movement - ([?\C-b] . [left]) - ([?\M-b] . [C-left]) - ([?\C-f] . [right]) - ([?\M-f] . [C-right]) - ([?\C-p] . [up]) - ([?\C-n] . [down]) - ([?\C-a] . [home]) - ([?\C-e] . [end]) - ([?\M-v] . [prior]) - ([?\C-v] . [next]) - ([?\C-d] . [delete]) - ([?\C-k] . [S-end delete]) - ;; cut/copy/paste - ;; ([?\C-w] . [?\C-x]) - ([?\M-w] . [?\C-c]) - ([?\C-y] . [?\C-v]) - ;; search - ([?\C-s] . [?\C-f]))) - - ;; Enable EXWM - (exwm-enable) - - (add-hook 'exwm-init-hook #'exwm-config--fix/ido-buffer-window-other-frame) - - (require 'exwm-systemtray) - (exwm-systemtray-enable) - - (require 'exwm-randr) - (exwm-randr-enable) - - ;; (exwm-input-set-key - ;; (kbd "s-") - ;; (lambda () - ;; (interactive) - ;; (start-process "urxvt" nil "urxvt"))) - - ;; (exwm-input-set-key - ;; (kbd "s-SPC") ;; rofi doesn't properly launch programs when started from emacs - ;; (lambda () - ;; (interactive) - ;; (start-process-shell-command "rofi-run" nil "rofi -show run -display-run '> ' -display-window ' 🗔 '"))) - - ;; (exwm-input-set-key - ;; (kbd "s-/") - ;; (lambda () - ;; (interactive) - ;; (start-process-shell-command "rofi-win" nil "rofi -show window -display-run '> ' -display-window ' 🗔 '"))) - - ;; (exwm-input-set-key - ;; (kbd "M-SPC") - ;; (lambda () - ;; (interactive) - ;; (start-process "rofi-pass" nil "rofi-pass"))) - - ;; (exwm-input-set-key - ;; (kbd "") - ;; (lambda () - ;; (interactive) - ;; (start-process-shell-command "pamixer" nil "pamixer --toggle-mute"))) - - ;; (exwm-input-set-key - ;; (kbd "") - ;; (lambda () - ;; (interactive) - ;; (start-process-shell-command "pamixer" nil "pamixer --allow-boost --decrease 5"))) - - ;; (exwm-input-set-key - ;; (kbd "") - ;; (lambda () - ;; (interactive) - ;; (start-process-shell-command "pamixer" nil "pamixer --allow-boost --increase 5"))) - - ;; (exwm-input-set-key - ;; (kbd "") - ;; (lambda () - ;; (interactive) - ;; (start-process-shell-command "mpc" nil "mpc toggle"))) - - ;; (exwm-input-set-key - ;; (kbd "") - ;; (lambda () - ;; (interactive) - ;; (start-process-shell-command "mpc" nil "mpc prev"))) - - ;; (exwm-input-set-key - ;; (kbd "") - ;; (lambda () - ;; (interactive) - ;; (start-process-shell-command "mpc" nil "mpv next"))) - - (defun ab--exwm-pasystray () - "A command used to start pasystray." - (interactive) - (if (executable-find "pasystray") - (progn - (message "EXWM: starting pasystray ...") - (start-process-shell-command "pasystray" nil "pasystray --notify=all")) - (message "EXWM: pasystray is not installed, abort!"))) - - (add-hook 'exwm-init-hook #'ab--exwm-pasystray) - - (exwm-input-set-key - (kbd "s-t") - (lambda () - (interactive) - (exwm-floating-toggle-floating))) - - (exwm-input-set-key - (kbd "s-f") - (lambda () - (interactive) - (exwm-layout-toggle-fullscreen))) - - (exwm-input-set-key - (kbd "s-w") - (lambda () - (interactive) - (kill-buffer (current-buffer)))) - - (exwm-input-set-key - (kbd "s-q") - (lambda () - (interactive) - (exwm-manage--kill-client)))) -#+end_src - -**** sxhkdrc -:PROPERTIES: -:header-args+: :tangle ~/.config/sxhkd/sxhkdrc :mkdirp yes -:END: - -#+begin_src conf :tangle no -# terminal emulator -super + Return - urxvt - -# program launcher -super + space - rofi -show run -display-run '> ' -display-window ' 🗔 ' - -# window finder -super + slash - rofi -show window -display-run '> ' -display-window ' 🗔 ' - -# password manager -alt + space - rofi-pass - -# make sxhkd reload its configuration files: -super + Escape - pkill -USR1 -x sxhkd - -# volume {up,down} -XF86Audio{Raise,Lower}Volume - pamixer --allow-boost --{in,de}crease 5 - -# mute -XF86AudioMute - pamixer --toggle-mute - -# playback control -XF86Audio{Play,Prev,Next} - mpc {toggle,prev,next} - -# Toggle keyboard layout -# super + F7 -# toggle-layout - -# Toggle Xfce presentation mode -# XF86LaunchB -# toggle-presentation-mode - -# monitor brightness -XF86MonBrightness{Up,Down} - light -{A,U} 5 - -super + apostrophe - rofi-light -#+end_src - *** [[https://orgmode.org/][Org mode]] #+begin_quote -- 2.20.1 From d43a8eda4310d61e5a7139c46661504be384d000 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sat, 7 Jul 2018 02:19:55 -0400 Subject: [PATCH 16/16] [emacs] add some header links --- init.org | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/init.org b/init.org index cfa190d..01d0e87 100644 --- a/init.org +++ b/init.org @@ -858,21 +858,21 @@ TODO: break this giant source block down into individual org sections. #+end_src * Programming modes -** Alloy +** [[http://alloytools.org][Alloy]] (with [[https://github.com/dwwmmn/alloy-mode][alloy-mode]]) #+begin_src emacs-lisp (use-package alloy-mode :config (setq alloy-basic-offset 2)) #+end_src -** Coq +** [[https://coq.inria.fr][Coq]] (with [[https://github.com/ProofGeneral/PG][Proof General]]) #+begin_src emacs-lisp (use-package proof-site ; Proof General :load-path "lib/proof-site/generic/") #+end_src -** [[https://github.com/leanprover/lean-mode][Lean]] +** [[https://leanprover.github.io][Lean]] (with [[https://github.com/leanprover/lean-mode][lean-mode]]) #+begin_src emacs-lisp (use-package lean-mode @@ -1079,7 +1079,7 @@ Emacs package that displays available keybindings in popup :config (which-key-mode)) #+end_src -** doom-modeline +** [[https://github.com/seagle0128/doom-modeline][doom-modeline]] #+begin_src emacs-lisp (use-package doom-modeline @@ -1088,7 +1088,7 @@ Emacs package that displays available keybindings in popup :hook (after-init . doom-modeline-init)) #+end_src -** tao-theme +** [[https://github.com/11111000000/tao-theme-emacs][tao-theme]] #+begin_src emacs-lisp (use-package tao-theme @@ -1097,7 +1097,7 @@ Emacs package that displays available keybindings in popup #+end_src * Email -** notmuch +** [[https://notmuchmail.org][notmuch]] #+begin_src emacs-lisp (defun ab/notmuch () -- 2.20.1