#+title: Aner's Emacs Lauretta Configuration #+property: header-args :results silent * Base setup ** Require #+begin_src emacs-lisp (require 'azos-emacs-base) (require 'azos-emacs-dev) (require 'azos-emacs-editor) (require 'azos-emacs-exwm) (require 'azos-emacs-station) #+end_src * Lauretta specific ** LLM #+begin_src emacs-lisp (setq gptel-model 'openai/gpt-oss-120b gptel-backend (gptel-make-openai "Groq" :host "api.groq.com" :endpoint "/openai/v1/chat/completions" :stream t :key "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" :models '(openai/gpt-oss-120b))) ;; This is where I would update agents if I had them ;; (setq gptel-agent-dirs '("/home/aner/.agents")) ;; (gptel-agent-update) (use-package agent-shell :ensure t :ensure-system-package :config ;; Evil state-specific RET behavior: insert mode = newline, normal mode = send (evil-define-key 'insert agent-shell-mode-map (kbd "RET") #'newline) (evil-define-key 'normal agent-shell-mode-map (kbd "RET") #'comint-send-input) (add-hook 'diff-mode-hook (lambda () (when (string-match-p "\\*agent-shell-diff\\*" (buffer-name)) (evil-emacs-state))))) #+end_src ** Headphones #+begin_src emacs-lisp (defun azos/connect-headphones () (interactive) (start-process-shell-command "connect-headphones" nil "azos-connect-headphones-whmx4000")) (define-key azos/global-minor-mode/open-keymap (kbd "h") 'azos/connect-headphones) #+end_src ** Tab bar setup #+begin_src emacs-lisp (when (fboundp #'azos/bat/enable-tab-display) (azos/bat/enable-tab-display)) (when (fboundp #'azos/network/enable-tab-display) (azos/network/enable-tab-display)) (when (fboundp #'azos/audio/enable-tab-display) (azos/audio/enable-tab-display)) #+end_src * Provide #+begin_src emacs-lisp (provide 'azos-emacs-lauretta) #+end_src