diff --git a/config.el b/config.el index ffb94a9..f47ac6a 100644 --- a/config.el +++ b/config.el @@ -10,14 +10,14 @@ 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 "Monoflow Medium 20" nil t)) (setq doom-theme 'doom-ayu-mirage) @@ -83,59 +83,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)) -(org-roam-db-autosync-mode) +(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) @@ -262,3 +226,56 @@ (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")) + +(use-package! eaf + :load-path "~/.elisp/emacs-application-framework" + :init + :custom + (eaf-browser-continue-where-left-off t) + (eaf-browser-enable-adblocker t) + (browse-url-browser-function 'eaf-open-browser) ;; Make EAF Browser my default browser + :config + (defalias 'browse-web #'eaf-open-browser) + + ;(require 'eaf-file-manager) + ;(require 'eaf-music-player) + ;(require 'eaf-image-viewer) + ;(require 'eaf-camera) + ;(require 'eaf-demo) + ;(require 'eaf-airshare) + ;(require 'eaf-terminal) + ;(require 'eaf-markdown-previewer) + ;(require 'eaf-video-player) + ;(require 'eaf-vue-demo) + ;(require 'eaf-file-sender) + ;(require 'eaf-pdf-viewer) + ;(require 'eaf-mindmap) + ;(require 'eaf-netease-cloud-music) + ;(require 'eaf-jupyter) + ;(require 'eaf-org-previewer) + ;(require 'eaf-system-monitor) + ;(require 'eaf-rss-reader) + ;(require 'eaf-file-browser) + (require 'eaf-browser) + ;(require 'eaf-org) + ;(require 'eaf-mail) + ;(require 'eaf-git) + (when (display-graphic-p) + (require 'eaf-all-the-icons)) + + (require 'eaf-evil) + (define-key key-translation-map (kbd "SPC") + (lambda (prompt) + (if (derived-mode-p 'eaf-mode) + (pcase eaf--buffer-app-name + ("browser" (if (string= (eaf-call-sync "call_function" eaf--buffer-id "is_focus") "True") + (kbd "SPC") + (kbd eaf-evil-leader-key))) + ("pdf-viewer" (kbd eaf-evil-leader-key)) + ("image-viewer" (kbd eaf-evil-leader-key)) + (_ (kbd "SPC"))) + (kbd "SPC"))))) diff --git a/config.org b/config.org index a1b46c4..224ae6c 100644 --- a/config.org +++ b/config.org @@ -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,8 +26,7 @@ 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 "Monoflow Medium 20" nil t)) #+END_SRC ** Theme #+BEGIN_SRC emacs-lisp @@ -81,7 +81,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 @@ -121,11 +120,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 +127,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)) -(org-roam-db-autosync-mode) +(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) @@ -322,3 +283,62 @@ 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 +* eaf shit +#+BEGIN_SRC emacs-lisp +(use-package! eaf + :load-path "~/.elisp/emacs-application-framework" + :init + :custom + (eaf-browser-continue-where-left-off t) + (eaf-browser-enable-adblocker t) + (browse-url-browser-function 'eaf-open-browser) ;; Make EAF Browser my default browser + :config + (defalias 'browse-web #'eaf-open-browser) + + ;(require 'eaf-file-manager) + ;(require 'eaf-music-player) + ;(require 'eaf-image-viewer) + ;(require 'eaf-camera) + ;(require 'eaf-demo) + ;(require 'eaf-airshare) + ;(require 'eaf-terminal) + ;(require 'eaf-markdown-previewer) + ;(require 'eaf-video-player) + ;(require 'eaf-vue-demo) + ;(require 'eaf-file-sender) + ;(require 'eaf-pdf-viewer) + ;(require 'eaf-mindmap) + ;(require 'eaf-netease-cloud-music) + ;(require 'eaf-jupyter) + ;(require 'eaf-org-previewer) + ;(require 'eaf-system-monitor) + ;(require 'eaf-rss-reader) + ;(require 'eaf-file-browser) + (require 'eaf-browser) + ;(require 'eaf-org) + ;(require 'eaf-mail) + ;(require 'eaf-git) + (when (display-graphic-p) + (require 'eaf-all-the-icons)) + + (require 'eaf-evil) + (define-key key-translation-map (kbd "SPC") + (lambda (prompt) + (if (derived-mode-p 'eaf-mode) + (pcase eaf--buffer-app-name + ("browser" (if (string= (eaf-call-sync "call_function" eaf--buffer-id "is_focus") "True") + (kbd "SPC") + (kbd eaf-evil-leader-key))) + ("pdf-viewer" (kbd eaf-evil-leader-key)) + ("image-viewer" (kbd eaf-evil-leader-key)) + (_ (kbd "SPC"))) + (kbd "SPC"))))) +#+END_SRC diff --git a/flycheck_custom.el b/flycheck_custom.el deleted file mode 100644 index b1c90af..0000000 --- a/flycheck_custom.el +++ /dev/null @@ -1,63 +0,0 @@ -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; 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. - '(elcord-editor-icon "emacs_icon") - '(elcord-idle-message "Conquering the Pyu city-states...") - '(elcord-mode t nil (elcord)) - '(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) - (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) - (lsp-on-idle-hook) - (lsp-on-idle-hook))) - '(warning-suppress-types - '((lsp-completion-mode-hook) - (lsp-on-idle-hook) - (lsp-on-idle-hook)))) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; 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. - '(ledger-font-posting-account-face ((t (:foreground "gray")))) - '(org-scheduled-previously ((t (:foreground "#cbccc6")))) - '(org-scheduled-today ((t (:foreground "gray"))))) -(put 'downcase-region 'disabled nil) -(put 'upcase-region 'disabled nil) diff --git a/lisp/eaf b/lisp/eaf new file mode 160000 index 0000000..46733de --- /dev/null +++ b/lisp/eaf @@ -0,0 +1 @@ +Subproject commit 46733de03bcd9f20c54747753aa4fd2669f7b4ce diff --git a/lisp/eaf-browser b/lisp/eaf-browser new file mode 160000 index 0000000..1c0076c --- /dev/null +++ b/lisp/eaf-browser @@ -0,0 +1 @@ +Subproject commit 1c0076cca287c384f46e5104365f679e94135734