This commit is contained in:
Joe Frikker
2026-07-24 17:08:51 -04:00
parent 5f96f98158
commit e6240591c9
+77 -42
View File
@@ -188,7 +188,7 @@ These programs require a full desktop environment:
nerd-fonts.symbols-only
(iosevka-bin.override { variant = "Aile"; })
(iosevka-bin.override { variant = "Etoile"; })
(iosevka-bin.override { variant = "SGr-IosevkaTerm"; })
(iosevka-bin.override { variant = "SGr-IosevkaTermSS14"; })
keymapp
proton-pass
wireshark
@@ -835,6 +835,9 @@ Turn off some default settings that I don't find useful.
(setopt mouse-wheel-tilt-scroll t)
(setq-default truncate-lines t)
(setopt tab-bar-show nil)
(tab-bar-mode)
#+END_SRC
Make sure which-key mode is always on. The on-the-fly keymap help it gives is indespensable.
@@ -960,11 +963,12 @@ Set up a few project- / workspace-related key bindings.
#+BEGIN_SRC elisp
(bind-keys ("s-f" . project-find-file)
("s-F" . project-switch-project)
("s-s" . persp-switch))
;; ("s-s" . persp-switch)
)
;; (with-eval-after-load 'tab-bar
;; (bind-keys :map tab-bar-mode-map
;; ("s-s" . tab-bar-switch-to-tab)))
(with-eval-after-load 'tab-bar
(bind-keys :map tab-bar-mode-map
("s-s" . tab-bar-switch-to-tab)))
#+END_SRC
Don't run a server. I'm not using this, I can always turn it back on if I need to.
@@ -1035,27 +1039,40 @@ content to be.
when height do (progn (window-resize child (- height (window-height child)))
(window-preserve-size child nil t))))))))
(require 'perspective)
(setopt persp-mode-prefix-key (kbd "C-x t"))
(setopt persp-show-modestring nil)
(persp-mode)
(defun jf/enforce-right-side-width (win)
"Resize side window WIN so its frame keeps 120 columns for the rest of the frame."
(let ((width (max 1 (- (frame-width (window-frame win)) 120))))
(window-resize win (- width (window-width win)) t)))
(defun jf/popper-group-by-owning-perspective ()
"Return the name of the perspective that owns the current buffer.
(defun jf/enforce-right-side-widths (frame)
"Re-apply `jf/enforce-right-side-width' to all of FRAME's right-side windows."
(dolist (win (window-list frame 'nomini))
(when (eq (window-parameter win 'window-side) 'right)
(jf/enforce-right-side-width win))))
Unlike `popper-group-by-perspective', which just returns whichever
perspective happens to be active on the frame right now, this looks
up which perspective's buffer list the popup buffer actually belongs
to. This matters because popper re-groups popups on
`window-configuration-change-hook', which perspective.el triggers
,*after* switching the frame's active perspective -- so
`popper-group-by-perspective' ends up filing a popup under the
perspective you just switched *to* rather than the one it came from."
(let ((buf (current-buffer)))
(or (cl-loop for persp being the hash-values of (perspectives-hash (selected-frame))
if (memq buf (persp-buffers persp))
return (persp-name persp))
(persp-current-name))))
(add-hook 'window-size-change-functions #'jf/enforce-right-side-widths)
;; (require 'perspective)
;; (setopt persp-mode-prefix-key (kbd "C-x t"))
;; (setopt persp-show-modestring nil)
;; (persp-mode)
;; (defun jf/popper-group-by-owning-perspective ()
;; "Return the name of the perspective that owns the current buffer.
;; Unlike `popper-group-by-perspective', which just returns whichever
;; perspective happens to be active on the frame right now, this looks
;; up which perspective's buffer list the popup buffer actually belongs
;; to. This matters because popper re-groups popups on
;; `window-configuration-change-hook', which perspective.el triggers
;; *after* switching the frame's active perspective -- so
;; `popper-group-by-perspective' ends up filing a popup under the
;; perspective you just switched *to* rather than the one it came from."
;; (let ((buf (current-buffer)))
;; (or (cl-loop for persp being the hash-values of (perspectives-hash (selected-frame))
;; if (memq buf (persp-buffers persp))
;; return (persp-name persp))
;; (persp-current-name))))
(setopt popper-reference-buffers
'("\\*Flymake diagnostics .*"
@@ -1085,7 +1102,7 @@ content to be.
"\\*List .*"
"\\*eldoc\\*"))
(setopt popper-display-control nil)
(setopt popper-group-function 'jf/popper-group-by-owning-perspective)
;; (setopt popper-group-function 'jf/popper-group-by-owning-perspective)
(popper-mode)
(popper-echo-mode)
@@ -1128,9 +1145,9 @@ content to be.
(display-buffer-in-side-window)
(side . right)
(slot . 0)
(window-width . 93)
(window-width . jf/enforce-right-side-width)
(window-height . jf/enforce-right-side-heights)
(preserve-size . (t . nil))
(preserve-size . (nil . nil))
(window-parameters (no-delete-other-windows . t)
(no-other-window . t)))
((or "\\*Embark Actions\\*"
@@ -1138,9 +1155,9 @@ content to be.
(display-buffer-in-side-window)
(side . right)
(slot . -1)
(window-width . 93)
(window-width . jf/enforce-right-side-width)
(window-height . jf/enforce-right-side-heights)
(preserve-size . (t . t))
(preserve-size . (nil . t))
(window-parameters (no-delete-other-windows . t)
(no-other-window . t)))))
@@ -1793,7 +1810,21 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
(eval-when-compile
(require 'consult))
(require 'perspective)
;; (require 'perspective)
;; (with-eval-after-load 'consult
;; (consult-customize
;; consult-theme :preview-key '(:debounce 0.2 any)
;; consult-ripgrep consult-git-grep consult-grep consult-man
;; consult-bookmark consult-recent-file consult-xref
;; consult-source-bookmark consult-source-file-register
;; consult-source-recent-file
;; consult-source-buffer
;; ;; :preview-key "M-."
;; consult-source-project-recent-file
;; :preview-key '(:debounce 0.4 any))
;; (consult-customize consult-source-buffer :hidden t :default nil)
;; (add-to-list 'consult-buffer-sources persp-consult-source))
(with-eval-after-load 'consult
(consult-customize
consult-theme :preview-key '(:debounce 0.2 any)
@@ -1804,9 +1835,7 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
consult-source-buffer
;; :preview-key "M-."
consult-source-project-recent-file
:preview-key '(:debounce 0.4 any))
(consult-customize consult-source-buffer :hidden t :default nil)
(add-to-list 'consult-buffer-sources persp-consult-source))
:preview-key '(:debounce 0.4 any)))
(setopt consult-narrow-key "<") ;; "C-+"
@@ -1958,9 +1987,10 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
;; (setq org-roam-node-display-template (concat "${title:*} " (propertize "${tags:10}" 'face 'org-tag)))
;; (org-roam-db-autosync-mode)
(add-hook 'org-mode-hook 'org-modern-mode)
(use-package org-modern
:hook org-mode-hook)
(define-key org-mode-map (kbd "C-c C-r") verb-command-map)
;; (define-key org-mode-map (kbd "C-c C-r") verb-command-map)
#+END_SRC
** Terminal
@@ -1981,7 +2011,9 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
#+END_SRC
#+BEGIN_SRC elisp
(eat-eshell-mode)
(use-package eat
:commands (eat)
:hook (eshell-load-hook . eat-eshell-mode))
#+END_SRC
** Slack
@@ -2045,10 +2077,13 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
#+END_SRC
#+BEGIN_SRC elisp
(setopt age-default-identity "~/source/dotfiles/keys/yubi1age.txt")
(setopt age-default-recipient "~/source/dotfiles/keys/myself.txt")
(setenv "PINENTRY_PROGRAM" "pinentry-mac")
(age-file-enable)
(use-package age
:custom
(setopt age-default-identity "~/source/dotfiles/keys/yubi1age.txt")
(age-default-recipient "~/source/dotfiles/keys/myself.txt")
:config
(setenv "PINENTRY_PROGRAM" "pinentry-mac")
(age-file-enable))
#+END_SRC
** Claude Code
@@ -2197,7 +2232,7 @@ I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
;; (set-face-attribute 'default nil :font "JetBrainsMono Nerd Font" :height 130)
;; (set-face-attribute 'fixed-pitch nil :font "JetBrainsMono Nerd Font" :height 130)
(set-face-attribute 'default nil :font "Iosevka Term" :height 130 :width 'expanded)
(set-face-attribute 'fixed-pitch nil :font "Iosevka Term" :height 130 :width 'expanded)
(set-face-attribute 'default nil :font "Iosevka Term SS14" :height 130 :width 'expanded)
(set-face-attribute 'fixed-pitch nil :font "Iosevka Term SS14" :height 130 :width 'expanded)
(set-face-attribute 'variable-pitch nil :font "Iosevka Etoile" :height 130)
#+END_SRC