summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorPreston Pan <ret2pop@gmail.com>2025-09-10 03:42:47 -0700
committerPreston Pan <ret2pop@gmail.com>2025-09-10 03:42:47 -0700
commitc15492d8aa38b7125dc6574c08f6a765aad44fcb (patch)
tree6e375fc303a95ff39840cffe63239cb494dbe522 /config
parent81ddf52e30fe32da76b8f9162a8208d8d0b62ccc (diff)
new flake lock
Diffstat (limited to 'config')
-rw-r--r--config/emacs.el48
-rw-r--r--config/emacs.org15
-rw-r--r--config/nix.org15
3 files changed, 50 insertions, 28 deletions
diff --git a/config/emacs.el b/config/emacs.el
index 5cb9c3c..8cb788e 100644
--- a/config/emacs.el
+++ b/config/emacs.el
@@ -404,22 +404,28 @@
(leader-key 'normal
"o c" '(org-capture :wk "Capture")
+ ;; Org Mode
"n" '(:ignore t :wk "Org mode plugins")
"n j j" '(org-journal-new-entry :wk "Make new journal entry")
"n r f" '(org-roam-node-find :wk "Find roam node")
"n r i" '(org-roam-node-insert :wk "Insert roam node")
"n r a" '(org-roam-alias-add :wk "Add alias to org roam node")
"n r g" '(org-roam-graph :wk "Graph roam database")
- "r s s" '(elfeed :wk "rss feed")
+ "m I" '(org-id-get-create :wk "Make org id")
+ ;; Programming Projects
"." '(counsel-find-file :wk "find file")
- "p i" '(projectile-add-known-project :wk "Add to project list")
+ "p I" '(projectile-add-known-project :wk "Add to project list")
+
+ "N f" '(nix-flake :wk "nix flake menu")
+ "f" '(:ignore t :wk "file operations")
"f p" '(projectile-switch-project :wk "find project to switch to")
"f f" '(projectile-find-file :wk "find file in project")
"f s" '(counsel-rg :wk "find string in project")
+
"y n s" '(yas-new-snippet :wk "Create new snippet")
- "g" '(:ignore t :wk "Magit")
+ "g" '(:ignore t :wk "Magit")
"g /" '(magit-dispatch :wk "git commands")
"g P" '(magit-push :wk "git push")
"g c" '(magit-commit :wk "git commit")
@@ -430,20 +436,23 @@
"o p" '(treemacs :wk "Project Drawer")
"o P" '(treemacs-projectile :wk "Import Projectile project to treemacs")
+ "w r" '(writeroom-mode :wk "focus mode for writing")
+
+ ;; Applications
"o" '(:ignore t :wk "Open application")
"o t" '(vterm :wk "Terminal")
"o e" '(eshell :wk "Elisp Interpreter")
"o m" '(mu4e :wk "Email")
"o M" '(matrix-org :wk "Connect to matrix")
+ "o r s" '(elfeed :wk "rss feed")
"o a" '(org-agenda :wk "Open agenda")
-
- "n f" '(nix-flake :wk "nix flake menu")
-
- "e w w" '(eww :wk "web browser")
+ "o w" '(eww :wk "web browser")
+ "m m" '(emms :wk "Music player")
+ "s m" '(proced :wk "System Manager")
+ "l p" '(list-processes :wk "List Emacs Processes")
"m P p" '(org-publish :wk "Publish website components")
"s e" '(sudo-edit :wk "Edit file with sudo")
- "m m" '(emms :wk "Music player")
;; "f f" '(eglot-format :wk "Format code buffer")
"i p c" '(prestonpan :wk "Connect to my IRC server")
@@ -451,6 +460,7 @@
"i e c" '(efnet :wk "Connect to efnet chat server")
"i g c" '(gimp-org :wk "Connect to gimp chat server")
+ ;; Documentation
"h" '(:ignore t :wk "Documentation")
"h v" '(counsel-describe-variable :wk "Describe variable")
"h f" '(counsel-describe-function :wk "Describe function")
@@ -458,13 +468,6 @@
"h m" '(woman :wk "Manual")
"h i" '(info :wk "Info")
- "s m" '(proced :wk "System Manager")
- "l p" '(list-processes :wk "List Emacs Processes")
-
- "m I" '(org-id-get-create :wk "Make org id")
-
- "w r" '(writeroom-mode :wk "focus mode for writing")
-
"u w" '((lambda () (interactive) (shell-command "rsync -azvP ~/website_html/ root@nullring.xyz:/usr/share/nginx/ret2pop/")) :wk "rsync website update")
"h r r" '(lambda () (interactive) (org-babel-load-file (expand-file-name "~/monorepo/config/emacs.org")))))
@@ -485,19 +488,24 @@
:map minuet-active-mode-map
("C-c r" . #'minuet-dismiss-suggestion)
("TAB" . #'minuet-accept-suggestion))
+
:init
(add-hook 'prog-mode-hook #'minuet-auto-suggestion-mode)
+ :custom
+ (minuet-request-timeout 40 "Max timeout in seconds")
+ (minuet-provider 'openai-fim-compatible "FIM compatible OpenAI-like API (Ollama)")
+ (minuet-n-completions 1 "I am using ghost text so I only need one possible completion")
+ (minuet-context-window 1024 "how much context do I want?")
+
:config
- (setq minuet-provider 'openai-fim-compatible)
- (setq minuet-n-completions 1)
- (setq minuet-context-window 512)
(plist-put minuet-openai-fim-compatible-options :end-point "http://localhost:11434/v1/completions")
+
(plist-put minuet-openai-fim-compatible-options :name "Ollama")
(plist-put minuet-openai-fim-compatible-options :api-key "TERM")
- (plist-put minuet-openai-fim-compatible-options :model "qwen2.5-coder:latest")
+ (plist-put minuet-openai-fim-compatible-options :model "qwen2.5-coder:14b")
- (minuet-set-optional-options minuet-openai-fim-compatible-options :max_tokens 120))
+ (minuet-set-optional-options minuet-openai-fim-compatible-options :max_tokens 50))
(use-package elfeed
:custom
diff --git a/config/emacs.org b/config/emacs.org
index b0c5947..609873f 100644
--- a/config/emacs.org
+++ b/config/emacs.org
@@ -602,19 +602,24 @@ still. It is kind of like copilot but it works with local LLMs, which is better.
:map minuet-active-mode-map
("C-c r" . #'minuet-dismiss-suggestion)
("TAB" . #'minuet-accept-suggestion))
+
:init
(add-hook 'prog-mode-hook #'minuet-auto-suggestion-mode)
+ :custom
+ (minuet-request-timeout 40 "Max timeout in seconds")
+ (minuet-provider 'openai-fim-compatible "FIM compatible OpenAI-like API (Ollama)")
+ (minuet-n-completions 1 "I am using ghost text so I only need one possible completion")
+ (minuet-context-window 1024 "how much context do I want?")
+
:config
- (setq minuet-provider 'openai-fim-compatible)
- (setq minuet-n-completions 1)
- (setq minuet-context-window 512)
(plist-put minuet-openai-fim-compatible-options :end-point "http://localhost:11434/v1/completions")
+
(plist-put minuet-openai-fim-compatible-options :name "Ollama")
(plist-put minuet-openai-fim-compatible-options :api-key "TERM")
- (plist-put minuet-openai-fim-compatible-options :model "qwen2.5-coder:latest")
+ (plist-put minuet-openai-fim-compatible-options :model "qwen2.5-coder:14b")
- (minuet-set-optional-options minuet-openai-fim-compatible-options :max_tokens 120))
+ (minuet-set-optional-options minuet-openai-fim-compatible-options :max_tokens 50))
#+end_src
** RSS Feed
I use really simple syndication (RSS) in order to read news. As a result, I use
diff --git a/config/nix.org b/config/nix.org
index 34c0c2e..c19fa15 100644
--- a/config/nix.org
+++ b/config/nix.org
@@ -694,8 +694,15 @@ Use ollama for serving large language models to my other computers.
{ config, lib, ... }:
{
services.ollama = {
- enable = lib.mkDefault config.monorepo.profiles.workstation.enable;
- acceleration = "cuda";
+ enable = lib.mkDefault (!config.monorepo.profiles.ttyonly.enable);
+ acceleration = if (config.monorepo.profiles.workstation.enable) then "cuda" else null;
+ loadModels = [
+ "qwen3:30b"
+ "qwen3-coder:latest"
+ "qwen2.5-coder:latest"
+ "qwen2.5-coder:3b"
+ "gemma3:12b-it-qat"
+ ];
host = "0.0.0.0";
openFirewall = true;
};
@@ -3020,6 +3027,8 @@ for these configurations.
packages = with pkgs; (if config.monorepo.profiles.graphics.enable then [
# wikipedia
# kiwix kiwix-tools
+ mupdf
+ zathura
# passwords
age sops
@@ -3032,7 +3041,7 @@ for these configurations.
# Apps
# octaveFull
- vesktop grim swww vim telegram-desktop
+ vesktop grim swww vim telegram-desktop qwen-code
# Sound/media
pavucontrol alsa-utils imagemagick ffmpeg helvum