From c68e79ca4f8b6c1c8edfe4d9bdb308bb73e40947 Mon Sep 17 00:00:00 2001 From: Joe Frikker Date: Tue, 30 Jun 2026 15:42:28 -0400 Subject: [PATCH] Bufferlo, and re-add God mode --- home.org | 49 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/home.org b/home.org index e266024..06d0767 100644 --- a/home.org +++ b/home.org @@ -1072,6 +1072,7 @@ This configuration affects general text editing, across all modes. First, some p avy edit-indirect embark + god-mode # evil # evil-collection # evil-org @@ -1104,7 +1105,22 @@ its own devil-mode-only repeat maps that don't interfere when using normal modif ;; (add-hook 'org-mode-hook 'evil-org-mode) ;; (evil-org-set-key-theme '(navigation insert textobjects additional calendar)) ;; (require 'evil-org-agenda) - ;; (evil-org-agenda-set-keys) + ;; (evil-org-agenda-set-keys) + (require 'god-mode) + (require 'which-key) + + (bind-keys :map god-local-mode-map + ("i" . (lambda () (interactive) (god-mode-all -1))) + ("z" . repeat)) + (bind-keys ("" . (lambda () (interactive) (god-mode-all 1)))) + (defun my-god-mode-update-cursor-type () + (setq cursor-type (cond + (org-present-mode nil) + ((or (and (featurep 'god-mode) god-local-mode) buffer-read-only) 'box) + (t 'bar)))) + + (add-hook 'post-command-hook 'my-god-mode-update-cursor-type) + (which-key-enable-god-mode-support) #+END_SRC Avy allows jumping to any place on the screen with just a few keystrokes. I've stolen most of these @@ -1162,6 +1178,34 @@ Just "silently" wrap when searching at the bottom of a document. (bind-keys ("C-x 4 n" . edit-indirect-region)) #+END_SRC +** Workflow +:PROPERTIES: +:header-args:elisp: :tangle target/desktop/emacs-workflow.el +:END: + +#+BEGIN_SRC nix :tangle target/desktop/emacs-workflow.nix + { + programs.emacs = { + enable = true; + extraPackages = epkgs: with epkgs; [ + bufferlo + ]; + extraConfig = builtins.readFile ./emacs-workflow.el; + }; + } +#+END_SRC + +#+BEGIN_SRC elisp + (bufferlo-mode) + + (with-eval-after-load 'bufferlo + (setq mode-line-misc-info + (assq-delete-all 'bufferlo-mode mode-line-misc-info))) + + (bind-keys + ("s-b" . bufferlo-switch-to-buffer)) +#+END_SRC + ** Language Support :PROPERTIES: :header-args:elisp: :tangle target/desktop/emacs-languages.el @@ -1360,7 +1404,7 @@ for completion. That makes it really annoying to use; don't use yasnippet with e #+BEGIN_SRC elisp (setopt inferior-lisp-program "sbcl") - ;; (setopt lispy-compat '(god-mode edebug)) + (setopt lispy-compat '(god-mode edebug)) (add-hook 'emacs-lisp-mode-hook (lambda () (lispy-mode 1))) (add-hook 'lisp-mode-hook (lambda () (lispy-mode 1))) ;; (with-eval-after-load 'lispy @@ -1540,7 +1584,6 @@ for completion. That makes it really annoying to use; don't use yasnippet with e ;; ("C-x M-:" . consult-complex-command) ("C-x b" . consult-buffer) - ("s-b" . consult-project-buffer) ("s-B" . consult-buffer) ("C-x 4 b" . consult-buffer-other-window) ("C-x 5 b" . consult-buffer-other-frame)