diff --git a/.config/doom/config.el b/.config/doom/config.el index 8ee2a7c..d6339fd 100644 --- a/.config/doom/config.el +++ b/.config/doom/config.el @@ -1,6 +1,6 @@ ;;(setq fancy-splash-image "~/.config/doom/splash.png") -;; Clean up starting screen to be blank +;; Clean up starting screen (remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-shortmenu) (remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-banner) (remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-footer) @@ -56,10 +56,8 @@ ) (defun opal/org-mode-setup () - ;; Keep org-indent-mode and visual-line-mode enabled (org-indent-mode) (visual-line-mode 1) - ;; Enable mixed-pitch-mode for better font handling (mixed-pitch-mode 1)) @@ -127,7 +125,7 @@ (setq org-edit-src-content-indentation 0) ;; Set org agenda dir - (setq org-directory "~/documents/org/agenda") + (setq org-directory "~/documents/org/") ;; Init org font setup (opal/org-font-setup)) @@ -163,10 +161,8 @@ (add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp")) (add-to-list 'org-structure-template-alist '("cl" . "src lisp")) (add-to-list 'org-structure-template-alist '("sql" . "src sql")) - (add-to-list 'org-structure-template-alist '("py" . "src python")) - (add-to-list 'org-structure-template-alist '("clj" . "src clojure"))) + (add-to-list 'org-structure-template-alist '("py" . "src python"))) -;; Elfeed configuration (defun opal/elfeed-open-in-firefox () "Open the current Elfeed entry link in Firefox." (interactive) @@ -176,59 +172,25 @@ (message "No link to open.")))) (defun opal/elfeed-mark-all-read () + "Marks all feeds in *elfeed-search* as read." (interactive) (elfeed-untag elfeed-search-entries 'unread) (elfeed-search-update :force)) ; redraw (use-package elfeed :bind - (("C-c e" . elfeed) - ("C-c f" . opal/elfeed-open-in-firefox)) + (("C-c e" . elfeed)) :config ;; Ensure faces are set after elfeed has loaded (with-eval-after-load 'elfeed (set-face-attribute 'elfeed-search-filter-face nil :inherit 'variable-pitch :height 200) - (set-face-attribute 'elfeed-search-title-face nil :inherit 'variable-pitch :height 200) - (set-face-attribute 'elfeed-search-feed-face nil :inherit 'variable-pitch :height 200)) + ;; Monospace fonts are necessary for text/column alignment in the *elfeed-search* buffer + (set-face-attribute 'elfeed-search-title-face nil :inherit 'fixed-pitch :height 200) + (set-face-attribute 'elfeed-search-feed-face nil :inherit 'fixed-pitch :height 200)) - ;; Set your feeds - (setq elfeed-feeds - '( - ;; Emacs - ("https://sachachua.com/blog/feed/index.xml" tech emacs) - ("https://protesilaos.com/master.xml" tech emacs philosophy) - ("https://systemcrafters.net/rss/news.xml" tech emacs) - ("https://planet.emacslife.com/atom.xml" tech emacs) - ("https://www.masteringemacs.org/feed" tech emacs) - - ;; Reddit - ("https://www.reddit.com/r/stupidpol/.rss" reddit politics) - ("https://www.reddit.com/r/emacs/.rss" reddit politics) - - ;; News - ("https://thegrayzone.com/rss" news politics) - ("https://geopoliticaleconomy.com/rss" news politics) - ("https://www.telesurenglish.net/feed/" news politics) - ("https://theintercept.com/feed/" news politics) - ("https://www.dropsitenews.com/feed" news politics) - - ;; Tech - ("https://landchad.net/rss.xml" tech) - ("https://videos.lukesmith.xyz/feeds/videos.xml?videoChannelId=2" tech linux) - ("https://pluralistic.net/feed/" tech privacy) - ("https://blog.privacyguides.org/feed_rss_created.xml" tech privacy) - - ;; Podcasts - ("https://feeds.simplecast.com/dCXMIpJz" podcast history) - ("http://feeds.soundcloud.com/users/soundcloud:users:572119410/sounds.rss" podcast music) - ("https://feeds.feedburner.com/dancarlin/history?format=xml" podcast history) - ("https://feeds.redcircle.com/e30b9f10-8c86-432e-9fa0-ba287fb94e7f" podcast history) - - ;; YouTube - ("https://www.youtube.com/feeds/videos.xml?channel_id=UC_bOcLgDdfE1whPDIwx3M_g" youtube travel) - ("https://www.youtube.com/feeds/videos.xml?channel_id=UC8uT9cgJorJPWu7ITLGo9Ww" youtube tech retro) - ("https://www.youtube.com/feeds/videos.xml?channel_id=UC0aanx5rpr7D1M7KCFYzrLQ" youtube commentary politics) - )) + ;; Set variable-pitch face for article fonts in the *elfeed-entry* buffer + (add-hook 'elfeed-show-mode-hook + (lambda () (buffer-face-set 'variable-pitch))) ;; Set default search filter (setq elfeed-search-filter "@2-weeks-ago +unread") @@ -239,8 +201,9 @@ ;; Evil keybindings for Elfeed (evil-define-key 'normal elfeed-search-mode-map "o" 'opal/elfeed-open-in-firefox ;; Open link in Firefox - "gr" 'elfeed-update ;; Refresh feeds - "q" 'quit-window)) ;; Quit Elfeed + "r" 'opal/elfeed-mark-all-read ;; Marks all feeds as read + "gr" 'elfeed-update ;; Refresh feeds + "q" 'quit-window)) ;; Quit Elfeed (setq create-lockfiles nil) @@ -250,14 +213,18 @@ (after! eww (set-popup-rule! "^\\*eww\\*" :ignore t)) +;; Set eww webpage title in the modeline bar instead of just *eww* (setq eww-auto-rename-buffer 'title) (defun opal/eww-reddit-redirect(url) "Redirect reddit.com to custom URL automatically since Reddit blocks eww." (replace-regexp-in-string "https://www.reddit.com" "https://safereddit.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)) +;; Since I sometimes write notes in two languages, guess-language will allow for multiple language +;; spelling checks to be done in a single buffer. (use-package guess-language :defer t :init (add-hook 'text-mode-hook #'guess-language-mode) diff --git a/.config/doom/packages.el b/.config/doom/packages.el index b0f5bef..0cf8a78 100644 --- a/.config/doom/packages.el +++ b/.config/doom/packages.el @@ -10,4 +10,3 @@ ;; Remove (package! dirvish :disable t) -(package! elfeed-org :disable t)