diff options
| author | cashmere <cashmere@autistici.org> | 2026-08-14 15:07:33 +0200 |
|---|---|---|
| committer | cashmere <cashmere@autistici.org> | 2026-08-14 15:07:33 +0200 |
| commit | 94fdab14488a7d018cf8c4fa986846bf96a2fb67 (patch) | |
| tree | 68018e787e77a86bae16e94dcf98e6ec3ca8fc6f | |
| parent | 70038ca39a73e317058afd43891fba7c6b6a7dbb (diff) | |
| download | emacs-94fdab14488a7d018cf8c4fa986846bf96a2fb67.tar.gz | |
x12: 2026-08-14T15:07:41+02:00
| -rw-r--r-- | config.el | 94 | ||||
| -rw-r--r-- | config.org | 180 |
2 files changed, 19 insertions, 255 deletions
@@ -827,7 +827,7 @@ Temporarily disables notifications during the fetch." (advice-add 'shell-maker-submit :after #'my/agent-shell-autoscroll) (dolist (rule (my/agent-shell-display-buffer-rules)) (add-to-list 'display-buffer-alist rule)) - (setq agent-shell-tool-use-expand-by-default t) + (setq agent-shell-tool-use-expand-by-default nil) (setq agent-shell-thought-process-expand-by-default t) (setq agent-shell-user-message-expand-by-default t) (setq agent-shell-activity-group-expand-by-default t) @@ -2545,21 +2545,6 @@ in (c-ts-mode-indent-offset 2) (c-ts-mode-indent-style 'k&r)) -(use-package c3-ts-mode - :ensure (:host github :repo "c3lang/c3-ts-mode") - :mode (("\\.c3\\'" . c3-ts-mode) - ("\\.c3i\\'" . c3-ts-mode) - ("\\.c3t\\'" . c3-ts-mode)) - :custom - (c3-ts-mode-indent-offset 2) - (setq treesit-font-lock-level 4) - :init - (add-to-list 'treesit-language-source-alist - '(c3 "https://github.com/c3lang/tree-sitter-c3")) - :config - (unless (treesit-language-available-p 'c3) - (treesit-install-language-grammar 'c3))) - (use-package pyvenv :ensure t :config @@ -2569,12 +2554,6 @@ in (lambda () (pyvenv-mode 1)))) -(use-package js - :ensure nil - :mode ("\\.js\\'" . js-ts-mode) - :config - (setq js-indent-level 2)) - (use-package xonsh-mode :ensure (:host github :repo "seanfarley/xonsh-mode") :mode ("\\.xsh\\'" "\\.xonshrc\\'")) @@ -2972,22 +2951,6 @@ so the working-tree diff stays visible until the user explicitly stages." ((dired-mode . diredfl-mode) (dirvish-directory-view-mode . diredfl-mode))) -(defun ek/first-install () - "dired" - (interactive) ;; Allow this function to be called interactively. - (switch-to-buffer "*Messages*") ;; Switch to the *Messages* buffer to display installation messages. - (message ">>> All required packages installed.") - (message ">>> Configuring Emacs-Kick...") - (message ">>> Configuring Tree Sitter parsers...") - (require 'treesit-auto) - (treesit-auto-install-all) ;; Install all available Tree Sitter grammars. - (message ">>> Configuring Nerd Fonts...") - (require 'nerd-icons) - (nerd-icons-install-fonts) ;; Install all available nerd-fonts - (message ">>> Emacs-Kick installed! Press any key to close the installer and open Emacs normally. First boot will compile some extra stuff :)") - (read-key) ;; Wait for the user to press any key. - (kill-emacs)) ;; Close Emacs after installation is complete. - (display-time-mode 1) (use-package mode-line-maker @@ -3010,7 +2973,7 @@ so the working-tree diff stays visible until the user explicitly stages." (blink-cursor-mode 0) (setq-default cursor-type 'box) -(defvar cashmere/font-height 200) +(defvar cashmere/font-height 160) (defun cashmere/set-fonts (&optional frame) "Apply the MapleMono faces, but only on graphical frames. @@ -3188,7 +3151,11 @@ still require a restart since elpaca queues run at init time." (use-package wgrep-helm :ensure t - :after (wgrep helm)) + :after (wgrep helm) + :config + ;; jump straight into editable wgrep mode in *hgrep*/*hmoccur* buffers + (add-hook 'helm-grep-mode-hook #'wgrep-change-to-wgrep-mode) + (add-hook 'helm-occur-mode-hook #'wgrep-change-to-wgrep-mode)) (defun my/project-replace () "Project-wide search via ripgrep (`helm-projectile-rg'). @@ -3221,7 +3188,7 @@ place. `C-c C-c' commits, `C-c C-k' aborts." (defvar my/workspaces-master "master") (defvar my/workspace-last nil) (defvar my/workspaces-on-switch-project 'non-empty) - (defvar my/workspace-switch-project-function #'helm-projectile-find-file) + (defvar my/workspace-switch-project-function #'projectile-dashboard) (setq persp-autokill-buffer-on-remove 'kill-weak persp-reset-windows-on-nil-window-conf nil @@ -3556,22 +3523,6 @@ place. `C-c C-c' commits, `C-c C-k' aborts." (setq golden-ratio-exclude-buffer-names '(" *which-key*")) (setq golden-ratio-exclude-buffer-regexp '("\\`\\*eldoc"))) -(use-package pdf-tools - :ensure nil - :if (display-graphic-p) - :magic ("%PDF" . pdf-view-mode) - :config - (pdf-loader-install) - :hook (pdf-view-mode . (lambda () (display-line-numbers-mode -1)))) - -;; Site-lisp may pre-register pdf-view-mode in magic-mode-alist on TUI emacs. -;; Strip those entries so opening a PDF in -nw falls back to doc-view/fundamental. -(unless (display-graphic-p) - (setq magic-mode-alist - (seq-remove (lambda (e) (eq (cdr e) 'pdf-view-mode)) magic-mode-alist)) - (setq auto-mode-alist - (seq-remove (lambda (e) (eq (cdr e) 'pdf-view-mode)) auto-mode-alist))) - (defun my/format-buffer () (interactive) (user-error "No formatter configured for %s" major-mode)) @@ -3759,7 +3710,7 @@ workspace (e.g. *scratch*)." "[b" 'switch-to-prev-buffer "]t" 'tab-next "[t" 'tab-previous - "P" 'helm-show-kill-ring + ;; "P" 'helm-show-kill-ring ;; "?" 'casual-avy-tmenu "gcc" (lambda () (interactive) @@ -3803,24 +3754,6 @@ workspace (e.g. *scratch*)." (evil-define-key 'normal org-mode-map (kbd "RET") 'org-open-at-point) -(my-leader - :keymaps '(rust-ts-mode-map) - "m" '(:wk "rust mode" :ignore) - "mr" '(rust-run :wk "run") - "mc" '(rust-run-clippy :wk "clippy") - "mC" '(rust-check :wk "check")) - -(with-eval-after-load 'tmr - (general-def 'normal tmr-tabulated-mode-map - "y" 'tmr-clone - "c" 'tmr-cancel - "d" 'tmr-remove - "D" 'tmr-remove-finished - "n" 'tmr - "N" 'tmr-with-details - "e" 'tmr-edit-description - "r" 'tmr-reschedule)) - (defun dirvish-next-file (arg) "Move down ARG lines, landing on the filename column. Uses raw line motion so hidden detail lines (permissions, owner, @@ -4271,15 +4204,6 @@ opening another file in same project does not re-notify." (use-package tldr :ensure t) -(use-package eshell - :ensure nil - :config - (setq eshell-command-aliases-list - '(("nh-switch" "nh os switch --quiet $*")))) - -(use-package el-fetch - :ensure t) - (use-package ghostel :ensure t :custom @@ -928,7 +928,7 @@ let's give agent-shell another try (advice-add 'shell-maker-submit :after #'my/agent-shell-autoscroll) (dolist (rule (my/agent-shell-display-buffer-rules)) (add-to-list 'display-buffer-alist rule)) - (setq agent-shell-tool-use-expand-by-default t) + (setq agent-shell-tool-use-expand-by-default nil) (setq agent-shell-thought-process-expand-by-default t) (setq agent-shell-user-message-expand-by-default t) (setq agent-shell-activity-group-expand-by-default t) @@ -2961,27 +2961,6 @@ Built-in tree-sitter mode (Emacs 29+). The =c= grammar ships via =treesit-gramma (c-ts-mode-indent-style 'k&r)) #+end_src -** c3-ts-mode - -Not on MELPA, so installed straight from GitHub. The tree-sitter grammar is built on first load via =treesit-install-language-grammar= (needs =cc= / =gcc= on PATH). - -#+begin_src emacs-lisp -(use-package c3-ts-mode - :ensure (:host github :repo "c3lang/c3-ts-mode") - :mode (("\\.c3\\'" . c3-ts-mode) - ("\\.c3i\\'" . c3-ts-mode) - ("\\.c3t\\'" . c3-ts-mode)) - :custom - (c3-ts-mode-indent-offset 2) - (setq treesit-font-lock-level 4) - :init - (add-to-list 'treesit-language-source-alist - '(c3 "https://github.com/c3lang/tree-sitter-c3")) - :config - (unless (treesit-language-available-p 'c3) - (treesit-install-language-grammar 'c3))) -#+end_src - ** python-ts-mode Because I have to and not want to. @@ -3009,40 +2988,6 @@ Because I have to and not want to. (pyvenv-mode 1)))) #+end_src -** Rust mode - -ily <3. - -(use-package rust-ts-mode - :ensure nil - :mode "\\.rs\\'") -#+end_src - -** JavaScript / TypeScript / Vue - -JavaScript and TypeScript support via tree-sitter modes. -Vue files use =web-mode=. - -*** js-ts-mode - -#+begin_src emacs-lisp -(use-package js - :ensure nil - :mode ("\\.js\\'" . js-ts-mode) - :config - (setq js-indent-level 2)) -#+end_src - -*** typescript-ts-mode - -Uses built-in tree-sitter modes for =.ts= and =.tsx= files. - -(use-package typescript-ts-mode - :ensure nil - :mode (("\\.ts\\'" . typescript-ts-mode) - ("\\.tsx\\'" . tsx-ts-mode))) -#+end_src - ** Xonsh Python-powered shell. Major mode for =.xsh= files. @@ -3155,21 +3100,6 @@ BODY is the xonsh script. PARAMS may include :dir and :cmdline." * terminals -** COMMENT eat - -#+begin_src emacs-lisp -(use-package eat - :ensure t - :custom - (eat-shell "xonsh") - (eat-kill-buffer-on-exit t) - (eat-enable-shell-prompt-annotation t) - (eat-term-name "xterm-256color") - :hook - (eshell-load . eat-eshell-mode) - (eshell-load . eat-eshell-visual-command-mode)) -#+end_src - * olivetti #+begin_src emacs-lisp @@ -3599,26 +3529,6 @@ Native =undo-redo= (via =evil-undo-system='undo-redo=); just raise the undo limi (dirvish-directory-view-mode . diredfl-mode))) #+end_src -* TODO efs install fn - -#+begin_src emacs-lisp -(defun ek/first-install () - "dired" - (interactive) ;; Allow this function to be called interactively. - (switch-to-buffer "*Messages*") ;; Switch to the *Messages* buffer to display installation messages. - (message ">>> All required packages installed.") - (message ">>> Configuring Emacs-Kick...") - (message ">>> Configuring Tree Sitter parsers...") - (require 'treesit-auto) - (treesit-auto-install-all) ;; Install all available Tree Sitter grammars. - (message ">>> Configuring Nerd Fonts...") - (require 'nerd-icons) - (nerd-icons-install-fonts) ;; Install all available nerd-fonts - (message ">>> Emacs-Kick installed! Press any key to close the installer and open Emacs normally. First boot will compile some extra stuff :)") - (read-key) ;; Wait for the user to press any key. - (kill-emacs)) ;; Close Emacs after installation is complete. -#+end_src - * modelines ** display-time @@ -3654,7 +3564,7 @@ Native =undo-redo= (via =evil-undo-system='undo-redo=); just raise the undo limi (blink-cursor-mode 0) (setq-default cursor-type 'box) -(defvar cashmere/font-height 200) +(defvar cashmere/font-height 160) (defun cashmere/set-fonts (&optional frame) "Apply the MapleMono faces, but only on graphical frames. @@ -3899,7 +3809,11 @@ still require a restart since elpaca queues run at init time." (use-package wgrep-helm :ensure t - :after (wgrep helm)) + :after (wgrep helm) + :config + ;; jump straight into editable wgrep mode in *hgrep*/*hmoccur* buffers + (add-hook 'helm-grep-mode-hook #'wgrep-change-to-wgrep-mode) + (add-hook 'helm-occur-mode-hook #'wgrep-change-to-wgrep-mode)) (defun my/project-replace () "Project-wide search via ripgrep (`helm-projectile-rg'). @@ -3929,9 +3843,6 @@ place. `C-c C-c' commits, `C-c C-k' aborts." (helm-grep-ag (expand-file-name denote-directory) nil)) #+end_src -#+RESULTS: -: my/denote-rg - * workspaces #+begin_src emacs-lisp @@ -3944,7 +3855,7 @@ place. `C-c C-c' commits, `C-c C-k' aborts." (defvar my/workspaces-master "master") (defvar my/workspace-last nil) (defvar my/workspaces-on-switch-project 'non-empty) - (defvar my/workspace-switch-project-function #'helm-projectile-find-file) + (defvar my/workspace-switch-project-function #'projectile-dashboard) (setq persp-autokill-buffer-on-remove 'kill-weak persp-reset-windows-on-nil-window-conf nil @@ -4300,26 +4211,6 @@ place. `C-c C-c' commits, `C-c C-k' aborts." (setq golden-ratio-exclude-buffer-regexp '("\\`\\*eldoc"))) #+end_src -* pdf-tools - -#+begin_src emacs-lisp -(use-package pdf-tools - :ensure nil - :if (display-graphic-p) - :magic ("%PDF" . pdf-view-mode) - :config - (pdf-loader-install) - :hook (pdf-view-mode . (lambda () (display-line-numbers-mode -1)))) - -;; Site-lisp may pre-register pdf-view-mode in magic-mode-alist on TUI emacs. -;; Strip those entries so opening a PDF in -nw falls back to doc-view/fundamental. -(unless (display-graphic-p) - (setq magic-mode-alist - (seq-remove (lambda (e) (eq (cdr e) 'pdf-view-mode)) magic-mode-alist)) - (setq auto-mode-alist - (seq-remove (lambda (e) (eq (cdr e) 'pdf-view-mode)) auto-mode-alist))) -#+end_src - * keymaps #+begin_src emacs-lisp @@ -4510,7 +4401,7 @@ workspace (e.g. *scratch*)." "[b" 'switch-to-prev-buffer "]t" 'tab-next "[t" 'tab-previous - "P" 'helm-show-kill-ring + ;; "P" 'helm-show-kill-ring ;; "?" 'casual-avy-tmenu "gcc" (lambda () (interactive) @@ -4563,32 +4454,6 @@ workspace (e.g. *scratch*)." #+end_src -** rust-ts-mode keymaps - -#+begin_src emacs-lisp -(my-leader - :keymaps '(rust-ts-mode-map) - "m" '(:wk "rust mode" :ignore) - "mr" '(rust-run :wk "run") - "mc" '(rust-run-clippy :wk "clippy") - "mC" '(rust-check :wk "check")) -#+end_src - -** tmr keynmaps - -#+begin_src emacs-lisp -(with-eval-after-load 'tmr - (general-def 'normal tmr-tabulated-mode-map - "y" 'tmr-clone - "c" 'tmr-cancel - "d" 'tmr-remove - "D" 'tmr-remove-finished - "n" 'tmr - "N" 'tmr-with-details - "e" 'tmr-edit-description - "r" 'tmr-reschedule)) -#+end_src - ** dirvish keymaps #+begin_src emacs-lisp @@ -5051,14 +4916,6 @@ reset is unnecessary, so do the handler resolution ourselves and skip (add-to-list 'global-colorful-modes 'helpful-mode)) #+end_src -* COMMENT gleam - -#+begin_src emacs-lisp -(use-package gleam-ts-mode - :ensure t - :mode "\\.gleam\\'") -#+end_src - * envrc Automatic flake devshell activation. @@ -5127,24 +4984,7 @@ opening another file in same project does not re-notify." :ensure t) #+end_src -* eshell - -#+begin_src emacs-lisp -(use-package eshell - :ensure nil - :config - (setq eshell-command-aliases-list - '(("nh-switch" "nh os switch --quiet $*")))) -#+end_src - -* elfetch - -#+begin_src emacs-lisp -(use-package el-fetch - :ensure t) -#+end_src - -* ghost.el +* ghostel #+begin_src emacs-lisp (use-package ghostel |
