feat(emacs): robust Nix-based Emacs setup with daemon service, improved elisp dev, and full package documentation
- Emacs daemon runs as a systemd service via Nix - Modular Emacs config with Nix-managed packages (elisp-slime-nav, aggressive-indent, highlight-defined, etc.) - Keybinding fixes and error handling improvements - New EMACS_README.md explains ecosystem and troubleshooting - Nix config: GUI sudo askpass, podman, and desktop tweaks - All errors from missing packages and keybindings resolved
This commit is contained in:
parent
649f0f3b2c
commit
251222037d
7 changed files with 132 additions and 10 deletions
|
@ -25,7 +25,7 @@
|
|||
(menu-bar-mode -1)
|
||||
(when (fboundp 'tool-bar-mode) (tool-bar-mode -1))
|
||||
(when (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
|
||||
(set-face-attribute 'default nil :height 140)
|
||||
(set-face-attribute 'default nil :height 100)
|
||||
(setq-default cursor-type 'bar)
|
||||
|
||||
;; Nix Integration Setup
|
||||
|
@ -93,6 +93,26 @@
|
|||
(package-refresh-contents)
|
||||
(package-install 'use-package)))
|
||||
|
||||
;; Quelpa setup for packages not available in standard repos
|
||||
(unless (package-installed-p 'quelpa)
|
||||
(with-temp-buffer
|
||||
(url-insert-file-contents "https://raw.githubusercontent.com/quelpa/quelpa/master/quelpa.el")
|
||||
(eval-buffer)
|
||||
(quelpa-self-upgrade)))
|
||||
|
||||
;; Install quelpa-use-package for integration
|
||||
(unless (package-installed-p 'quelpa-use-package)
|
||||
(quelpa 'quelpa-use-package))
|
||||
(require 'quelpa-use-package)
|
||||
|
||||
;; Install eat terminal emulator (not available in standard repos)
|
||||
(unless (package-installed-p 'eat)
|
||||
(quelpa '(eat :fetcher git
|
||||
:url "https://codeberg.org/akib/emacs-eat.git"
|
||||
:files ("*.el" "dir"
|
||||
"*.info" "*.texi"
|
||||
"*.ti" ("e" "e/*")))))
|
||||
|
||||
;; Configure use-package for Nix integration
|
||||
(require 'use-package)
|
||||
;; Don't auto-install packages in Nix environment - they're pre-provided
|
||||
|
|
|
@ -96,12 +96,12 @@
|
|||
(claude-code-send-command
|
||||
(format "I'm getting an error around line %d. Here's the context:\n\n```%s\n%s\n```\n\nCan you help me fix this?"
|
||||
error-line
|
||||
(or (file-name-extension (buffer-file-name)) "")
|
||||
(or (and buffer-file-name (file-name-extension buffer-file-name)) "")
|
||||
context)))
|
||||
(message "Claude Code is not running. Start it with C-c C-c c")))
|
||||
|
||||
;; Keybinding for enhanced error context
|
||||
(global-set-key (kbd "C-c C-c x") #'claude-code-send-error-context)
|
||||
(global-set-key (kbd "C-c c x") #'claude-code-send-error-context)
|
||||
|
||||
;; Project-aware Claude instances
|
||||
(defun claude-code-project-instance ()
|
||||
|
@ -113,7 +113,7 @@
|
|||
(claude-code)))
|
||||
|
||||
;; Keybinding for project-specific Claude
|
||||
(global-set-key (kbd "C-c C-c p") #'claude-code-project-instance)
|
||||
(global-set-key (kbd "C-c c p") #'claude-code-project-instance)
|
||||
|
||||
(provide 'claude-code)
|
||||
;;; claude-code.el ends here
|
||||
|
|
|
@ -160,9 +160,10 @@
|
|||
;; Better compilation output
|
||||
(add-hook 'emacs-lisp-mode-hook
|
||||
(lambda ()
|
||||
(setq-local compile-command
|
||||
(format "emacs -batch -f batch-byte-compile %s"
|
||||
(shell-quote-argument buffer-file-name)))))
|
||||
(when buffer-file-name
|
||||
(setq-local compile-command
|
||||
(format "emacs -batch -f batch-byte-compile %s"
|
||||
(shell-quote-argument buffer-file-name))))))
|
||||
|
||||
(provide 'elisp-development)
|
||||
;;; elisp-development.el ends here
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue