|
@ -21,20 +21,33 @@ |
|
|
;; (setq doom-font (font-spec :family "monospace" :size 12 :weight 'semi-light) |
|
|
;; (setq doom-font (font-spec :family "monospace" :size 12 :weight 'semi-light) |
|
|
;; doom-variable-pitch-font (font-spec :family "sans" :size 13)) |
|
|
;; doom-variable-pitch-font (font-spec :family "sans" :size 13)) |
|
|
|
|
|
|
|
|
(setq doom-font (font-spec :family "PragmataPro" :size 20 :weight 'regular) |
|
|
|
|
|
doom-variable-pitch-font (font-spec :family "PragmataPro" :size 20) |
|
|
|
|
|
doom-unicode-font (font-spec :family "PragmataPro" :size 20)) |
|
|
|
|
|
|
|
|
(setq doom-font (font-spec :family "PragmataPro" :size 20 :weight 'regular) |
|
|
|
|
|
doom-big-font (font-spec :family "PragmataPro" :size 30 :weight 'regular) |
|
|
|
|
|
;; doom-variable-pitch-font (font-spec :family "PragmataPro" :size 20) |
|
|
|
|
|
doom-variable-pitch-font (font-spec :family "Overpass" :size 20 :weight 'thin) |
|
|
|
|
|
doom-unicode-font (font-spec :family "PragmataPro" :size 20) |
|
|
|
|
|
doom-serif-font (font-spec :family "Baskerville" :size 20)) |
|
|
|
|
|
|
|
|
;; There are two ways to load a theme. Both assume the theme is installed and |
|
|
;; There are two ways to load a theme. Both assume the theme is installed and |
|
|
;; available. You can either set `doom-theme' or manually load a theme with the |
|
|
;; available. You can either set `doom-theme' or manually load a theme with the |
|
|
;; `load-theme' function. This is the default: |
|
|
;; `load-theme' function. This is the default: |
|
|
(setq doom-theme 'doom-one) |
|
|
(setq doom-theme 'doom-one) |
|
|
|
|
|
(remove-hook 'window-setup-hook #'doom-init-theme-h) |
|
|
|
|
|
(add-hook 'after-init-hook #'doom-init-theme-h 'append) |
|
|
|
|
|
(delq! t custom-theme-load-path) |
|
|
(setq doom-modeline-height 45) |
|
|
(setq doom-modeline-height 45) |
|
|
|
|
|
|
|
|
;; If you use `org' and don't want your org files in the default location below, |
|
|
;; 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! |
|
|
;; change `org-directory'. It must be set before org loads! |
|
|
(setq org-directory "~/Nextcloud/Org") |
|
|
(setq org-directory "~/Nextcloud/Org") |
|
|
|
|
|
|
|
|
|
|
|
;; Some nicer defaults |
|
|
|
|
|
(setq doom-fallback-buffer-name "*Doom*" |
|
|
|
|
|
+doom-dashboard-name "*Doom*") |
|
|
|
|
|
|
|
|
|
|
|
(map! :g "s-<right>" #'next-buffer |
|
|
|
|
|
:g "s-<left>" #'previous-buffer) |
|
|
|
|
|
|
|
|
;; This determines the style of line numbers in effect. If set to `nil', line |
|
|
;; This determines the style of line numbers in effect. If set to `nil', line |
|
|
;; numbers are disabled. For relative line numbers, set this to `relative'. |
|
|
;; numbers are disabled. For relative line numbers, set this to `relative'. |
|
|
(setq display-line-numbers-type t) |
|
|
(setq display-line-numbers-type t) |
|
@ -82,33 +95,95 @@ |
|
|
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how |
|
|
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how |
|
|
;; they are implemented. |
|
|
;; they are implemented. |
|
|
|
|
|
|
|
|
|
|
|
(unless (string-match-p "^Power N/A" (battery)) ; On laptops... |
|
|
|
|
|
(display-battery-mode 1)) |
|
|
|
|
|
(display-time-mode 1) |
|
|
|
|
|
(global-subword-mode 1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defvar mixed-pitch-modes '(org-mode LaTeX-mode markdown-mode gfm-mode Info-mode) |
|
|
|
|
|
"Modes that `mixed-pitch-mode' should be enabled in, but only after UI initialisation.") |
|
|
|
|
|
(defun init-mixed-pitch-h () |
|
|
|
|
|
"Hook `mixed-pitch-mode' into each mode in `mixed-pitch-modes'. |
|
|
|
|
|
Also immediately enables `mixed-pitch-modes' if currently in one of the modes." |
|
|
|
|
|
(when (memq major-mode mixed-pitch-modes) |
|
|
|
|
|
(mixed-pitch-mode 1)) |
|
|
|
|
|
(dolist (hook mixed-pitch-modes) |
|
|
|
|
|
(add-hook (intern (concat (symbol-name hook) "-hook")) #'mixed-pitch-mode))) |
|
|
|
|
|
(add-hook 'doom-init-ui-hook #'init-mixed-pitch-h) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun my-generate-tab-stops (&optional width max) |
|
|
|
|
|
"Return a sequence suitable for `tab-stop-list'." |
|
|
|
|
|
(let* ((max-column (or max 200)) |
|
|
|
|
|
(tab-width (or width tab-width)) |
|
|
|
|
|
(count (/ max-column tab-width))) |
|
|
|
|
|
(number-sequence tab-width (* tab-width count) tab-width))) |
|
|
|
|
|
|
|
|
|
|
|
(defun my-setup-indent (n) |
|
|
|
|
|
(setq c-basic-offset n) |
|
|
|
|
|
(setq coffee-tab-width n) ; coffeescript |
|
|
|
|
|
(setq javascript-indent-level n) ; javascript-mode |
|
|
|
|
|
(setq js-indent-level n) ; js-mode |
|
|
|
|
|
(setq js2-basic-offset n) ; js2-mode, in latest js2-mode, it's alias of js-indent-level |
|
|
|
|
|
(setq web-mode-markup-indent-offset n) ; web-mode, html tag in html file |
|
|
|
|
|
(setq web-mode-css-indent-offset n) ; web-mode, css in html file |
|
|
|
|
|
(setq web-mode-code-indent-offset n) ; web-mode, js code in html file |
|
|
|
|
|
(setq css-indent-offset n) ; css-mode |
|
|
|
|
|
(setq tab-width n) |
|
|
|
|
|
(setq indent-tabs-mode nil) |
|
|
|
|
|
(setq tab-stop-list (my-generate-tab-stops)) |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
(my-setup-indent 2) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(load! "functions.el") |
|
|
(load! "functions.el") |
|
|
(use-package! functions) |
|
|
(use-package! functions) |
|
|
|
|
|
|
|
|
(load! "setup-elfeed.el") |
|
|
|
|
|
(use-package! setup-elfeed) |
|
|
|
|
|
|
|
|
;; (load! "setup-elfeed.el") |
|
|
|
|
|
;; (use-package! setup-elfeed) |
|
|
|
|
|
|
|
|
(after! company |
|
|
|
|
|
;; (set-company-backend! 'prog-mode nil) |
|
|
|
|
|
(set-company-backend! 'typescript-mode '(:separate 'company-tabnine 'company-capf 'company-yasnippet)) |
|
|
|
|
|
;; (setq company-backends '(company-tabnine company-capf)) |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
;; (load! "fancy-banner.el") |
|
|
|
|
|
;; (use-package! fancy-banner) |
|
|
|
|
|
|
|
|
|
|
|
(use-package! emacs |
|
|
|
|
|
:config |
|
|
|
|
|
(setq +ligatures-in-modes '(not special-mode comint-mode eshell-mode term-mode |
|
|
|
|
|
vterm-mode Info-mode elfeed-search-mode elfeed-show-mode))) |
|
|
|
|
|
(use-package! magit-delta |
|
|
|
|
|
:hook (magit-mode . magit-delta-mode)) |
|
|
|
|
|
|
|
|
|
|
|
;; Tabnine::version ;; Which version of Tabnine |
|
|
|
|
|
;; Tabnine::restart ;; restart the Tabnine service |
|
|
|
|
|
;; Tabnine::sem ;; enables semantic completion for the current language |
|
|
|
|
|
;; Tabnine::no_sem ;; disables semantic completion for the current language |
|
|
|
|
|
;; Tabnine::active ;; checks if Tabnine is activated |
|
|
|
|
|
;; Tabnine::config ;; to open the config |
|
|
|
|
|
;; Tabnine::config_dir ;; /Users/leviolson/Library/Preferences/TabNine |
|
|
(use-package company-tabnine |
|
|
(use-package company-tabnine |
|
|
:after company |
|
|
|
|
|
:ensure t |
|
|
:ensure t |
|
|
:config |
|
|
:config |
|
|
;; Tabnine::config ;; to open the config |
|
|
|
|
|
;; Tabnine::config_dir ;; /Users/leviolson/Library/Preferences/TabNine |
|
|
|
|
|
|
|
|
(add-to-list 'company-backends 'company-tabnine)) |
|
|
|
|
|
|
|
|
|
|
|
(use-package! graphql-mode |
|
|
|
|
|
:config |
|
|
|
|
|
(set-company-backend! 'graphql-mode '(:separate company-tabnine company-capf company-yasnippet))) |
|
|
|
|
|
(use-package! emacs |
|
|
|
|
|
:config |
|
|
|
|
|
(set-company-backend! 'emacs-lisp-mode '(:separate company-tabnine company-capf company-yasnippet))) |
|
|
|
|
|
;; (use-package! typescript-mode |
|
|
|
|
|
;; :config |
|
|
|
|
|
;; (set-company-backend! 'typescript-mode '(company-tabnine company-capf company-yasnippet))) |
|
|
|
|
|
|
|
|
|
|
|
(use-package! company |
|
|
|
|
|
:config |
|
|
;; Trigger completion immediately. |
|
|
;; Trigger completion immediately. |
|
|
(setq company-idle-delay 0) |
|
|
|
|
|
|
|
|
(setq company-idle-delay 0.2) |
|
|
|
|
|
|
|
|
;; Number the candidates (use M-1, M-2 etc to select completions). |
|
|
;; Number the candidates (use M-1, M-2 etc to select completions). |
|
|
(setq company-show-numbers t) |
|
|
|
|
|
|
|
|
|
|
|
;; (setq company-backends '(company-tabnine company-capf)) |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
(setq company-show-quick-access nil)) |
|
|
|
|
|
|
|
|
(use-package! darkroom |
|
|
(use-package! darkroom |
|
|
:commands darkroom-mode |
|
|
:commands darkroom-mode |
|
@ -136,8 +211,6 @@ |
|
|
(defvar org-html-text-markup-alist) |
|
|
(defvar org-html-text-markup-alist) |
|
|
(defvar org-capture-templates) |
|
|
(defvar org-capture-templates) |
|
|
:init |
|
|
:init |
|
|
(setq org-ellipsis " ▾" |
|
|
|
|
|
org-hide-emphasis-markers t) |
|
|
|
|
|
(setq org-agenda-files (list (concat org-directory "/todo.org") |
|
|
(setq org-agenda-files (list (concat org-directory "/todo.org") |
|
|
(concat org-directory "/projects.org") |
|
|
(concat org-directory "/projects.org") |
|
|
(concat org-directory "/Recipies.org") |
|
|
(concat org-directory "/Recipies.org") |
|
@ -163,21 +236,23 @@ |
|
|
(sequence "PLAN(p)" "SPIKE(s)" "ACTIVE(a)" "WAIT(w@/!)" "HOLD(h)" "|" "DONE(d!)" "CANCELLED(c@)") |
|
|
(sequence "PLAN(p)" "SPIKE(s)" "ACTIVE(a)" "WAIT(w@/!)" "HOLD(h)" "|" "DONE(d!)" "CANCELLED(c@)") |
|
|
)) |
|
|
)) |
|
|
:config |
|
|
:config |
|
|
|
|
|
(require 'org-protocol) |
|
|
(org-babel-do-load-languages 'org-babel-load-languages '((js . t) |
|
|
(org-babel-do-load-languages 'org-babel-load-languages '((js . t) |
|
|
|
|
|
(typescript . t) |
|
|
(shell . t) |
|
|
(shell . t) |
|
|
(apex . t) |
|
|
(apex . t) |
|
|
(soql . t) |
|
|
(soql . t) |
|
|
(emacs-lisp . t))) |
|
|
(emacs-lisp . t))) |
|
|
|
|
|
|
|
|
(setq org-capture-templates |
|
|
(setq org-capture-templates |
|
|
'(("t" "new task" entry (file+headline (concat org-directory "/todo.org") "Tasks") |
|
|
|
|
|
|
|
|
'(("w" "Default template" entry (file+headline org-default-notes-file "Unfiled") |
|
|
|
|
|
"* %^{Title}%?\n\nSource: %:link\n:COPIED_TEXT:\n %i\n:END:\n") |
|
|
|
|
|
("t" "new task" entry (file+headline (concat org-directory "/todo.org") "Tasks") |
|
|
"* TODO [#A] %?\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n%a\n") |
|
|
"* TODO [#A] %?\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n%a\n") |
|
|
("n" "new note" entry (file+headline org-default-notes-file "Notes") |
|
|
("n" "new note" entry (file+headline org-default-notes-file "Notes") |
|
|
"* %?\n%i\n") |
|
|
"* %?\n%i\n") |
|
|
("l" "store link" entry (file+olp org-default-notes-file "Links" "Unfiled") |
|
|
("l" "store link" entry (file+olp org-default-notes-file "Links" "Unfiled") |
|
|
"* %a\n%?\n") |
|
|
"* %a\n%?\n") |
|
|
("d" "store link w/drawer" entry (file+olp org-default-notes-file "Links" "Unfiled") |
|
|
|
|
|
"* %?\n%l\n:COPIED_TEXT:\n %i\n:END:\n") |
|
|
|
|
|
)) |
|
|
)) |
|
|
(setq org-structure-template-alist |
|
|
(setq org-structure-template-alist |
|
|
'(("r" . "src restclient :results raw") |
|
|
'(("r" . "src restclient :results raw") |
|
@ -219,9 +294,6 @@ |
|
|
|
|
|
|
|
|
(use-package org-roam |
|
|
(use-package org-roam |
|
|
:disabled t |
|
|
:disabled t |
|
|
:ensure t |
|
|
|
|
|
:hook |
|
|
|
|
|
(after-init . org-roam-mode) |
|
|
|
|
|
:custom |
|
|
:custom |
|
|
(org-roam-directory (concat org-directory "/Roam/")) |
|
|
(org-roam-directory (concat org-directory "/Roam/")) |
|
|
(org-roam-link-title-format "r::%s") |
|
|
(org-roam-link-title-format "r::%s") |
|
@ -234,7 +306,6 @@ |
|
|
(("C-c n I" . org-roam-insert-immediate)))) |
|
|
(("C-c n I" . org-roam-insert-immediate)))) |
|
|
|
|
|
|
|
|
(use-package! deft |
|
|
(use-package! deft |
|
|
:after org |
|
|
|
|
|
:bind |
|
|
:bind |
|
|
("C-c n d" . deft) |
|
|
("C-c n d" . deft) |
|
|
:config |
|
|
:config |
|
@ -244,16 +315,6 @@ |
|
|
deft-directory (concat org-directory "/Roam/") |
|
|
deft-directory (concat org-directory "/Roam/") |
|
|
deft-recursive-ignore-dir-regexp "\\(?:\\.\\|\\.\\.\\|setup\\)$")) |
|
|
deft-recursive-ignore-dir-regexp "\\(?:\\.\\|\\.\\.\\|setup\\)$")) |
|
|
|
|
|
|
|
|
(use-package! org-journal |
|
|
|
|
|
:disabled t |
|
|
|
|
|
:after org |
|
|
|
|
|
:config |
|
|
|
|
|
(setq org-journal-date-prefix "#+TITLE: " |
|
|
|
|
|
org-journal-time-prefix "* " |
|
|
|
|
|
org-journal-date-format "%a, %Y-%m-%d" |
|
|
|
|
|
org-journal-file-format "%Y-%m-%d.org" |
|
|
|
|
|
)) |
|
|
|
|
|
|
|
|
|
|
|
(use-package! org-pandoc-import |
|
|
(use-package! org-pandoc-import |
|
|
:after org |
|
|
:after org |
|
|
:commands (org-pandoc-import-html-as-org org-pandoc-import-html-to-org) |
|
|
:commands (org-pandoc-import-html-as-org org-pandoc-import-html-to-org) |
|
@ -263,7 +324,7 @@ |
|
|
|
|
|
|
|
|
(use-package! lsp-mode |
|
|
(use-package! lsp-mode |
|
|
:config |
|
|
:config |
|
|
(setq +lsp-company-backends '(:separate company-tabnine company-yasnippet company-capf)) |
|
|
|
|
|
|
|
|
(setq +lsp-company-backends '(:separate company-tabnine company-lsp company-yasnippet company-capf)) |
|
|
(setq lsp-enable-symbol-highlighting nil |
|
|
(setq lsp-enable-symbol-highlighting nil |
|
|
lsp-headerline-breadcrumb-enable t)) |
|
|
lsp-headerline-breadcrumb-enable t)) |
|
|
|
|
|
|
|
@ -288,6 +349,49 @@ |
|
|
:custom |
|
|
:custom |
|
|
(dired-omit-files nil)) |
|
|
(dired-omit-files nil)) |
|
|
|
|
|
|
|
|
|
|
|
(use-package! hydra |
|
|
|
|
|
:ensure t) |
|
|
|
|
|
|
|
|
|
|
|
(use-package! elfeed |
|
|
|
|
|
:after hydra |
|
|
|
|
|
:bind (:map elfeed-search-mode-map |
|
|
|
|
|
("a" . elfeed-search-clear) |
|
|
|
|
|
("e" . elfeed-search-emacs) |
|
|
|
|
|
("E" . (lambda () (interactive) (elfeed-search-toggle "+emacs"))) |
|
|
|
|
|
("t" . elfeed-search-tesla) |
|
|
|
|
|
("T" . (lambda () (interactive) (elfeed-search-toggle "+tesla"))) |
|
|
|
|
|
("y" . elfeed-search-video) |
|
|
|
|
|
("Y" . (lambda () (interactive) (elfeed-search-toggle "+youtube"))) |
|
|
|
|
|
("v" . elfeed-search-browse-url) |
|
|
|
|
|
("o" . elfeed-search-show-entry) |
|
|
|
|
|
("g" . elfeed-search-fetch) |
|
|
|
|
|
("U" . elfeed-search-toggle-unread) |
|
|
|
|
|
) |
|
|
|
|
|
:config |
|
|
|
|
|
(defun elfeed-search-clear () (interactive) (setq elfeed-search-filter "") (elfeed-search-update :force)) |
|
|
|
|
|
(defun elfeed-search-emacs () (interactive) (setq elfeed-search-filter "+emacs") (elfeed-search-update :force)) |
|
|
|
|
|
(defun elfeed-search-tesla () (interactive) (setq elfeed-search-filter "+tesla") (elfeed-search-update :force)) |
|
|
|
|
|
(defun elfeed-search-video () (interactive) (setq elfeed-search-filter "+youtube") (elfeed-search-update :force)) |
|
|
|
|
|
(defun elfeed-search-toggle-unread () |
|
|
|
|
|
(interactive) |
|
|
|
|
|
(let ((filter elfeed-search-filter)) |
|
|
|
|
|
(if (s-contains-p "+unread" filter) |
|
|
|
|
|
(setq elfeed-search-filter (s-trim (s-replace "+unread" "" filter))) |
|
|
|
|
|
(setq elfeed-search-filter (concat filter " +unread")))) |
|
|
|
|
|
(elfeed-search-update :force) |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
(defun elfeed-search-toggle (term) |
|
|
|
|
|
"Accepts a TERM and returns a function that toggles TERM in the `elfeed' filter." |
|
|
|
|
|
(interactive "Mtag: ") |
|
|
|
|
|
(let ((filter elfeed-search-filter)) |
|
|
|
|
|
(if (s-contains-p term filter) |
|
|
|
|
|
(setq elfeed-search-filter (s-trim (s-replace term "" filter))) |
|
|
|
|
|
(setq elfeed-search-filter (concat filter " " term)))) |
|
|
|
|
|
(elfeed-search-update :force) |
|
|
|
|
|
) |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
(after! xref |
|
|
(after! xref |
|
|
(add-to-list '+lookup-provider-url-alist '("Melpa" "https://melpa.org/#/?q=%s")) |
|
|
(add-to-list '+lookup-provider-url-alist '("Melpa" "https://melpa.org/#/?q=%s")) |
|
|
(add-to-list '+lookup-provider-url-alist '("GitHub - LifeOmic" "https://github.com/search?q=user:LifeOmic+%s"))) |
|
|
(add-to-list '+lookup-provider-url-alist '("GitHub - LifeOmic" "https://github.com/search?q=user:LifeOmic+%s"))) |
|
@ -408,6 +512,11 @@ |
|
|
"C-{" #'mc/mark-previous-like-this |
|
|
"C-{" #'mc/mark-previous-like-this |
|
|
"C-(" #'mc/unmark-previous-like-this |
|
|
"C-(" #'mc/unmark-previous-like-this |
|
|
|
|
|
|
|
|
|
|
|
"C-M-}" #'mc/mark-next-like-this-word |
|
|
|
|
|
"C-M-)" #'mc/unmark-next-like-this |
|
|
|
|
|
"C-M-{" #'mc/mark-previous-like-this-word |
|
|
|
|
|
"C-M-(" #'mc/unmark-previous-like-this |
|
|
|
|
|
|
|
|
"C-@" #'er/expand-region |
|
|
"C-@" #'er/expand-region |
|
|
"C-#" #'er/contract-region |
|
|
"C-#" #'er/contract-region |
|
|
|
|
|
|
|
|