diff options
| -rw-r--r-- | common/.gitconfig | 2 | ||||
| -rw-r--r-- | common/.sbclrc | 2 | ||||
| -rw-r--r-- | desktop/.config/blightmud/init.lua | 12 | ||||
| -rw-r--r-- | desktop/.config/blightmud/servers.ron | 8 | ||||
| -rw-r--r-- | emacs/.config/emacs/emacs-custom.el | 40 | ||||
| -rw-r--r-- | emacs/.config/emacs/init.el | 137 | ||||
| -rw-r--r-- | emacs/.config/emacs/lisp/kj-development.el | 16 | ||||
| -rw-r--r-- | zsh/.zshenv | 5 |
8 files changed, 157 insertions, 65 deletions
diff --git a/common/.gitconfig b/common/.gitconfig index 2bb8fe5..637d5a2 100644 --- a/common/.gitconfig +++ b/common/.gitconfig @@ -17,3 +17,5 @@ rebase = true [merge] conflictStyle = diff3 +[safe] + directory = /storage/projects/password-store.git diff --git a/common/.sbclrc b/common/.sbclrc index 465f146..3862312 100644 --- a/common/.sbclrc +++ b/common/.sbclrc @@ -1,6 +1,6 @@ ;;; The following lines added by ql:add-to-init-file: #-quicklisp -(let ((quicklisp-init (merge-pathnames ".cache/quicklisp/setup.lisp" +(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))) (when (probe-file quicklisp-init) (load quicklisp-init))) diff --git a/desktop/.config/blightmud/init.lua b/desktop/.config/blightmud/init.lua new file mode 100644 index 0000000..360b2b0 --- /dev/null +++ b/desktop/.config/blightmud/init.lua @@ -0,0 +1,12 @@ +local function reload_scripts() + blight.status_height(1) + blight.status_line(0, "") + script.reset() + script.load("/home/orbekk/.config/blightmud/init.lua") +end + +alias.add("^reload$", reload_scripts) + +# see /help config_scripts + +blight.output("Loaded init.lua") diff --git a/desktop/.config/blightmud/servers.ron b/desktop/.config/blightmud/servers.ron new file mode 100644 index 0000000..cebb41a --- /dev/null +++ b/desktop/.config/blightmud/servers.ron @@ -0,0 +1,8 @@ +{ + "dunemud": ( + host: "dunemud.net", + port: 6788, + tls: true, + verify_cert: true, + ), +}
\ No newline at end of file diff --git a/emacs/.config/emacs/emacs-custom.el b/emacs/.config/emacs/emacs-custom.el index f961587..286790f 100644 --- a/emacs/.config/emacs/emacs-custom.el +++ b/emacs/.config/emacs/emacs-custom.el @@ -3,7 +3,9 @@ ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. + '(ai-code-onboarding-seen t) '(custom-safe-themes +<<<<<<< variant A '("fbf73690320aa26f8daffdd1210ef234ed1b0c59f3d001f342b9c0bbf49f531c" "0340489fa0ccbfa05661bc5c8c19ee0ff95ab1d727e4cc28089b282d30df8fc8" "e3999eba4f25d912d7d61cbaaed1b551957e61da047279da89499d3bd1f1d007" @@ -29,13 +31,51 @@ with-editor yaml-mode yasnippet yasnippet-snippets zenburn-theme)) '(package-vc-selected-packages '((kj-emacs :url "/home/orbekk/git/kj-emacs.git"))) +>>>>>>> variant B + '("5e39e95c703e17a743fb05a132d727aa1d69d9d2c9cde9353f5350e545c793d4" + "fbf73690320aa26f8daffdd1210ef234ed1b0c59f3d001f342b9c0bbf49f531c" + "0340489fa0ccbfa05661bc5c8c19ee0ff95ab1d727e4cc28089b282d30df8fc8" + "e3999eba4f25d912d7d61cbaaed1b551957e61da047279da89499d3bd1f1d007" + "8d412c0ed46b865312d6df5c1dfd1821d349dd3cba00049cf88c4ad34403597e" + "88267200889975d801f6c667128301af0bc183f3450c4b86138bfb23e8a78fb1" + default)) + '(package-selected-packages nil) + '(package-vc-selected-packages + '((anki-editor :url "https://github.com/anki-editor/anki-editor") + (kj-emacs :url "/home/orbekk/git/kj-emacs.git"))) + '(safe-local-variable-directories '("/home/orbekk/common-lisp/ledger/")) +####### Ancestor + '("fbf73690320aa26f8daffdd1210ef234ed1b0c59f3d001f342b9c0bbf49f531c" "0340489fa0ccbfa05661bc5c8c19ee0ff95ab1d727e4cc28089b282d30df8fc8" "e3999eba4f25d912d7d61cbaaed1b551957e61da047279da89499d3bd1f1d007" "8d412c0ed46b865312d6df5c1dfd1821d349dd3cba00049cf88c4ad34403597e" "88267200889975d801f6c667128301af0bc183f3450c4b86138bfb23e8a78fb1" default)) + '(package-selected-packages + '(modus-themes kj-emacs dslide org-download anki-editor yasnippet org-pomodoro eshell-syntax-highlighting esh-help pcmpl-args exercism tidal haskell-mode diff-hl dts-mode clojure-mode unobtrusive-magit-theme ledger-mode nix-mode rustic tempel puni magit gcmh smudge helpful pdf-tools pcre2el repeat-help selected ace-mc expand-region idle-highlight-mode diredfl anzu direnv ob-async mixed-pitch deadgrep wgrep coterm doom-themes with-editor zenburn-theme yasnippet-snippets yaml-mode which-key undo-tree tabbar session rust-mode puppet-mode pod-mode notmuch muttrc-mode mutt-alias lsp-mode initsplit ido-completing-read+ htmlize graphviz-dot-mode goto-chg gitignore-mode gitconfig-mode gitattributes-mode git-modes folding flycheck ess eproject editorconfig diminish csv-mode color-theme-modern browse-kill-ring boxquote bm bar-cursor apache-mode projectile embark-consult)) + '(package-vc-selected-packages '((kj-emacs :url "/home/orbekk/git/kj-emacs.git"))) +======= end '(safe-local-variable-values +<<<<<<< variant A '((org-duration-format . h:mm) (org-duration-format \` h:mm) (checkdoc-allow-quoting-nil-and-t . t) (eval outline-hide-sublevels 3) (eval outline-hide-sublevels 2) (Package . CL-WHO) (Package . HUNCHENTOOT) (Base . 10) (Package . CL-USER) (Syntax . COMMON-LISP) (eval sly-connect "localhost" 9090) (sly-port . 9090) +>>>>>>> variant B + '((checkdoc-allow-quoting-nil-and-t . t) + (eval outline-hide-sublevels 3) (eval outline-hide-sublevels 2) + (Package . CL-WHO) (Package . HUNCHENTOOT) (Base . 10) + (Package . CL-USER) (Syntax . COMMON-LISP) + (eval sly-connect "localhost" 9090) (sly-port . 9090) +####### Ancestor + '((checkdoc-allow-quoting-nil-and-t . t) + (eval outline-hide-sublevels 3) + (eval outline-hide-sublevels 2) + (Package . CL-WHO) + (Package . HUNCHENTOOT) + (Base . 10) + (Package . CL-USER) + (Syntax . COMMON-LISP) + (eval sly-connect "localhost" 9090) + (sly-port . 9090) +======= end (checkdoc-package-keywords-flag)))) (custom-set-faces ;; custom-set-faces was added by Custom. diff --git a/emacs/.config/emacs/init.el b/emacs/.config/emacs/init.el index 66bbd5f..d81e654 100644 --- a/emacs/.config/emacs/init.el +++ b/emacs/.config/emacs/init.el @@ -1,10 +1,5 @@ ;;; -*- lexical-binding: t; -*- -;;;; Elpaca package setup -;; ;; NixOS emacs doesn't include a build time. Assume a recent version. -;; (setq elpaca-core-date 20240101) -;; (setq elpaca-directory "~/.cache/emacs/elpaca") -;; (load-file (expand-file-name "elpaca-installer.el" user-emacs-directory)) - +;;;; Package setup (with-eval-after-load 'package (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)) (setopt use-package-always-ensure t) @@ -196,6 +191,10 @@ :init (vertico-mode)) +(use-package corfu + :init + (global-corfu-mode)) + (use-package marginalia :bind (:map minibuffer-local-map @@ -363,15 +362,17 @@ (use-package emacs :ensure nil :init - (setq-default show-trailing-whitespace t) - (dolist (mode '(calendar-mode-hook - eshell-mode-hook - term-mode-hook - comint-mode-hook - completion-list-mode)) - (add-hook mode - (defun kj/disable-trailing-whitespace () - (setq show-trailing-whitespace nil))))) + ;; (setq-default show-trailing-whitespace t) + + ;; (dolist (mode '(calendar-mode-hook + ;; eshell-mode-hook + ;; term-mode-hook + ;; comint-mode-hook + ;; completion-list-mode)) + ;; (add-hook mode + ;; (defun kj/disable-trailing-whitespace () + ;; (setq show-trailing-whitespace nil)))) + ) (use-package ws-butler :hook (prog-mode . ws-butler-mode)) @@ -493,11 +494,11 @@ (process-buffer proc)) (kill-buffer (process-buffer proc))))))))) -(use-package coterm - :config - (coterm-mode 1)) -(add-to-list 'comint-output-filter-functions - 'comint-osc-process-output) +;; (use-package coterm +;; :config +;; (coterm-mode 1)) +;; (add-to-list 'comint-output-filter-functions +;; 'comint-osc-process-output) ;; Update buffer name to reflect directory. (advice-add 'cd :after @@ -590,6 +591,9 @@ (keymap-global-set "C-c m" #'kj/transient) ;;;; Applications +;;;;; Ghostel +(use-package ghostel :ensure nil) + ;;;;; Tramp (use-package tramp :ensure nil) @@ -657,25 +661,39 @@ ;; Initialize (anki-editor-reset-cloze-number)) -;;;;; Ledger -(use-package ledger-mode - :mode "\\.journal") - -(use-package flycheck-hledger - :after (flycheck ledger-mode) - :demand t) - -(defun kj/ledger-import () - (interactive) - (let* - ((rules-file "~/git/org/hledger/rules/common.rules") - (input-file - (car (last (sort (file-expand-wildcards - "~/Downloads/Chase3660*.CSV"))))) - (compile-command "hledger import ")) - (message "Importing %s" input-file) - (compile )) -) +;;;;; Gptel +(use-package gptel + :ensure t + :config + (setq gptel-model 'gemini-flash-latest) + (setq gptel-backend + (let ((gemini-key "~/.config/.gemini-api-key")) + (when (file-exists-p gemini-key) + (gptel-make-gemini "Gemini" + :key (with-temp-buffer + (insert-file-contents gemini-key) + (buffer-string)) + :stream t))))) +;;;;; ai-code +(use-package aidermacs + :bind (("C-c d" . aidermacs-transient-menu)) + :config + ; Set API_KEY in .bashrc, that will automatically picked up by aider or in elisp + (setenv "ANTHROPIC_API_KEY" "sk-...") + (let ((gemini-key "~/.config/.gemini-api-key")) + (when (file-exists-p gemini-key) + (setenv "GOOGLE_API_KEY" + (with-temp-buffer + (insert-file-contents gemini-key) + (s-trim (buffer-string)))) + (setenv "GEMINI_API_KEY" + (with-temp-buffer + (insert-file-contents gemini-key) + (s-trim (buffer-string)))))) + :custom + ; See the Configuration section below + (aidermacs-default-chat-mode 'architect) + (aidermacs-default-model "gemini/gemini-flash-latest")) ;;;; Org mode (use-package org :config @@ -688,17 +706,17 @@ ) (setopt org-capture-templates - '(("s" "Sailing entry" plain (file+datetree "~/org/roam/sailing.org") + '(("s" "Sailing entry" plain (file+datetree "~/git/org/roam/sailing.org") "%^{LOCATION|Brooklyn}p\n%^{VESSEL|J80}p%^{SKIPPER}p%?") ("a" "Anki templates") ("ai" "Inbox basic" entry - (file+headline "~/org/anki/inbox.org" "Inbox") + (file+headline "~/git/org/anki/inbox.org" "Inbox") "* %T %^g\n:PROPERTIES:\n:ANKI_NOTE_TYPE: Basic\n:END:\n** Front\n%?\n** Back\n%x\n") ("as" "Sailing basic" entry - (file+headline "~/org/anki/sailing.org" "Sailing") + (file+headline "~/git/org/anki/sailing.org" "Sailing") "* %T\n:PROPERTIES:\n:ANKI_NOTE_TYPE: Basic\n:END:\n** Front\n%?\n** Back\n%x\n") ("az" "Sailing cloze" entry - (file+headline "~/org/anki/sailing.org" "Sailing") + (file+headline "~/git/org/anki/sailing.org" "Sailing") "* %T\n:PROPERTIES:\n:ANKI_NOTE_TYPE: Cloze\n:END:\n** Text\n%x%?\n** Extra\n"))) ;; Install the link type @@ -788,7 +806,7 @@ Can link to more than one message, if so all matching messages are shown." ;; If you use `org' and don't want your org files in the default location below, ;; change `org-directory'. It must be set before org loads! - (setq org-directory "~/org/") + (setq org-directory "~/git/org/") (setq org-todo-keywords '((sequence "TODO(t)" "ACTIVE(a!)" "WAIT(w@/!)" "|" "DONE(d!)" "CANCELED(c@)"))) @@ -821,7 +839,6 @@ Can link to more than one message, if so all matching messages are shown." (defvar org-publish-project-alist) (defun kj/find-agenda-files-containing-tag (tag) - (setq org-agenda-archives-mode nil) (let* ((org-agenda-archives-mode nil) (candidates (org-agenda-files nil 'ifmode)) (matcher (cdr (org-make-tags-matcher tag))) @@ -839,7 +856,7 @@ Can link to more than one message, if so all matching messages are shown." (setq project (or project "all")) (setq force (or force current-prefix-arg)) (setq org-agenda-files (list org-roam-directory)) - (let* ((static-files-re (string-join '("css" "txt" "jpg" "png" "gif" "svg") "\\|")) + (let* ((static-files-re (string-join '("css" "txt" "jpg" "jpeg" "png" "gif" "svg") "\\|")) (files-to-include (kj/find-agenda-files-containing-tag kj/publish-tag)) ;; Disable org babel exports during publish entirely to speed up publish. ;; This messes up babel output handling. @@ -851,10 +868,10 @@ Can link to more than one message, if so all matching messages are shown." (org-publish-project-alist `( ("static" - :base-directory ,(concat org-roam-directory "/static") + :base-directory ,org-roam-directory :base-extension ,static-files-re :recursive t - :publishing-directory ,(concat kj/publish-directory "/static") + :publishing-directory ,kj/publish-directory :publishing-function org-publish-attachment) ("source" :base-directory ,org-roam-directory @@ -969,6 +986,30 @@ Can link to more than one message, if so all matching messages are shown." (use-package dslide) +;;;; Languages +(use-package sly + :custom + ((sly-symbol-completion-mode nil) + (inferior-lisp-program "sbcl"))) + +(use-package emacs :ensure nil + :defer 1 + :disabled + :after consult + :init + (when-let ((slime-helper (expand-file-name "~/quicklisp/slime-helper.el")) + ((file-exists-p slime-helper))) + (load slime-helper) + (setopt inferior-lisp-program "sbcl") + (defvar kj/slime-history-ring nil) + (defvar kj/slime-history-index nil) + (add-to-list 'consult-mode-histories + '(slime-repl-mode slime-repl-input-history + slime-repl-input-history-position + beginning-of-line)) + (slime-setup '(slime-fancy slime-asdf)))) + + ;;;; Include modules in lisp/ (defvar kj/module-directory (expand-file-name "lisp" user-emacs-directory)) (push kj/module-directory load-path) diff --git a/emacs/.config/emacs/lisp/kj-development.el b/emacs/.config/emacs/lisp/kj-development.el index 613f735..dced850 100644 --- a/emacs/.config/emacs/lisp/kj-development.el +++ b/emacs/.config/emacs/lisp/kj-development.el @@ -125,22 +125,6 @@ ;; :custom ;; (inferior-lisp-program "sbcl")) -(use-package emacs :ensure nil - :defer 1 - :after consult - :init - (when-let ((slime-helper (expand-file-name "~/.cache/quicklisp/slime-helper.el")) - ((file-exists-p slime-helper))) - (load slime-helper) - (setopt inferior-lisp-program "sbcl") - (defvar kj/slime-history-ring nil) - (defvar kj/slime-history-index nil) - (add-to-list 'consult-mode-histories - '(slime-repl-mode slime-repl-input-history - slime-repl-input-history-position - beginning-of-line)) - (slime-setup '(slime-fancy slime-asdf)))) - (use-package exercism) (defun kj/run-exercism-test () (interactive) diff --git a/zsh/.zshenv b/zsh/.zshenv index 956958e..7ae6672 100644 --- a/zsh/.zshenv +++ b/zsh/.zshenv @@ -17,6 +17,11 @@ if [[ $(hostname) =~ fedora ]]; then export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" fi +if [[ -e ~/.config/.gemini-api-key ]]; then + export GEMINI_API_KEY=$(cat ~/.config/.gemini-api-key) + export GOOGLE_API_KEY=$(cat ~/.config/.gemini-api-key) +fi + PATH="$HOME/bin:$HOME/.local/bin:$HOME/build/doom-emacs/bin:$PATH:$HOME/.cargo/bin" alias e="emacsclient -n" |
