]> Untitled Git - monorepo.git/commitdiff
new flake lock
authorPreston Pan <ret2pop@gmail.com>
Wed, 10 Sep 2025 10:42:47 +0000 (03:42 -0700)
committerPreston Pan <ret2pop@gmail.com>
Wed, 10 Sep 2025 10:42:47 +0000 (03:42 -0700)
.env [new file with mode: 0644]
agenda.org
config/emacs.el
config/emacs.org
config/nix.org
journal/20250909.org [new file with mode: 0644]
models/qwen3/Modelfile [new file with mode: 0644]

diff --git a/.env b/.env
new file mode 100644 (file)
index 0000000..aef133e
--- /dev/null
+++ b/.env
@@ -0,0 +1,3 @@
+OPENAI_API_KEY=nothing
+OPENAI_BASE_URL="http://localhost:11434/v1"
+OPENAI_MODEL=qwen3-coder-noloop:latest
index 5b37104bec4271c0deab5c816be4c626c3b2c410..fbf3eb6c66641f9190422616d76a44648b8b2605 100644 (file)
@@ -60,11 +60,13 @@ something.
 These are some habits I want to track. They are repeated according to a calendar schedule in
 general.
 ** TODO Supplements
-SCHEDULED: <2025-09-09 Tue .+1d>
+SCHEDULED: <2025-09-11 Thu .+1d>
 :PROPERTIES:
-:LAST_REPEAT: [2025-09-08 Mon 15:39]
+:LAST_REPEAT: [2025-09-10 Wed 03:23]
 :STYLE: habit
 :END:
+- State "DONE"       from "TODO"       [2025-09-10 Wed 03:23]
+- State "DONE"       from "TODO"       [2025-09-09 Tue 02:39]
 - State "DONE"       from "TODO"       [2025-09-08 Mon 15:39]
 - State "DONE"       from "TODO"       [2025-09-08 Mon 04:35]
 - State "DONE"       from "TODO"       [2025-08-27 Wed 21:46]
@@ -79,11 +81,13 @@ Current stack:
 - Vitamin D3
 - EPA/DHA
 ** TODO Pushups
-SCHEDULED: <2025-09-09 Tue .+1d>
+SCHEDULED: <2025-09-11 Thu .+1d>
 :PROPERTIES:
-:LAST_REPEAT: [2025-09-08 Mon 04:35]
+:LAST_REPEAT: [2025-09-10 Wed 03:23]
 :STYLE: habit
 :END:
+- State "DONE"       from "TODO"       [2025-09-10 Wed 03:23]
+- State "DONE"       from "TODO"       [2025-09-09 Tue 02:42]
 - State "DONE"       from "TODO"       [2025-09-08 Mon 04:35]
 - State "DONE"       from "TODO"       [2025-08-27 Wed 21:46]
 - State "DONE"       from "TODO"       [2025-08-25 Mon 21:16]
@@ -99,21 +103,23 @@ SCHEDULED: <2025-08-26 Tue .+1d>
 - State "DONE"       from "TODO"       [2025-06-26 Thu 23:22]
 I want to be able to run or bike every day so that I get my exercise in.
 ** TODO Stretch
-SCHEDULED: <2025-09-09 Tue .+1d>
+SCHEDULED: <2025-09-10 Wed .+1d>
 :PROPERTIES:
-:LAST_REPEAT: [2025-09-08 Mon 04:47]
+:LAST_REPEAT: [2025-09-09 Tue 02:42]
 :STYLE: habit
 :END:
+- State "DONE"       from "TODO"       [2025-09-09 Tue 02:42]
 - State "DONE"       from "TODO"       [2025-09-08 Mon 04:47]
 - State "DONE"       from "TODO"       [2025-02-11 Tue 04:01]
 - State "DONE"       from "TODO"       [2025-01-11 Sat 02:26]
 I want to stretch every day so that I can become more flexible.
 ** TODO Journal
-SCHEDULED: <2025-09-09 Tue .+1d>
+SCHEDULED: <2025-09-10 Wed .+1d>
 :PROPERTIES:
-:LAST_REPEAT: [2025-09-08 Mon 04:35]
+:LAST_REPEAT: [2025-09-09 Tue 02:40]
 :STYLE: habit
 :END:
+- State "DONE"       from "TODO"       [2025-09-09 Tue 02:40]
 - State "DONE"       from "TODO"       [2025-09-08 Mon 04:35]
 - State "DONE"       from "TODO"       [2025-07-20 Sun 21:28]
 - State "DONE"       from "TODO"       [2025-06-26 Thu 23:21]
index 5cb9c3c48ca1c25176d203735a1bfa992eda6c62..8cb788eaef55e61639cec1ca21877cb0dbb21fbb 100644 (file)
   (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")
     "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")
     "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")
     "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")))))
      :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
index b0c5947ef92cd872081c31b2839a2a7e7c7714d4..609873fda57b607095ed1cfbf9d1c3f20893e9d1 100644 (file)
@@ -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
index 34c0c2eef088bd5a4cf72fe622c3c02ae7fd9fd2..c19fa15613b2b309ed09b13bdb680c3bdfe7c916 100644 (file)
@@ -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
diff --git a/journal/20250909.org b/journal/20250909.org
new file mode 100644 (file)
index 0000000..17c2f68
--- /dev/null
@@ -0,0 +1,14 @@
+#+TITLE: Daily Journal
+#+STARTUP: showeverything
+#+DESCRIPTION: My daily journal entry
+#+AUTHOR: Preston Pan
+#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../style.css" />
+#+html_head: <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
+#+html_head: <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
+#+options: broken-links:t
+* Tuesday, 09 September 2025
+** 02:39 
+I just fixed my emacs so it gave me LLM code completions, and a lot of things are rather streamlined now,
+and just according to my tastes in writing code.
+
+I am learning some haskell, and I want to learn some lean as well.
diff --git a/models/qwen3/Modelfile b/models/qwen3/Modelfile
new file mode 100644 (file)
index 0000000..cbd310a
--- /dev/null
@@ -0,0 +1,8 @@
+FROM renchris/qwen3-coder:30b-gguf-unsloth
+# sets the temperature to 1 [higher is more creative, lower is more coherent]
+PARAMETER temperature 0.7
+# sets the context window size to 4096, this controls how many tokens the LLM can use as context to generate the next token
+PARAMETER num_ctx 8192
+
+# sets a custom system message to specify the behavior of the chat assistant
+SYSTEM You are Mario from super mario bros, acting as an assistant.
\ No newline at end of file