Claude Code

This commit is contained in:
Joe Frikker
2026-02-24 20:49:03 -05:00
parent 78de9847a9
commit 7980b447fa
3 changed files with 85 additions and 37 deletions

100
home.org
View File

@@ -663,15 +663,16 @@ to track them.
| s-f | C-x p f | [[id:A2F7FF5C-AFCC-44D4-9AA5-3498F6D6D5E0::workspace_keybinds][Open file in current project]] | |
| s-F | C-x p p | [[id:A2F7FF5C-AFCC-44D4-9AA5-3498F6D6D5E0::workspace_keybinds][Switch project]] | |
| S-s | C-x t RET | [[id:A2F7FF5C-AFCC-44D4-9AA5-3498F6D6D5E0::workspace_keybinds][Switch tab]] | |
| C-c a | | [[id:3B0BFCDC-DFD5-42A0-97D8-3B032B128AF7][Org agenda]] | |
| C-c A | | [[id:5CCB676B-9FF0-47B4-8AF2-10FD3899A646][Eglot code actions]] | prog |
| C-c c | | [[id:3B0BFCDC-DFD5-42A0-97D8-3B032B128AF7][Org capture]] | |
| C-c A | | [[id:3B0BFCDC-DFD5-42A0-97D8-3B032B128AF7][Org agenda]] | |
| C-c a | | [[id:5CCB676B-9FF0-47B4-8AF2-10FD3899A646][Eglot code actions]] | prog |
| C-c c | | Claude Code | |
| C-c C | | [[id:3B0BFCDC-DFD5-42A0-97D8-3B032B128AF7][Org capture]] | |
| C-c D | | [[id:5CCB676B-9FF0-47B4-8AF2-10FD3899A646][Show flymake diagnostics]] | prog |
| C-c h | | [[id:6D1A8B35-3093-4DA6-A5AA-2A0D45112BAB][Consult shell history]] | |
| C-c I | | [[id:5CCB676B-9FF0-47B4-8AF2-10FD3899A646][Eglot find implementation]] | prog |
| C-c i | | [[id:5CCB676B-9FF0-47B4-8AF2-10FD3899A646][Eglot find implementation]] | prog |
| C-c l | | [[id:3B0BFCDC-DFD5-42A0-97D8-3B032B128AF7][Org store link]] | |
| C-c n | | [[id:3B0BFCDC-DFD5-42A0-97D8-3B032B128AF7][Org Roam prefix]] | |
| C-c R | | [[id:5CCB676B-9FF0-47B4-8AF2-10FD3899A646][Eglot rename]] | prog |
| C-c r | | [[id:5CCB676B-9FF0-47B4-8AF2-10FD3899A646][Eglot rename]] | prog |
| C-c u | | [[id:5CCB676B-9FF0-47B4-8AF2-10FD3899A646][Cycle string inflection]] | various |
| C-c M-g | | [[id:4F426E77-CE03-4BF8-8D1B-7791C7C02B28][Magit file dispatch]] | |
@@ -888,16 +889,16 @@ content to be.
'(((or "\\*Flymake diagnostics *"
"\\*Embark Export *"
"\\*Embark Collect *"
"\\*xref*"
"\\*compilation\\*"
"\\*sly-mrepl *"
"\\*Messages\\*"
"\\*lispy-message\\*"
"\\*EGLOT connections\\*"
"\\*trace-output\\*"
"\\*occur\\*"
"*eshell\\*")
(display-buffer-reuse-window display-buffer-in-side-window)
"\\*xref*"
"\\*compilation\\*"
"\\*sly-mrepl *"
"\\*Messages\\*"
"\\*lispy-message\\*"
"\\*EGLOT connections\\*"
"\\*trace-output\\*"
"\\*occur\\*"
"*eshell\\*")
(display-buffer-in-side-window)
(side . bottom)
(slot . 0)
(window-height . 0.33)
@@ -911,7 +912,8 @@ content to be.
"\\*rustfmt\\*"
"\\*slack: *"
"\\*forge: *"
"new-pullreq")
"new-pullreq"
"\\*claude:*")
(display-buffer-reuse-window display-buffer-in-side-window)
(side . right)
(slot . 0)
@@ -919,7 +921,7 @@ content to be.
(window-parameters (no-delete-other-windows . t)
(no-other-window . t)))
("\\*Embark Actions\\*"
(display-buffer-reuse-window display-buffer-in-side-window)
(display-buffer-in-side-window)
(side . right)
(slot . -1)
(window-width . 0.5)
@@ -931,6 +933,17 @@ content to be.
'(no-other-window . writable)
window-persistent-parameters))
#+END_SRC
** Claude Code
#+BEGIN_SRC nix :tangle target/claude-code.nix
{
programs.claude-code = {
enable = true;
};
}
#+END_SRC
** Editing
:PROPERTIES:
:header-args:elisp: :tangle target/emacs-editing.el
@@ -1139,9 +1152,9 @@ available? It seems to work for now anyway...
(add-hook 'eglot-managed-mode-hook (lambda () (eglot-inlay-hints-mode -1)) nil t)
(require 'eglot)
(bind-keys :map eglot-mode-map
("C-c A" . eglot-code-actions)
("C-c R" . eglot-rename)
("C-c I" . eglot-find-implementation))
("C-c a" . eglot-code-actions)
("C-c r" . eglot-rename)
("C-c i" . eglot-find-implementation))
(setopt ediff-split-window-function 'split-window-horizontally)
@@ -1153,7 +1166,7 @@ available? It seems to work for now anyway...
*** Rust
#+BEGIN_SRC elisp
;; (setq major-mode-remap-alist '((rust-mode . rust-mode)))
(setq major-mode-remap-alist '((rust-mode . rust-mode)))
(setopt rust-mode-treesitter-derive t)
@@ -1164,6 +1177,8 @@ available? It seems to work for now anyway...
*** YAML
#+BEGIN_SRC elisp
(require 'yaml-ts-mode)
(defun yaml-validate ()
(interactive)
(compile (concat "yamllint -d '{extends: default, rules: {indentation: {indent-sequences: false}, braces: {max-spaces-inside: 1}}}' " (buffer-file-name)) t))
@@ -1293,8 +1308,7 @@ available? It seems to work for now anyway...
#+END_SRC
#+BEGIN_SRC elisp
(setopt magit-define-global-key-bindings 'recommended)
(bind-keys ("s-g" . magit-status))
(setq magit-define-global-key-bindings 'recommended)
(setopt magit-save-repository-buffers 'dontask)
(setopt magit-commit-show-diff nil)
@@ -1446,8 +1460,8 @@ available? It seems to work for now anyway...
#+BEGIN_SRC elisp
(require 'org)
(bind-keys ("C-c a" . org-agenda)
("C-c c" . org-capture)
(bind-keys ("C-c A" . org-agenda)
("C-c C" . org-capture)
("C-c l" . org-id-store-link))
(add-hook 'org-mode-hook 'visual-line-mode)
@@ -1661,6 +1675,39 @@ available? It seems to work for now anyway...
(age-file-enable)
#+END_SRC
** Claude Code
:PROPERTIES:
:header-args:elisp: :tangle target/emacs-claude-code.el
:END:
#+BEGIN_SRC nix :tangle target/emacs-claude-code.nix
{pkgs, ...}:
{
programs.emacs = {
enable = true;
extraPackages = epkgs: with epkgs; [
(epkgs.trivialBuild {
name = "claude-code";
src = pkgs.fetchFromGitHub {
owner = "stevemolitor";
repo = "claude-code.el";
rev = "4a9914bd4161eb43f489820f9174c62390e5adc8";
sha256 = "sha256-ISlD6q1hceckry1Jd19BX1MfobHJxng5ulX2gq9f644=";
};
packageRequires = [ epkgs.inheritenv ];
})
];
extraConfig = builtins.readFile ./emacs-claude-code.el;
};
}
#+END_SRC
#+BEGIN_SRC elisp
(require 'claude-code)
(global-set-key (kbd "C-c c") claude-code-command-map)
(claude-code-mode)
#+END_SRC
* Theme
I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
@@ -1712,7 +1759,8 @@ I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
{pkgs, ...}:
{
xdg = {
enable = true;
enable = false
;
configFile."lazygit/config.yml" = {
enable = true;
source = pkgs.fetchFromGitHub