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; [
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
];
}
@@ -1034,12 +1040,30 @@ content to be.
(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 .*"
"\\*Embark Export: .*"
"\\*Embark Collect .*"
"\\*xref\\*"
"\\*compilation\\*"
"\\*pnpm:.*"
"\\*sly-mrepl *"
"\\*Messages\\*"
"\\*lispy-message\\*"
@@ -1061,7 +1085,7 @@ content to be.
"\\*List .*"
"\\*eldoc\\*"))
(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-echo-mode)
@@ -1075,6 +1099,7 @@ content to be.
"\\*Embark Collect .*"
"\\*xref\\*"
"\\*compilation\\*"
"\\*pnpm:.*"
"\\*sly-mrepl *"
"\\*Messages\\*"
"\\*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))))
(defun my-god-mode-update-cursor-type ()
(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)
(t 'bar))))
@@ -1317,6 +1342,7 @@ Just "silently" wrap when searching at the bottom of a document.
# lispyville
lua-mode
nix-mode
pnpm-mode
prisma-ts-mode
rust-mode
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
(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))
(with-eval-after-load 'eglot
(add-to-list 'eglot-server-programs '((prisma-ts-mode) "prisma-language-server" "--stdio")))
#+END_SRC
*** 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-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 'visual-fill-column)
(defvar-local my/org-present-face-remapping-cookies nil)
(defun my/org-present-start ()
(setq-local my/org-present-face-remapping-cookies nil)
;; 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-quit-hook 'my/org-present-end)
(add-hook 'org-present-mode-quit-hook 'my/org-present-end))
(require 'org-roam)
(bind-keys ("C-c n l" . org-roam-buffer-toggle)
("C-c n f" . org-roam-node-find)
("C-c n g" . org-roam-graph)
("C-c n i" . org-roam-node-insert)
("C-c n c" . org-roam-capture))
;; (require 'org-roam)
;; (bind-keys ("C-c n l" . org-roam-buffer-toggle)
;; ("C-c n f" . org-roam-node-find)
;; ("C-c n g" . org-roam-graph)
;; ("C-c n i" . org-roam-node-insert)
;; ("C-c n c" . org-roam-capture))
;; (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)
@@ -1973,9 +2002,16 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
#+END_SRC
#+BEGIN_SRC elisp
(setopt lui-time-stamp-format "[%Y-%m-%d %H:%M]")
(setopt slack-render-profile-images-p nil)
(setopt slack-buffer-function #'switch-to-buffer)
(use-package lui
:defer t
: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
** Ledger
@@ -2027,12 +2063,13 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
enable = true;
extraPackages = epkgs: with epkgs; [
(epkgs.trivialBuild {
name = "claude-code";
pname = "claude-code";
version = "0.4.5";
src = pkgs.fetchFromGitHub {
owner = "stevemolitor";
repo = "claude-code.el";
rev = "4a9914bd4161eb43f489820f9174c62390e5adc8";
sha256 = "sha256-ISlD6q1hceckry1Jd19BX1MfobHJxng5ulX2gq9f644=";
rev = "03199df8b3a1e9cd4857f0851f7a912ba524aff3";
sha256 = "sha256-5QJrWIu4EgnHcOqMwlrs2JBBx7aI9OaSJswesr6Apfk=";
};
packageRequires = [ epkgs.inheritenv ];
})
@@ -2043,8 +2080,9 @@ for completion. That makes it really annoying to use; don't use yasnippet with e
#+END_SRC
#+BEGIN_SRC elisp
(require 'claude-code)
(keymap-global-set "C-c c" claude-code-command-map)
(use-package claude-code
:bind-keymap ("C-c c" . claude-code-command-map)
:custom (claude-code-optimize-window-resize nil))
#+END_SRC
* Theme
I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.