diff --git a/.config/doom/config.el b/.config/doom/config.el index 35b88dc..357bcd0 100644 --- a/.config/doom/config.el +++ b/.config/doom/config.el @@ -16,6 +16,9 @@ (load-theme 'ef-eagle t) (set-face-background 'default "#E8D8B0") +;; Lockfiles +(setq create-lockfiles nil) + ;; Remove line numbers from specific modes (dolist (mode '(org-mode-hook term-mode-hook @@ -53,6 +56,7 @@ (set-face-attribute 'org-scheduled-today nil :inherit 'variable-pitch :height 150) (set-face-attribute 'org-drawer nil :inherit 'variable-pitch :height 150) (set-face-attribute 'org-date nil :inherit 'variable-pitch :height 150) + ;; Ensure that all agenda items use fixed-pitch font (custom-set-faces '(org-agenda-date-today ((t (:inherit fixed-pitch :weight bold)))) @@ -67,7 +71,6 @@ '(org-upcoming-deadline ((t (:inherit fixed-pitch)))) '(org-deadline-announce ((t (:inherit fixed-pitch)))) '(org-time-grid ((t (:inherit fixed-pitch))))) - ) (defun opal/org-mode-setup () @@ -75,7 +78,6 @@ (visual-line-mode 1) (mixed-pitch-mode 1)) - (use-package org :commands (org-capture org-agenda) :hook (org-mode . opal/org-mode-setup) @@ -189,6 +191,21 @@ (add-to-list 'org-structure-template-alist '("sql" . "src sql")) (add-to-list 'org-structure-template-alist '("py" . "src python"))) +;; Programming +(setq geiser-guile-binary "/usr/bin/guile3.0") + +;; Playing youtube videos via mpv/yt-dlp/emms +(defun opal/play-yt-url-at-point () + "Play YT link under point with EMMS/MPV/yt-dlp." + (interactive) + (let ((url (thing-at-point 'url t))) + (if url + (emms-play-url url) + (message "No URL found at point.")))) + +(global-set-key (kbd "C-c y") 'opal/play-yt-url-at-point) + +;; Elfeed (defun opal/elfeed-open-in-firefox () "Open the current Elfeed entry link in Firefox." (interactive) @@ -242,8 +259,6 @@ (setq create-lockfiles nil) -(setq browse-url-browser-function 'eww-browse-url) - ;; Make sure eww opens in it's own buffer (after! eww (set-popup-rule! "^\\*eww\\*" :ignore t)) @@ -251,15 +266,27 @@ (after! osm (set-popup-rule! "^\\*osm\\*" :ignore t)) -;; Set eww webpage title in the modeline bar instead of just *eww* -(setq eww-auto-rename-buffer 'title) - +;; eww (defun opal/eww-reddit-redirect(url) "Redirect reddit.com to custom URL." (replace-regexp-in-string "https://www.reddit.com" "https://eddrit.com" url)) -;; Redirect reddit links to privacy respecting frontends so Reddit doesn't reject the traffic from eww. -(setq eww-url-transformers '(eww-remove-tracking opal/eww-reddit-redirect)) +(use-package eww + :config + (setq browse-url-browser-function 'eww-browse-url) + + ;; Set eww webpage title in the modeline bar instead of just *eww* + (setq eww-auto-rename-buffer 'title) + + ;; Set privacy respecting proxies + (setq reddit-proxy "https://eddrit.com") + + ;; Redirect reddit links to privacy respecting frontends. + (setq eww-url-transformers '(eww-remove-tracking opal/eww-reddit-redirect)) + + ;; Make sure eww opens in it's own buffer + (after! eww + (set-popup-rule! "^\\*eww\\*" :ignore t))) ;; Since I sometimes write notes in two languages, guess-language will allow for multiple language ;; spelling checks to be done in a single buffer.