summary refs log tree commit diff stats
path: root/init.el
diff options
context:
space:
mode:
Diffstat (limited to 'init.el')
-rw-r--r--init.el50
1 files changed, 33 insertions, 17 deletions
diff --git a/init.el b/init.el index a938db0..4eb8cdd 100644 --- a/init.el +++ b/init.el
@@ -153,9 +153,11 @@
153 #'browse-url-default-browser) 153 #'browse-url-default-browser)
154 browse-url-new-window-flag nil 154 browse-url-new-window-flag nil
155 browse-url-firefox-arguments '("--new-tab") 155 browse-url-firefox-arguments '("--new-tab")
156 browse-url-firefox-new-window-is-tab t 156 browse-url-firefox-new-window-is-tab t)
157 ;; TODO: Add variables for other transformations and what-not. 157 (defvar +invidious-host
158 +invidious-host "invidious.snopyta.org") 158 ;; TODO: Add variables for other transformations and what-not.
159 "invidious.snopyta.org"
160 "Host for invidious instance.")
159 ;; Set up external browsing URLs. 161 ;; Set up external browsing URLs.
160 (add-to-list '+custom-variable-allowlist 162 (add-to-list '+custom-variable-allowlist
161 '+browse-url-secondary-browser-regexps) 163 '+browse-url-secondary-browser-regexps)
@@ -182,7 +184,7 @@
182 (t #'eww-browse-url)) 184 (t #'eww-browse-url))
183 args))) 185 args)))
184 (cons (rx (or ;; videos 186 (cons (rx (or ;; videos
185 "youtube.com" "youtu.be" (eval +invidious-host) "invidious" 187 "youtube.com" "youtu.be" "invidious" "yewtu.be"
186 (seq "." (or "mp4" "gif" "mov" "MOV" "webm") eos) 188 (seq "." (or "mp4" "gif" "mov" "MOV" "webm") eos)
187 ;; music 189 ;; music
188 "soundcloud.com" "bandcamp.com" 190 "soundcloud.com" "bandcamp.com"
@@ -281,12 +283,17 @@
281 (advice-add #'eval-region :around #'+eval-region@pulse)) 283 (advice-add #'eval-region :around #'+eval-region@pulse))
282 284
283(setup eshell 285(setup eshell
284 (:also-load +eshell 286 (:also-load em-smart
285 em-smart
286 em-tramp) 287 em-tramp)
287 (:option eshell-aliases-file (.etc "eshell/aliases" t) 288 (:require +eshell)
289 (+define-dir eshell/ (locate-user-emacs-file "eshell")
290 "Where to place Eshell-specific files.")
291 (:option eshell-aliases-file (eshell/ "aliases")
292 ;; What are these for???
293 eshell-rc-script (eshell/ "profile")
294 eshell-login-script (eshell/ "login")
288 eshell-destroy-buffer-when-process-dies t 295 eshell-destroy-buffer-when-process-dies t
289 eshell-directory-name (.etc "eshell/" t) 296 eshell-directory-name eshell/
290 eshell-error-if-no-glob t 297 eshell-error-if-no-glob t
291 eshell-hist-ignore-dups t 298 eshell-hist-ignore-dups t
292 eshell-kill-on-exit nil 299 eshell-kill-on-exit nil
@@ -298,9 +305,13 @@
298 eshell-smart-space-goes-to-end t 305 eshell-smart-space-goes-to-end t
299 eshell-where-to-jump 'begin 306 eshell-where-to-jump 'begin
300 eshell-banner-message "") 307 eshell-banner-message "")
301 (setf (alist-get 'eshell-mode mwim-beginning-of-line-function) 308 (with-eval-after-load 'mwim
302 #'eshell-bol) 309 (setf (alist-get 'eshell-mode mwim-beginning-of-line-function)
310 #'eshell-bol))
303 (+eshell-eval-after-load 311 (+eshell-eval-after-load
312 ;; Local modes
313 (dolist (mode '((hungry-delete-mode . -1)))
314 (funcall (car mode) (cdr mode)))
304 ;; Set local settings 315 ;; Set local settings
305 (dolist (setting (list (cons 'outline-regexp eshell-prompt-regexp) 316 (dolist (setting (list (cons 'outline-regexp eshell-prompt-regexp)
306 (cons 'page-delimiter eshell-prompt-regexp) 317 (cons 'page-delimiter eshell-prompt-regexp)
@@ -523,10 +534,11 @@
523 org-agenda-file-regexp 534 org-agenda-file-regexp
524 org-agenda-templates)) 535 org-agenda-templates))
525 (add-to-list '+custom-variable-allowlist var)) 536 (add-to-list '+custom-variable-allowlist var))
526 (defvar org-agenda-files nil) 537 (with-eval-after-load 'org
527 (add-to-list 'org-agenda-files (sync/ "org/" t)) 538 (add-to-list 'org-agenda-files (sync/ "org/" t)))
528 (:+leader "a" #'org-agenda "C-a" #'org-agenda) 539 (:+leader "a" #'org-agenda "C-a" #'org-agenda)
529 (:hook #'hl-line-mode)) 540 (:hook #'hl-line-mode)
541 (add-hook 'org-agenda-after-show-hook 'org-narrow-to-subtree))
530 542
531(setup org-capture 543(setup org-capture
532 (:require +org-capture) 544 (:require +org-capture)
@@ -609,7 +621,8 @@
609 (:hook #'turn-on-auto-fill)) 621 (:hook #'turn-on-auto-fill))
610 622
611(setup time 623(setup time
612 (:option display-time-format "%H:%M" 624 ;; TODO: +display-time-mode with MOAR customizations
625 (:option display-time-format "%H:%M %a %e"
613 display-time-default-load-average nil 626 display-time-default-load-average nil
614 display-time-mail-file :disable) 627 display-time-mail-file :disable)
615 (display-time-mode +1)) 628 (display-time-mode +1))
@@ -1086,7 +1099,7 @@ See also `crux-reopen-as-root-mode'."
1086 (eshell-vterm-mode +1)) 1099 (eshell-vterm-mode +1))
1087 1100
1088(setup (:straight-when exec-path-from-shell 1101(setup (:straight-when exec-path-from-shell
1089 (eq system-system 'linux)) 1102 (eq system-type 'gnu/linux))
1090 (require 'exec-path-from-shell) 1103 (require 'exec-path-from-shell)
1091 (dolist (var '("SSH_AUTH_SOCK" 1104 (dolist (var '("SSH_AUTH_SOCK"
1092 "SSH_AGENT_PID" 1105 "SSH_AGENT_PID"
@@ -1129,7 +1142,7 @@ See also `crux-reopen-as-root-mode'."
1129 1142
1130(setup (:straight-when (forge 1143(setup (:straight-when (forge
1131 :host github :repo "magit/forge") 1144 :host github :repo "magit/forge")
1132 (eq system-system 'linux)) 1145 (eq system-type 'gnu/linux))
1133 (require 'forge) 1146 (require 'forge)
1134 (add-to-list 'forge-alist 1147 (add-to-list 'forge-alist
1135 '("tildegit.org" "tildegit.org/api/v1" "tildegit.org" 1148 '("tildegit.org" "tildegit.org/api/v1" "tildegit.org"
@@ -1284,6 +1297,7 @@ See also `crux-reopen-as-root-mode'."
1284 (minions-mode +1)) 1297 (minions-mode +1))
1285 1298
1286(setup (:straight (mode-line-bell 1299(setup (:straight (mode-line-bell
1300 :host github :repo "purcell/mode-line-bell"
1287 :fork (:host github :repo "duckwork/mode-line-bell"))) 1301 :fork (:host github :repo "duckwork/mode-line-bell")))
1288 (:option mode-line-bell-flash-time 0.1) 1302 (:option mode-line-bell-flash-time 0.1)
1289 (mode-line-bell-mode +1)) 1303 (mode-line-bell-mode +1))
@@ -1388,6 +1402,7 @@ See also `crux-reopen-as-root-mode'."
1388(setup (:straight sicp)) 1402(setup (:straight sicp))
1389 1403
1390(setup (:straight (simple-modeline 1404(setup (:straight (simple-modeline
1405 :host github :repo "gexplorer/simple-modeline"
1391 :fork (:host github :repo "duckwork/simple-modeline"))) 1406 :fork (:host github :repo "duckwork/simple-modeline")))
1392 (:require +modeline) 1407 (:require +modeline)
1393 (:option +modeline-minions-icon ";" 1408 (:option +modeline-minions-icon ";"
@@ -1637,9 +1652,10 @@ See also `crux-reopen-as-root-mode'."
1637 (:global "M-z" #'+zzz-to-char)) 1652 (:global "M-z" #'+zzz-to-char))
1638 1653
1639(setup (:straight (ytdious 1654(setup (:straight (ytdious
1655 :host github :repo "spiderbit/ytdious"
1640 :fork (:host github :repo "duckwork/ytdious"))) 1656 :fork (:host github :repo "duckwork/ytdious")))
1641 (:also-load +ytdious) 1657 (:also-load +ytdious)
1642 (:option ytdious-invidious-api-url (if +invidious-host 1658 (:option ytdious-invidious-api-url (if +invidious-host
1643 (concat "https://" invidious-host) 1659 (concat "https://" +invidious-host)
1644 "https://invidious.snopyta.org")) 1660 "https://invidious.snopyta.org"))
1645 (:bind "y" #'+ytdious-watch)) 1661 (:bind "y" #'+ytdious-watch))