From: Preston Pan Date: Wed, 10 Sep 2025 10:42:47 +0000 (-0700) Subject: new flake lock X-Git-Url: https://ret2pop.net/gitweb/%22https:/%22../index.html/static/gitweb.css?a=commitdiff_plain;h=c15492d8aa38b7125dc6574c08f6a765aad44fcb;p=monorepo.git new flake lock --- diff --git a/.env b/.env new file mode 100644 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 diff --git a/agenda.org b/agenda.org index 5b37104..fbf3eb6 100644 --- a/agenda.org +++ b/agenda.org @@ -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] 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 diff --git a/journal/20250909.org b/journal/20250909.org new file mode 100644 index 0000000..17c2f68 --- /dev/null +++ b/journal/20250909.org @@ -0,0 +1,14 @@ +#+TITLE: Daily Journal +#+STARTUP: showeverything +#+DESCRIPTION: My daily journal entry +#+AUTHOR: Preston Pan +#+HTML_HEAD: +#+html_head: +#+html_head: +#+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 index 0000000..cbd310a --- /dev/null +++ b/models/qwen3/Modelfile @@ -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