Compare commits

...

5 Commits

Author SHA1 Message Date
a0a4559151 UHHHHH 2025-08-23 00:42:35 +02:00
62dd664426 idk 2024-07-22 12:52:31 +02:00
7a78a1645a stuff 2024-03-09 19:10:57 +01:00
e95c531179 merge 2023-12-12 15:00:03 +01:00
309dccb4ea whatever 2023-12-12 14:57:07 +01:00
7 changed files with 202 additions and 145 deletions

109
config.el
View File

@@ -10,16 +10,21 @@
auto-revert-verbose nil
custom-safe-themes t
mouse-autoselect-window t
focus-follows-mouse t)
focus-follows-mouse t
boymind-user "akko")
(fset 'yes-or-no-p 'y-or-n-p)
(if (string= (system-name) "illya")
(set-frame-font "Monoflow 12" nil t)
(set-frame-font "Monoflow 22" nil t))
;;(set-frame-font "Mononoki 12" nil t )
(set-frame-font "Mononoki 12" nil t))
(set-frame-font "Mononoki 13")
(setq doom-theme 'doom-ayu-mirage)
(add-to-list 'custom-theme-load-path
(expand-file-name "themes" doom-user-dir))
(add-to-list 'custom-theme-load-path
(expand-file-name "themes" "~/.emacs.d"))
(display-time-mode 1)
@@ -27,12 +32,12 @@
(define-key evil-normal-state-map (kbd "g a") 'paste-above)
(define-key evil-normal-state-map (kbd "g p") 'paste-below)
(global-set-key (kbd "C-x C-f") #'counsel-find-file)
(global-set-key (kbd "C-x C-f") #'find-file)
(map! :leader
"." #'counsel-find-file)
"." #'find-file)
; TODO fix
(map! :after counsel "C-s" #'swiper)
(map! :after vertico "C-s" #'+default/search-buffer)
(after! evil-escape
(setq evil-escape-key-sequence "jj")
@@ -41,7 +46,7 @@
(which-key-mode 1)
(setq which-key-idle-delay 0.25)
(defun doom/find-file-in-private-config () (interactive) (counsel-find-file doom-user-dir))
;(defun doom/find-file-in-private-config () (interactive) (find-file doom-user-dir))
(setq ivy-height 10
ivy-count-format "(%d/%d) "
@@ -72,6 +77,8 @@
(defadvice projectile-project-root (around ignore-remote first activate)
(unless (file-remote-p default-directory) ad-do-it))
(setq aw-scope 'global)
(setq web-mode-script-padding 0
js-indent-level 2
js2-strict-missing-semi-warning nil
@@ -83,59 +90,23 @@
python-shell-interpreter-args "-i --simple-prompt")
(setq python-shell-completion-native-disabled-interpreters '("ipython"))
(setq org-startup-folded t)
(setq org-roam-directory (file-truename "/mnt/tenma/srv/boymind"))
; this seems to be broken right now
;(use-package! org-roam
; :config
; (setq org-roam-database-connector 'sqlite3))
(condition-case nil
(org-roam-db-autosync-mode)
(file-error (progn
(setq boymind/tenma-mounted nil)
(warn "Boymind mount failed.")))
(:success (setq boymind/tenma-mounted t)))
(org-babel-do-load-languages
'org-babel-load-languages
'((ledger . t)
))
(when boymind/tenma-mounted
(org-babel-load-file (car (org-roam-id-find "d38fc8c3-651a-42e8-9ab7-33400f62a5b4")))
(boymind/setup "akko"))
(setq akko/org-agenda-path (car (org-roam-id-find "7f9b4c89-d527-43be-8f6b-47658d87cc87"))
akko/org-tickler-path (car (org-roam-id-find "efe09517-236c-4665-af62-abfd5951a172"))
akko/org-projects-path (car (org-roam-id-find "36cd8b7e-8853-4986-8b1d-a186aa75a204"))
akko/org-inbox-path (car (org-roam-id-find "251c9862-a97c-4652-b9ee-6fcfc953cf5c"))
akko/org-someday-path (car (org-roam-id-find "22caafc8-f319-4d8a-ae64-534b1568e02e")))
(setq org-refile-targets '((akko/org-projects-path :maxlevel . 3)
(akko/org-someday-path :level . 1)
(akko/org-tickler-path :maxlevel . 2)))
(setq org-refile-use-outline-path 'title)
(setq org-agenda-files (list akko/org-agenda-path
akko/org-tickler-path
akko/org-projects-path))
(setq org-todo-keywords '((sequence "TODO(t)" "WAITING(w)" "|" "DONE(d)" "CANCELLED(c)")))
(setq org-agenda-custom-commands
'(("p" "Projects" alltodo ""
((org-agenda-overriding-header "Projects")
(org-agenda-skip-function #'akko/org-agenda-skip-all-siblings-but-first)
(org-agenda-files (list akko/org-projects-path))
(org-agenda-prefix-format '((todo . " %i %b")))))))
(defun akko/org-agenda-skip-all-siblings-but-first ()
"Skip all but the first non-done entry."
(let (should-skip-entry)
(unless (org-current-is-todo)
(setq should-skip-entry t))
(save-excursion
(while (and (not should-skip-entry) (org-goto-sibling t))
(when (org-current-is-todo)
(setq should-skip-entry t))))
(when should-skip-entry
(or (outline-next-heading)
(goto-char (point-max))))))
(defun org-current-is-todo ()
(string= "TODO" (org-get-todo-state)))
(setq org-startup-folded t)
(add-hook 'term-mode-hook 'toggle-truncate-lines)
@@ -146,6 +117,13 @@
(setq lsp-enable-links nil)
(after! circe
(set-irc-server! "irc.rizon.net"
'(:tls t
:port 6697
:nick "akk0"
:channels ("#r/a/dio"))))
(require 'ox-publish)
(defun blog/get-util (x)
@@ -225,7 +203,7 @@
("static"
:base-directory "~/Blog/static"
:base-extension "css\\|txt\\|jpg\\|gif\\|png\\|ttf\\|js"
:base-extension "css\\|txt\\|jpg\\|gif\\|png\\|ttf\\|js\\|mp4\\|webm"
:recursive t
:publishing-directory "~/Blog/html/static"
:publishing-function org-publish-attachment)
@@ -246,9 +224,11 @@
(org-publish-all))
(map! :leader
(:prefix ("a" . "akko")
(:prefix-map
("a" . "akko")
:desc "Publish Blog"
"b" #'akko/publish-blog
:desc "Force Publish Blog"
"f" #'akko/force-publish-blog))
(setq org-html-htmlize-output-type 'css)
@@ -262,3 +242,24 @@
(org-mode)
(org-time-stamp '(16))
(buffer-substring (point-min) (point-max))))
(setq shell-file-name (executable-find "bash"))
(setq-default vterm-shell (executable-find "fish"))
(setq-default explicit-shell-file-name (executable-find "fish"))
(after! auth-source
(setq auth-sources (append '("~/.authinfo") auth-sources)))
(use-package! gptel
:config
(gptel-make-openai "OpenRouter" ;Any name you want
:host "openrouter.ai"
:endpoint "/api/v1/chat/completions"
:stream t
:key #'gptel-api-key-from-auth-source
:models '(anthropic/claude-3.7-sonnet:beta))
(map! :leader
(:prefix-map ("z" . "AI")
:desc "Send to GPT" "z" #'gptel-send
:desc "GPT menu" "m" #'gptel-menu))
(setq gptel-default-mode #'org-mode))

View File

@@ -15,7 +15,8 @@ Honestly I barely remember what some of this stuff is supposed to do, this is th
auto-revert-verbose nil
custom-safe-themes t
mouse-autoselect-window t
focus-follows-mouse t)
focus-follows-mouse t
boymind-user "akko")
(fset 'yes-or-no-p 'y-or-n-p)
#+END_SRC
@@ -25,12 +26,16 @@ Honestly I barely remember what some of this stuff is supposed to do, this is th
#+BEGIN_SRC emacs-lisp
(if (string= (system-name) "illya")
(set-frame-font "Monoflow 12" nil t)
(set-frame-font "Monoflow 22" nil t))
;;(set-frame-font "Mononoki 12" nil t )
(set-frame-font "Mononoki 12" nil t))
(set-frame-font "Mononoki 13")
#+END_SRC
** Theme
#+BEGIN_SRC emacs-lisp
(setq doom-theme 'doom-ayu-mirage)
(add-to-list 'custom-theme-load-path
(expand-file-name "themes" doom-user-dir))
(add-to-list 'custom-theme-load-path
(expand-file-name "themes" "~/.emacs.d"))
#+END_SRC
** Other
#+BEGIN_SRC emacs-lisp
@@ -43,12 +48,12 @@ Honestly I barely remember what some of this stuff is supposed to do, this is th
(define-key evil-normal-state-map (kbd "g a") 'paste-above)
(define-key evil-normal-state-map (kbd "g p") 'paste-below)
(global-set-key (kbd "C-x C-f") #'counsel-find-file)
(global-set-key (kbd "C-x C-f") #'find-file)
(map! :leader
"." #'counsel-find-file)
"." #'find-file)
; TODO fix
(map! :after counsel "C-s" #'swiper)
(map! :after vertico "C-s" #'+default/search-buffer)
(after! evil-escape
(setq evil-escape-key-sequence "jj")
@@ -57,7 +62,7 @@ Honestly I barely remember what some of this stuff is supposed to do, this is th
(which-key-mode 1)
(setq which-key-idle-delay 0.25)
(defun doom/find-file-in-private-config () (interactive) (counsel-find-file doom-user-dir))
;(defun doom/find-file-in-private-config () (interactive) (find-file doom-user-dir))
#+END_SRC
* Completion
@@ -81,7 +86,6 @@ Honestly I barely remember what some of this stuff is supposed to do, this is th
(setq yas-triggers-in-field t)
#+END_SRC
* Navigation
** Avy
#+BEGIN_SRC emacs-lisp
@@ -104,6 +108,12 @@ Honestly I barely remember what some of this stuff is supposed to do, this is th
(unless (file-remote-p default-directory) ad-do-it))
#+END_SRC
** Ace-window
Make ace-window work across frames
#+BEGIN_SRC emacs-lisp
(setq aw-scope 'global)
#+END_SRC
* Major modes
** web-mode
#+BEGIN_SRC emacs-lisp
@@ -121,11 +131,6 @@ Honestly I barely remember what some of this stuff is supposed to do, this is th
(setq python-shell-completion-native-disabled-interpreters '("ipython"))
#+END_SRC
** Org
*** General
#+BEGIN_SRC emacs-lisp
(setq org-startup-folded t)
#+END_SRC
*** Roam
#+BEGIN_SRC emacs-lisp
(setq org-roam-directory (file-truename "/mnt/tenma/srv/boymind"))
@@ -133,57 +138,24 @@ Honestly I barely remember what some of this stuff is supposed to do, this is th
;(use-package! org-roam
; :config
; (setq org-roam-database-connector 'sqlite3))
(condition-case nil
(org-roam-db-autosync-mode)
(file-error (progn
(setq boymind/tenma-mounted nil)
(warn "Boymind mount failed.")))
(:success (setq boymind/tenma-mounted t)))
#+END_SRC
*** Accounting
*** Boymind
#+BEGIN_SRC emacs-lisp
(org-babel-do-load-languages
'org-babel-load-languages
'((ledger . t)
))
(when boymind/tenma-mounted
(org-babel-load-file (car (org-roam-id-find "d38fc8c3-651a-42e8-9ab7-33400f62a5b4")))
(boymind/setup "akko"))
#+END_SRC
*** GTD
*** General
#+BEGIN_SRC emacs-lisp
(setq akko/org-agenda-path (car (org-roam-id-find "7f9b4c89-d527-43be-8f6b-47658d87cc87"))
akko/org-tickler-path (car (org-roam-id-find "efe09517-236c-4665-af62-abfd5951a172"))
akko/org-projects-path (car (org-roam-id-find "36cd8b7e-8853-4986-8b1d-a186aa75a204"))
akko/org-inbox-path (car (org-roam-id-find "251c9862-a97c-4652-b9ee-6fcfc953cf5c"))
akko/org-someday-path (car (org-roam-id-find "22caafc8-f319-4d8a-ae64-534b1568e02e")))
(setq org-refile-targets '((akko/org-projects-path :maxlevel . 3)
(akko/org-someday-path :level . 1)
(akko/org-tickler-path :maxlevel . 2)))
(setq org-refile-use-outline-path 'title)
(setq org-agenda-files (list akko/org-agenda-path
akko/org-tickler-path
akko/org-projects-path))
(setq org-todo-keywords '((sequence "TODO(t)" "WAITING(w)" "|" "DONE(d)" "CANCELLED(c)")))
(setq org-agenda-custom-commands
'(("p" "Projects" alltodo ""
((org-agenda-overriding-header "Projects")
(org-agenda-skip-function #'akko/org-agenda-skip-all-siblings-but-first)
(org-agenda-files (list akko/org-projects-path))
(org-agenda-prefix-format '((todo . " %i %b")))))))
(defun akko/org-agenda-skip-all-siblings-but-first ()
"Skip all but the first non-done entry."
(let (should-skip-entry)
(unless (org-current-is-todo)
(setq should-skip-entry t))
(save-excursion
(while (and (not should-skip-entry) (org-goto-sibling t))
(when (org-current-is-todo)
(setq should-skip-entry t))))
(when should-skip-entry
(or (outline-next-heading)
(goto-char (point-max))))))
(defun org-current-is-todo ()
(string= "TODO" (org-get-todo-state)))
(setq org-startup-folded t)
#+END_SRC
** term-mode
#+BEGIN_SRC emacs-lisp
(add-hook 'term-mode-hook 'toggle-truncate-lines)
@@ -203,6 +175,16 @@ Honestly I barely remember what some of this stuff is supposed to do, this is th
#+BEGIN_SRC emacs-lisp
(setq lsp-enable-links nil)
#+END_SRC
* IRC
#+BEGIN_SRC emacs-lisp
(after! circe
(set-irc-server! "irc.rizon.net"
'(:tls t
:port 6697
:nick "akk0"
:channels ("#r/a/dio"))))
#+END_SRC
* Blog
#+BEGIN_SRC emacs-lisp
(require 'ox-publish)
@@ -284,7 +266,7 @@ Honestly I barely remember what some of this stuff is supposed to do, this is th
("static"
:base-directory "~/Blog/static"
:base-extension "css\\|txt\\|jpg\\|gif\\|png\\|ttf\\|js"
:base-extension "css\\|txt\\|jpg\\|gif\\|png\\|ttf\\|js\\|mp4\\|webm"
:recursive t
:publishing-directory "~/Blog/html/static"
:publishing-function org-publish-attachment)
@@ -305,9 +287,11 @@ Honestly I barely remember what some of this stuff is supposed to do, this is th
(org-publish-all))
(map! :leader
(:prefix ("a" . "akko")
(:prefix-map
("a" . "akko")
:desc "Publish Blog"
"b" #'akko/publish-blog
:desc "Force Publish Blog"
"f" #'akko/force-publish-blog))
(setq org-html-htmlize-output-type 'css)
@@ -322,3 +306,32 @@ Honestly I barely remember what some of this stuff is supposed to do, this is th
(org-time-stamp '(16))
(buffer-substring (point-min) (point-max))))
#+END_SRC
* Fixes
** Emacs doesn't play well with fish shell
#+BEGIN_SRC emacs-lisp
(setq shell-file-name (executable-find "bash"))
(setq-default vterm-shell (executable-find "fish"))
(setq-default explicit-shell-file-name (executable-find "fish"))
#+END_SRC
* Antichrist
#+BEGIN_SRC emacs-lisp
(after! auth-source
(setq auth-sources (append '("~/.authinfo") auth-sources)))
(use-package! gptel
:config
(gptel-make-openai "OpenRouter" ;Any name you want
:host "openrouter.ai"
:endpoint "/api/v1/chat/completions"
:stream t
:key #'gptel-api-key-from-auth-source
:models '(anthropic/claude-3.7-sonnet:beta))
(map! :leader
(:prefix-map ("z" . "AI")
:desc "Send to GPT" "z" #'gptel-send
:desc "GPT menu" "m" #'gptel-menu))
(setq gptel-default-mode #'org-mode))
#+END_SRC

View File

@@ -9,7 +9,39 @@
'(magit-todos-insert-after '(bottom) nil nil "Changed by setter of obsolete option `magit-todos-insert-at'")
'(package-selected-packages
'(polymode fish-mode solidity-mode yaml-mode bison-mode graphql-mode arduino-mode gdscript-mode speed-type ivy-posframe lsp-haskell treemacs key-chord))
'(safe-local-variable-values '((eval company-mode nil)))
'(safe-local-variable-values
'((eval company-mode nil)
(org-todo-keyword-faces
("DIRE" . "red")
("MEH" . "orange")
("GOOD" . "green")
("AWESOME" . "purple")
("UNFILLED" . "white"))
(org-todo-keyword-faces
("DIRE" . "red")
("MEH" . "orange")
("GOOD" . "green")
("AWESOME" . "purple")
("UNFILLED" . pink))
(org-todo-keyword-faces
("DIRE" . "red")
("MEH" . "orange")
("GOOD" . "green")
("AWESOME" . "purple")
("UNFILLED" . grey))
(org-todo-keyword-faces
("DIRE" . "red")
("MEH" . "orange")
("GOOD" . "green")
("AWESOME" . "purple")
("UNFILLED" . white))
(org-todo-keyword-faces
("DIRE" . "red")
("MEH" . "orange")
("GOOD" . "green")
("AWESOME" . "purple"))
(org-todo-keyword-faces
("DIRE" . "red"))))
'(warning-suppress-log-types
'((lsp-completion-mode-hook)
(lsp-completion-mode-hook)

29
init.el
View File

@@ -16,9 +16,12 @@
company ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
(ivy ; a search engine for love and life
+prescient
+icons)
;(ivy ; a search engine for love and life
;+prescient
; +icons)
(vertico +icons)
:checkers
syntax
@@ -27,7 +30,7 @@
;;deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
doom-quit ; DOOM quit-message prompts when you quit Emacs
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
;;fill-column ; a `fill-column' indicator
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra
@@ -84,7 +87,7 @@
;;direnv
;;docker
editorconfig ; let someone else argue about tabs vs spaces
ein ; tame Jupyter notebooks with emacs
;;ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
flycheck ; tasing you for every semicolon you forget
;;flyspell ; tasing you for misspelling mispelling
@@ -101,7 +104,7 @@
;;pass ; password manager for nerds
pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
;;rgb ; creating color strings
rgb ; creating color strings
;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux
;;upload ; map local to remote projects via ssh/ftp
@@ -126,7 +129,7 @@
;;fsharp ; ML stands for Microsoft's Language
;;go ; the hipster dialect
(haskell +lsp) ; a language that's lazier than I am
hy ; readability of scheme w/ speed of python
;;hy ; readability of scheme w/ speed of python
;;idris ;
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
(javascript +lsp) ; all(hope(abandon(ye(who(enter(here))))))
@@ -155,21 +158,21 @@
;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
(python ; beautiful is better than ugly
+conda
;; +conda
+lsp)
qt ; the 'cutest' gui framework ever
racket ; a DSL for DSLs
;;qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;rest ; Emacs as a REST client
;;rst ; ReST in peace
;;ruby ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good
scheme ; a fully conniving family of lisps
(sh +fish +lsp) ; she sells {ba,z,fi}sh shells on the C xor
solidity ; do you need a blockchain? No.
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
web ; the tubes
(web +lsp) ; the tubes
:email
;;(mu4e +gmail)

1
lisp/eaf Submodule

Submodule lisp/eaf added at 46733de03b

1
lisp/eaf-browser Submodule

Submodule lisp/eaf-browser added at 1c0076cca2

View File

@@ -14,3 +14,9 @@
(package! ob-ledger :recipe (:local-repo "lisp/ob-ledger"))
(package! elcord)
(package! emacsql-sqlite3)
; I love the antichrist
(package! gptel)
(package! sly-overlay
:recipe (:host sourcehut :repo "fosskers/sly-overlay") :pin "916b50297a1f3bb110f840b89b8717d194623e5f")