From 65399ee6d4067b1c70763eb6defb321f8ea58b7f Mon Sep 17 00:00:00 2001 From: Emmet Date: Sat, 30 Sep 2023 21:25:14 -0500 Subject: [PATCH] Setup elfeed + freshrss --- user/app/doom-emacs/config.el | 24 ++++++++++++++++++++++++ user/app/doom-emacs/doom.org | 32 +++++++++++++++++++++++++++++++- user/app/doom-emacs/init.el | 2 +- user/app/doom-emacs/packages.el | 2 ++ 4 files changed, 58 insertions(+), 2 deletions(-) diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index 46196720..6324b150 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -1216,3 +1216,27 @@ https://github.com/magit/magit/issues/460 (@cpitclaudel)." (setq +format-on-save-enabled-modes '(not emacs-lisp-mode sql-mode tex-mode latex-mode org-msg-edit-mode nix-mode)) + +;; I source my rss from my freshrss instance +;; I login with a private elisp file: ~/.emacs.d/freshrss-elfeed.el +;; freshrss-elfeed.el looks like this: +;;(elfeed-protocol-enable) +;;(setq elfeed-use-curl t) +;;(setq elfeed-set-timeout 36000) +;;(setq elfeed-log-level 'debug) +;;(setq elfeed-feeds (list +;; (list "fever+https://user@freshrss.example.com" +;; :api-url "https://user@freshrss.example.com/api/fever.php" +;; :password "mYsUpErCoMpLiCaTeDp@s$w0rD")))) +;;(setq main-elfeed-feed "https://user@freshrss.example.com/api/fever.php") + +(if (file-exists-p "~/.emacs.d/freshrss-elfeed.el") (load! "~/.emacs.d/freshrss-elfeed.el")) +(setq elfeed-search-filter "@6-months-ago +unread") +(setq browse-url-chromium-program "mpv") +(setq browse-url-handlers '(("youtube.com" . browse-url-chrome) ("." . browse-url))) +(map! :leader :desc "Open elfeed" "O n" #'elfeed) +(defun elfeed-full-update () + (interactive) + (elfeed-protocol-fever-update main-elfeed-feed) + (elfeed-update)) +(map! :map 'elfeed-search-mode-map :desc "Update elfeed" :n "g R" #'elfeed-full-update) diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index 275ed15e..9c0441ed 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -24,6 +24,7 @@ - [[#projectile][Projectile]] - [[#lsp][LSP]] - [[#terminal][Terminal]] + - [[#elfeed][Elfeed]] - [[#my-initel][My init.el]] - [[#my-packagesel][My packages.el]] - [[#nix-integration][Nix Integration]] @@ -1464,6 +1465,32 @@ EAF doesn't work on Wayland :( ** Terminal #+BEGIN_SRC emacs-lisp :tangle config.el #+END_SRC +** Elfeed +#+BEGIN_SRC emacs-lisp :tangle config.el +;; I source my rss from my freshrss instance +;; I login with a private elisp file: ~/.emacs.d/freshrss-elfeed.el +;; freshrss-elfeed.el looks like this: +;;(elfeed-protocol-enable) +;;(setq elfeed-use-curl t) +;;(setq elfeed-set-timeout 36000) +;;(setq elfeed-log-level 'debug) +;;(setq elfeed-feeds (list +;; (list "fever+https://user@freshrss.example.com" +;; :api-url "https://user@freshrss.example.com/api/fever.php" +;; :password "mYsUpErCoMpLiCaTeDp@s$w0rD")))) +;;(setq main-elfeed-feed "https://user@freshrss.example.com/api/fever.php") + +(if (file-exists-p "~/.emacs.d/freshrss-elfeed.el") (load! "~/.emacs.d/freshrss-elfeed.el")) +(setq elfeed-search-filter "@6-months-ago +unread") +(setq browse-url-chromium-program "mpv") +(setq browse-url-handlers '(("youtube.com" . browse-url-chrome) ("." . browse-url))) +(map! :leader :desc "Open elfeed" "O n" #'elfeed) +(defun elfeed-full-update () + (interactive) + (elfeed-protocol-fever-update main-elfeed-feed) + (elfeed-update)) +(map! :map 'elfeed-search-mode-map :desc "Update elfeed" :n "g R" #'elfeed-full-update) +#+END_SRC * My init.el This section is the [[./init.el][init.el]] section, which controls which Doom modules are loaded. @@ -1643,7 +1670,7 @@ This section is the [[./init.el][init.el]] section, which controls which Doom mo ;;emms ;;everywhere ; *leave* Emacs!? You must be joking ;;irc ; how neckbeards socialize - ;;(rss +org) ; emacs as an RSS reader + rss ; emacs as an RSS reader ;;twitter ; twitter client https://twitter.com/vnought :config @@ -1694,6 +1721,9 @@ Any git package can be configured for a particular commit or branch: (package! olivetti) (package! async) (package! centered-cursor-mode) +(package! elfeed) +(package! elfeed) +(package! elfeed-protocol) #+END_SRC * Nix Integration In order to have Nix load my Doom Emacs configuration [[./doom.nix][doom.nix]], which I source in the =imports= block of my [[../../../profiles/work/home.nix][home.nix]]. diff --git a/user/app/doom-emacs/init.el b/user/app/doom-emacs/init.el index aa133c4a..d53026f2 100644 --- a/user/app/doom-emacs/init.el +++ b/user/app/doom-emacs/init.el @@ -167,7 +167,7 @@ ;;emms ;;everywhere ; *leave* Emacs!? You must be joking ;;irc ; how neckbeards socialize - ;;(rss +org) ; emacs as an RSS reader + rss ; emacs as an RSS reader ;;twitter ; twitter client https://twitter.com/vnought :config diff --git a/user/app/doom-emacs/packages.el b/user/app/doom-emacs/packages.el index 1c2af422..d9028ef5 100644 --- a/user/app/doom-emacs/packages.el +++ b/user/app/doom-emacs/packages.el @@ -22,3 +22,5 @@ (package! olivetti) (package! async) (package! centered-cursor-mode) +(package! elfeed) +(package! elfeed-protocol)