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