summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVineet Kumar <git@vineetk.net>2026-03-19 13:46:57 -0400
committerVineet Kumar <git@vineetk.net>2026-03-20 20:58:39 -0400
commit0385213faf4ddb2ae5e59f8a4ef944a24c19b10e (patch)
tree1fa2150b27847e94341c56b16146b9953d3d8426
parenteaf10d0d48203b48d472ec009d6756d185ec7cfe (diff)
demiurge, home: setup gptel in emacs
-rw-r--r--epistemia/files/emacs/.config/emacs/init.el39
-rw-r--r--epistemia/systems/demiurge.scm1
2 files changed, 37 insertions, 3 deletions
diff --git a/epistemia/files/emacs/.config/emacs/init.el b/epistemia/files/emacs/.config/emacs/init.el
index 25a721f..b6d3b40 100644
--- a/epistemia/files/emacs/.config/emacs/init.el
+++ b/epistemia/files/emacs/.config/emacs/init.el
@@ -391,7 +391,9 @@
391 (age-file-enable) 391 (age-file-enable)
392 :custom 392 :custom
393 (age-default-identity "~/.ssh/id_ed25519") 393 (age-default-identity "~/.ssh/id_ed25519")
394 (age-default-recipient "~/.ssh/id_ed25519.pub")) 394 (age-default-recipient "~/.ssh/id_ed25519.pub")
395 ;; technically an emacs custom variable, but I feel it's more appropriate here
396 (auth-sources '("~/.authinfo.age")))
395 397
396;;;;;;;;;;;;;; 398;;;;;;;;;;;;;;
397;; ORG-MODE ;; 399;; ORG-MODE ;;
@@ -538,9 +540,40 @@
538;;;;;;;;; 540;;;;;;;;;
539;; LLM ;; 541;; LLM ;;
540;;;;;;;;; 542;;;;;;;;;
541; TODO: actually configure this to use llama-swap and openrouter
542(use-package gptel 543(use-package gptel
543 :after transient) 544 :after age ; because of ~/.authinfo.age
545 :config
546 (setf (gptel-get-backend "ChatGPT") nil)
547 (gptel-make-openai "llama-swap"
548 :protocol "http"
549 :host "llm.demiurge.epistemia"
550 :endpoint "/v1/chat/completions"
551 :stream t
552 :models '(Qwen3.5-0.8B
553 Qwen3.5-2B
554 Qwen3.5-4B
555 Qwen3.5-9B
556 Qwen3.5-27B
557 Qwen3.5-35B-A3B_128K
558 Qwen3.5-35B-A3B_256K
559 Qwen3.5-122B-A10B
560 Qwen3.5-397B-A17B
561 Rocinante-X-12B-v1
562 Ministral-3-14B-Instruct-2512
563 Ministral-3-14B-Reasoning-2512
564 Nanbeige4.1-3B))
565 (gptel-make-openai "OpenRouter"
566 :host "openrouter.ai"
567 :endpoint "/api/v1/chat/completions"
568 :stream t
569 :key (auth-source-pick-first-password :host "openrouter.ai")
570 :models '(minimax/minimax-m2.7
571 minimax/minimax-m2.5:free
572 anthropic/claude-haiku-4.5
573 anthropic/claude-sonnet-4.6))
574 :custom
575 (gptel-model "llama-swap:Qwen3.5-35B-A3B_128K")
576 (gptel-temperature nil))
544 577
545;;;;;;;;; 578;;;;;;;;;
546;; RSS ;; 579;; RSS ;;
diff --git a/epistemia/systems/demiurge.scm b/epistemia/systems/demiurge.scm
index 0bf78e9..657a132 100644
--- a/epistemia/systems/demiurge.scm
+++ b/epistemia/systems/demiurge.scm
@@ -316,6 +316,7 @@ rpz:
316 (nginx-configuration 316 (nginx-configuration
317 (server-blocks 317 (server-blocks
318 (list 318 (list
319 (nginx-reverse-proxy "llm.demiurge.epistemia" 8080)
319 (nginx-reverse-proxy "searx.demiurge.epistemia" 8081) 320 (nginx-reverse-proxy "searx.demiurge.epistemia" 8081)
320 (nginx-reverse-proxy "redlib.demiurge.epistemia" 8085) 321 (nginx-reverse-proxy "redlib.demiurge.epistemia" 8085)
321 (nginx-reverse-proxy "navidrome.demiurge.epistemia" 4533) 322 (nginx-reverse-proxy "navidrome.demiurge.epistemia" 4533)