Claude Code
This commit is contained in:
16
flake.lock
generated
16
flake.lock
generated
@@ -25,16 +25,16 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768949235,
|
"lastModified": 1771756436,
|
||||||
"narHash": "sha256-TtjKgXyg1lMfh374w5uxutd6Vx2P/hU81aEhTxrO2cg=",
|
"narHash": "sha256-Tl2I0YXdhSTufGqAaD1ySh8x+cvVsEI1mJyJg12lxhI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "75ed713570ca17427119e7e204ab3590cc3bf2a5",
|
"rev": "5bd3589390b431a63072868a90c0f24771ff4cbb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-25.11",
|
"ref": "master",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -60,16 +60,16 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769318308,
|
"lastModified": 1771813003,
|
||||||
"narHash": "sha256-Mjx6p96Pkefks3+aA+72lu1xVehb6mv2yTUUqmSet6Q=",
|
"narHash": "sha256-rb+oAW0pPJHeyau97ZQ04Afzbxv8Qdexzvxoc0PosBI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "1cd347bf3355fce6c64ab37d3967b4a2cb4b878c",
|
"rev": "09fd5099fab71fc4f891f50ecb370b0ed5a8a4aa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-25.11",
|
"ref": "master",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# Specify the source of Home Manager and Nixpkgs.
|
# Specify the source of Home Manager and Nixpkgs.
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
nixpkgs.url = "github:nixos/nixpkgs/master";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-25.11";
|
url = "github:nix-community/home-manager/master";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
kube = {
|
kube = {
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
homeConfigurations.shibumi =
|
homeConfigurations.shibumi =
|
||||||
let pkgs = nixpkgs.legacyPackages.aarch64-darwin;
|
let pkgs = import nixpkgs { system = "aarch64-darwin"; config.allowUnfree = true; };
|
||||||
modules = modules-for-system pkgs;
|
modules = modules-for-system pkgs;
|
||||||
in home-manager.lib.homeManagerConfiguration {
|
in home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
|
|||||||
82
home.org
82
home.org
@@ -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 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-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]] | |
|
| 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:3B0BFCDC-DFD5-42A0-97D8-3B032B128AF7][Org agenda]] | |
|
||||||
| C-c A | | [[id:5CCB676B-9FF0-47B4-8AF2-10FD3899A646][Eglot code actions]] | prog |
|
| 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 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 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 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 l | | [[id:3B0BFCDC-DFD5-42A0-97D8-3B032B128AF7][Org store link]] | |
|
||||||
| C-c n | | [[id:3B0BFCDC-DFD5-42A0-97D8-3B032B128AF7][Org Roam prefix]] | |
|
| 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 u | | [[id:5CCB676B-9FF0-47B4-8AF2-10FD3899A646][Cycle string inflection]] | various |
|
||||||
| C-c M-g | | [[id:4F426E77-CE03-4BF8-8D1B-7791C7C02B28][Magit file dispatch]] | |
|
| C-c M-g | | [[id:4F426E77-CE03-4BF8-8D1B-7791C7C02B28][Magit file dispatch]] | |
|
||||||
|
|
||||||
@@ -897,7 +898,7 @@ content to be.
|
|||||||
"\\*trace-output\\*"
|
"\\*trace-output\\*"
|
||||||
"\\*occur\\*"
|
"\\*occur\\*"
|
||||||
"*eshell\\*")
|
"*eshell\\*")
|
||||||
(display-buffer-reuse-window display-buffer-in-side-window)
|
(display-buffer-in-side-window)
|
||||||
(side . bottom)
|
(side . bottom)
|
||||||
(slot . 0)
|
(slot . 0)
|
||||||
(window-height . 0.33)
|
(window-height . 0.33)
|
||||||
@@ -911,7 +912,8 @@ content to be.
|
|||||||
"\\*rustfmt\\*"
|
"\\*rustfmt\\*"
|
||||||
"\\*slack: *"
|
"\\*slack: *"
|
||||||
"\\*forge: *"
|
"\\*forge: *"
|
||||||
"new-pullreq")
|
"new-pullreq"
|
||||||
|
"\\*claude:*")
|
||||||
(display-buffer-reuse-window display-buffer-in-side-window)
|
(display-buffer-reuse-window display-buffer-in-side-window)
|
||||||
(side . right)
|
(side . right)
|
||||||
(slot . 0)
|
(slot . 0)
|
||||||
@@ -919,7 +921,7 @@ content to be.
|
|||||||
(window-parameters (no-delete-other-windows . t)
|
(window-parameters (no-delete-other-windows . t)
|
||||||
(no-other-window . t)))
|
(no-other-window . t)))
|
||||||
("\\*Embark Actions\\*"
|
("\\*Embark Actions\\*"
|
||||||
(display-buffer-reuse-window display-buffer-in-side-window)
|
(display-buffer-in-side-window)
|
||||||
(side . right)
|
(side . right)
|
||||||
(slot . -1)
|
(slot . -1)
|
||||||
(window-width . 0.5)
|
(window-width . 0.5)
|
||||||
@@ -931,6 +933,17 @@ content to be.
|
|||||||
'(no-other-window . writable)
|
'(no-other-window . writable)
|
||||||
window-persistent-parameters))
|
window-persistent-parameters))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
** Claude Code
|
||||||
|
|
||||||
|
#+BEGIN_SRC nix :tangle target/claude-code.nix
|
||||||
|
{
|
||||||
|
programs.claude-code = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
** Editing
|
** Editing
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args:elisp: :tangle target/emacs-editing.el
|
: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)
|
(add-hook 'eglot-managed-mode-hook (lambda () (eglot-inlay-hints-mode -1)) nil t)
|
||||||
(require 'eglot)
|
(require 'eglot)
|
||||||
(bind-keys :map eglot-mode-map
|
(bind-keys :map eglot-mode-map
|
||||||
("C-c A" . eglot-code-actions)
|
("C-c a" . eglot-code-actions)
|
||||||
("C-c R" . eglot-rename)
|
("C-c r" . eglot-rename)
|
||||||
("C-c I" . eglot-find-implementation))
|
("C-c i" . eglot-find-implementation))
|
||||||
|
|
||||||
(setopt ediff-split-window-function 'split-window-horizontally)
|
(setopt ediff-split-window-function 'split-window-horizontally)
|
||||||
|
|
||||||
@@ -1153,7 +1166,7 @@ available? It seems to work for now anyway...
|
|||||||
|
|
||||||
*** Rust
|
*** Rust
|
||||||
#+BEGIN_SRC elisp
|
#+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)
|
(setopt rust-mode-treesitter-derive t)
|
||||||
|
|
||||||
@@ -1164,6 +1177,8 @@ available? It seems to work for now anyway...
|
|||||||
|
|
||||||
*** YAML
|
*** YAML
|
||||||
#+BEGIN_SRC elisp
|
#+BEGIN_SRC elisp
|
||||||
|
(require 'yaml-ts-mode)
|
||||||
|
|
||||||
(defun yaml-validate ()
|
(defun yaml-validate ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(compile (concat "yamllint -d '{extends: default, rules: {indentation: {indent-sequences: false}, braces: {max-spaces-inside: 1}}}' " (buffer-file-name)) t))
|
(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
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC elisp
|
#+BEGIN_SRC elisp
|
||||||
(setopt magit-define-global-key-bindings 'recommended)
|
(setq magit-define-global-key-bindings 'recommended)
|
||||||
(bind-keys ("s-g" . magit-status))
|
|
||||||
|
|
||||||
(setopt magit-save-repository-buffers 'dontask)
|
(setopt magit-save-repository-buffers 'dontask)
|
||||||
(setopt magit-commit-show-diff nil)
|
(setopt magit-commit-show-diff nil)
|
||||||
@@ -1446,8 +1460,8 @@ available? It seems to work for now anyway...
|
|||||||
#+BEGIN_SRC elisp
|
#+BEGIN_SRC elisp
|
||||||
(require 'org)
|
(require 'org)
|
||||||
|
|
||||||
(bind-keys ("C-c a" . org-agenda)
|
(bind-keys ("C-c A" . org-agenda)
|
||||||
("C-c c" . org-capture)
|
("C-c C" . org-capture)
|
||||||
("C-c l" . org-id-store-link))
|
("C-c l" . org-id-store-link))
|
||||||
|
|
||||||
(add-hook 'org-mode-hook 'visual-line-mode)
|
(add-hook 'org-mode-hook 'visual-line-mode)
|
||||||
@@ -1661,6 +1675,39 @@ available? It seems to work for now anyway...
|
|||||||
(age-file-enable)
|
(age-file-enable)
|
||||||
#+END_SRC
|
#+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
|
* 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.
|
||||||
|
|
||||||
@@ -1712,7 +1759,8 @@ I like Catppuccin Frappe as my theme. Let's use it in as many places as we can.
|
|||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
{
|
{
|
||||||
xdg = {
|
xdg = {
|
||||||
enable = true;
|
enable = false
|
||||||
|
;
|
||||||
configFile."lazygit/config.yml" = {
|
configFile."lazygit/config.yml" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
source = pkgs.fetchFromGitHub
|
source = pkgs.fetchFromGitHub
|
||||||
|
|||||||
Reference in New Issue
Block a user