This commit is contained in:
Joe Frikker
2026-07-15 15:21:15 -04:00
parent a1abf5b4a1
commit 5f96f98158
+59 -21
View File
@@ -201,7 +201,13 @@ These programs require a full desktop environment:
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
linear linear
slack (slack.overrideAttrs {
version = "4.50.143";
src = pkgs.fetchurl {
url = "https://downloads.slack-edge.com/desktop-releases/mac/arm64/4.50.143/Slack-4.50.143-macOS.dmg";
hash = "sha256-f5oYi8NPKXWpDcowFYMUjptbQs4V9hK2bm1TuaQeJn0=";
};
})
teams teams
]; ];
} }
@@ -1034,12 +1040,30 @@ content to be.
(setopt persp-show-modestring nil) (setopt persp-show-modestring nil)
(persp-mode) (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 (setopt popper-reference-buffers
'("\\*Flymake diagnostics .*" '("\\*Flymake diagnostics .*"
"\\*Embark Export: .*" "\\*Embark Export: .*"
"\\*Embark Collect .*" "\\*Embark Collect .*"
"\\*xref\\*" "\\*xref\\*"
"\\*compilation\\*" "\\*compilation\\*"
"\\*pnpm:.*"
"\\*sly-mrepl *" "\\*sly-mrepl *"
"\\*Messages\\*" "\\*Messages\\*"
"\\*lispy-message\\*" "\\*lispy-message\\*"
@@ -1061,7 +1085,7 @@ content to be.
"\\*List .*" "\\*List .*"
"\\*eldoc\\*")) "\\*eldoc\\*"))
(setopt popper-display-control nil) (setopt popper-display-control nil)
(setopt popper-group-function 'popper-group-by-perspective) (setopt popper-group-function 'jf/popper-group-by-owning-perspective)
(popper-mode) (popper-mode)
(popper-echo-mode) (popper-echo-mode)
@@ -1075,6 +1099,7 @@ content to be.
"\\*Embark Collect .*" "\\*Embark Collect .*"
"\\*xref\\*" "\\*xref\\*"
"\\*compilation\\*" "\\*compilation\\*"
"\\*pnpm:.*"
"\\*sly-mrepl *" "\\*sly-mrepl *"
"\\*Messages\\*" "\\*Messages\\*"
"\\*lispy-message\\*" "\\*lispy-message\\*"
@@ -1185,7 +1210,7 @@ its own devil-mode-only repeat maps that don't interfere when using normal modif
(bind-keys ("<escape>" . (lambda () (interactive) (god-mode-all 1)))) (bind-keys ("<escape>" . (lambda () (interactive) (god-mode-all 1))))
(defun my-god-mode-update-cursor-type () (defun my-god-mode-update-cursor-type ()
(setq cursor-type (cond (setq cursor-type (cond
(org-present-mode nil) ((and (featurep 'org-present) org-present-mode) nil)
((or (and (featurep 'god-mode) god-local-mode) buffer-read-only) 'box) ((or (and (featurep 'god-mode) god-local-mode) buffer-read-only) 'box)
(t 'bar)))) (t 'bar))))
@@ -1317,6 +1342,7 @@ Just "silently" wrap when searching at the bottom of a document.
# lispyville # lispyville
lua-mode lua-mode
nix-mode nix-mode
pnpm-mode
prisma-ts-mode prisma-ts-mode
rust-mode rust-mode
sly sly
@@ -1576,6 +1602,9 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
(with-eval-after-load 'typescript-ts-mode (with-eval-after-load 'typescript-ts-mode
(define-key typescript-ts-mode-map (kbd "C-c '") #'my/edit-indirect-tagged-template-at-point) (define-key typescript-ts-mode-map (kbd "C-c '") #'my/edit-indirect-tagged-template-at-point)
(define-key tsx-ts-mode-map (kbd "C-c '") #'my/edit-indirect-tagged-template-at-point)) (define-key tsx-ts-mode-map (kbd "C-c '") #'my/edit-indirect-tagged-template-at-point))
(with-eval-after-load 'eglot
(add-to-list 'eglot-server-programs '((prisma-ts-mode) "prisma-language-server" "--stdio")))
#+END_SRC #+END_SRC
*** Java *** Java
@@ -1861,11 +1890,11 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
(set-face-attribute 'org-level-7 nil :font "Iosevka Aile") (set-face-attribute 'org-level-7 nil :font "Iosevka Aile")
(set-face-attribute 'org-level-8 nil :font "Iosevka Aile") (set-face-attribute 'org-level-8 nil :font "Iosevka Aile")
(require 'org-present) (defvar-local my/org-present-face-remapping-cookies nil)
(with-eval-after-load 'org-present
(require 'face-remap) (require 'face-remap)
(require 'visual-fill-column) (require 'visual-fill-column)
(defvar-local my/org-present-face-remapping-cookies nil)
(defun my/org-present-start () (defun my/org-present-start ()
(setq-local my/org-present-face-remapping-cookies nil) (setq-local my/org-present-face-remapping-cookies nil)
;; Tweak font sizes ;; Tweak font sizes
@@ -1917,17 +1946,17 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
) )
(add-hook 'org-present-mode-hook 'my/org-present-start) (add-hook 'org-present-mode-hook 'my/org-present-start)
(add-hook 'org-present-mode-quit-hook 'my/org-present-end) (add-hook 'org-present-mode-quit-hook 'my/org-present-end))
(require 'org-roam) ;; (require 'org-roam)
(bind-keys ("C-c n l" . org-roam-buffer-toggle) ;; (bind-keys ("C-c n l" . org-roam-buffer-toggle)
("C-c n f" . org-roam-node-find) ;; ("C-c n f" . org-roam-node-find)
("C-c n g" . org-roam-graph) ;; ("C-c n g" . org-roam-graph)
("C-c n i" . org-roam-node-insert) ;; ("C-c n i" . org-roam-node-insert)
("C-c n c" . org-roam-capture)) ;; ("C-c n c" . org-roam-capture))
;; (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) (add-hook 'org-mode-hook 'org-modern-mode)
@@ -1973,9 +2002,16 @@ 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
(setopt lui-time-stamp-format "[%Y-%m-%d %H:%M]") (use-package lui
(setopt slack-render-profile-images-p nil) :defer t
(setopt slack-buffer-function #'switch-to-buffer) :custom
(lui-time-stamp-format "[%Y-%m-%d %H:%M]"))
(use-package slack
:commands slack-start
:custom
(slack-render-profile-images-p nil)
(slack-buffer-function #'switch-to-buffer))
#+END_SRC #+END_SRC
** Ledger ** Ledger
@@ -2027,12 +2063,13 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
enable = true; enable = true;
extraPackages = epkgs: with epkgs; [ extraPackages = epkgs: with epkgs; [
(epkgs.trivialBuild { (epkgs.trivialBuild {
name = "claude-code"; pname = "claude-code";
version = "0.4.5";
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
owner = "stevemolitor"; owner = "stevemolitor";
repo = "claude-code.el"; repo = "claude-code.el";
rev = "4a9914bd4161eb43f489820f9174c62390e5adc8"; rev = "03199df8b3a1e9cd4857f0851f7a912ba524aff3";
sha256 = "sha256-ISlD6q1hceckry1Jd19BX1MfobHJxng5ulX2gq9f644="; sha256 = "sha256-5QJrWIu4EgnHcOqMwlrs2JBBx7aI9OaSJswesr6Apfk=";
}; };
packageRequires = [ epkgs.inheritenv ]; packageRequires = [ epkgs.inheritenv ];
}) })
@@ -2043,8 +2080,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
(require 'claude-code) (use-package claude-code
(keymap-global-set "C-c c" claude-code-command-map) :bind-keymap ("C-c c" . claude-code-command-map)
:custom (claude-code-optimize-window-resize nil))
#+END_SRC #+END_SRC
* Theme * Theme
I like Catppuccin Frappe as my theme. Let's use it in as many places as we can. I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.