Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
fbba44d7a2 | |||
827e1a879a | |||
258ffa1486 | |||
826b27a621 | |||
84d941ed62 | |||
f42e7c2192 | |||
fa19e34239 | |||
51d2463a8d | |||
5e0f9a61be | |||
e8dd98aa3c | |||
9cbcaf62ac | |||
90d56d2b24 | |||
30a50895eb | |||
8fc7079b10 | |||
6acb05a8a9 | |||
4f7d27bd34 |
@ -10,9 +10,6 @@
|
|||||||
;; Map elfeed to global keybinding
|
;; Map elfeed to global keybinding
|
||||||
(map! :leader :n "o e" #'=rss
|
(map! :leader :n "o e" #'=rss
|
||||||
:desc "RSS reader")
|
:desc "RSS reader")
|
||||||
;; Map wallabag to global keybinding
|
|
||||||
(map! :leader :n "o w" #'=wallabag
|
|
||||||
:desc "Read saved articles")
|
|
||||||
;; Keybindings for org-noter
|
;; Keybindings for org-noter
|
||||||
(map! :mode pdf-view-mode
|
(map! :mode pdf-view-mode
|
||||||
:n "i" #'org-noter-insert-note
|
:n "i" #'org-noter-insert-note
|
||||||
|
14
+mail.el
14
+mail.el
@ -18,14 +18,6 @@
|
|||||||
(smtpmail-smtp-user . "akasroua@gmail.com")
|
(smtpmail-smtp-user . "akasroua@gmail.com")
|
||||||
(user-mail-address . "akasroua@gmail.com"))
|
(user-mail-address . "akasroua@gmail.com"))
|
||||||
t)
|
t)
|
||||||
(set-email-account! "ugent"
|
|
||||||
'((mu4e-sent-folder . "/ugent/sent")
|
|
||||||
(mu4e-drafts-folder . "/ugent/drafts")
|
|
||||||
(mu4e-trash-folder . "/ugent/trash")
|
|
||||||
(mu4e-refile-folder . "/ugent/archive")
|
|
||||||
(smtpmail-smtp-user . "amin.kasrouaouam@ugent.be")
|
|
||||||
(user-mail-address . "amin.kasrouaouam@ugent.be"))
|
|
||||||
t)
|
|
||||||
(set-email-account! "disroot"
|
(set-email-account! "disroot"
|
||||||
'((mu4e-sent-folder . "/disroot/sent")
|
'((mu4e-sent-folder . "/disroot/sent")
|
||||||
(mu4e-drafts-folder . "/disroot/drafts")
|
(mu4e-drafts-folder . "/disroot/drafts")
|
||||||
@ -46,12 +38,8 @@
|
|||||||
;; Use shortcuts to access inboxes easily
|
;; Use shortcuts to access inboxes easily
|
||||||
(setq mu4e-maildir-shortcuts
|
(setq mu4e-maildir-shortcuts
|
||||||
'(("/disroot/inbox" . ?d)
|
'(("/disroot/inbox" . ?d)
|
||||||
("/gmail/inbox" . ?g)
|
("/gmail/inbox" . ?g)))
|
||||||
("/ugent/inbox" . ?u)))
|
|
||||||
;; Change mu4e bookmarks
|
;; Change mu4e bookmarks
|
||||||
(setq mu4e-bookmarks '((:name "Unread messages" :query "flag:unread AND NOT flag:trashed" :key 117)
|
(setq mu4e-bookmarks '((:name "Unread messages" :query "flag:unread AND NOT flag:trashed" :key 117)
|
||||||
(:name "Today's messages" :query "date:today..now" :key 116)
|
(:name "Today's messages" :query "date:today..now" :key 116)
|
||||||
(:name "Last 7 days" :query "date:7d..now" :hide-unread t :key 119)))
|
(:name "Last 7 days" :query "date:7d..now" :hide-unread t :key 119)))
|
||||||
;; HACK Fix mu 1.10 layout
|
|
||||||
(set-popup-rule! "^\\*mu4e-\\(main\\|headers\\)\\*" :ignore t)
|
|
||||||
(set-popup-rule! "^\\*mu4e-draft\\*" :size 0.7 :vslot -4 :select t :quit nil :ttl 0)
|
|
||||||
|
11
+org.el
11
+org.el
@ -17,13 +17,16 @@
|
|||||||
:init
|
:init
|
||||||
(setq org-agenda-skip-scheduled-if-done t
|
(setq org-agenda-skip-scheduled-if-done t
|
||||||
org-agenda-skip-deadline-if-done t
|
org-agenda-skip-deadline-if-done t
|
||||||
|
org-agenda-skip-scheduled-delay-if-deadline t
|
||||||
|
org-agenda-skip-deadline-prewarning-if-scheduled t
|
||||||
|
org-deadline-warning-days 0
|
||||||
org-agenda-include-deadlines t
|
org-agenda-include-deadlines t
|
||||||
org-agenda-tags-column 100
|
org-agenda-tags-column 100
|
||||||
org-agenda-block-separator nil
|
org-agenda-block-separator nil
|
||||||
org-agenda-compact-blocks t
|
org-agenda-compact-blocks t
|
||||||
org-agenda-start-day nil
|
org-agenda-start-day nil
|
||||||
org-agenda-span 1
|
org-agenda-span 7
|
||||||
org-agenda-start-on-weekday nil)
|
org-agenda-start-on-weekday 0)
|
||||||
(setq org-super-agenda-groups '((:name "Overdue"
|
(setq org-super-agenda-groups '((:name "Overdue"
|
||||||
:deadline past
|
:deadline past
|
||||||
:order 0)
|
:order 0)
|
||||||
@ -44,8 +47,8 @@
|
|||||||
(:name "Errands"
|
(:name "Errands"
|
||||||
:tag ("errand" "call")
|
:tag ("errand" "call")
|
||||||
:order 10)
|
:order 10)
|
||||||
(:name "Thesis"
|
(:name "Projects"
|
||||||
:tag "thesis"
|
:file-path "Projects"
|
||||||
:order 6)
|
:order 6)
|
||||||
(:discard (:tag ("periodic" "birthday")))))
|
(:discard (:tag ("periodic" "birthday")))))
|
||||||
:config
|
:config
|
||||||
|
30
+rss.el
Normal file
30
+rss.el
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
;;; +rss.el -*- lexical-binding: t; -*-
|
||||||
|
;; Elfeed configuration
|
||||||
|
;;
|
||||||
|
;; Synchronize elfeed with Miniflux
|
||||||
|
(setq elfeed-use-curl t
|
||||||
|
elfeed-protocol-feeds (list
|
||||||
|
(list "fever+https://coolneng@rss.coolneng.duckdns.org"
|
||||||
|
:api-url "https://rss.coolneng.duckdns.org/fever/"
|
||||||
|
:password (auth-source-pass-get 'secret "api/miniflux")))
|
||||||
|
elfeed-sort-order 'ascending
|
||||||
|
elfeed-search-filter "@all +unread"
|
||||||
|
elfeed-goodies/tag-column-width 0)
|
||||||
|
(elfeed-protocol-enable)
|
||||||
|
;; Update RSS feeds on startup
|
||||||
|
(add-hook! 'elfeed-search-mode-hook 'elfeed-update)
|
||||||
|
;; Use different font and show article in fullscreen
|
||||||
|
(setq elfeed-show-entry-switch #'switch-to-buffer)
|
||||||
|
(defadvice! +rss-elfeed-wrap-h-nicer ()
|
||||||
|
"Enhances an elfeed entry's readability by wrapping it to a width of
|
||||||
|
`fill-column' and centering it with `visual-fill-column-mode'."
|
||||||
|
:override #'+rss-elfeed-wrap-h
|
||||||
|
(setq-local truncate-lines nil
|
||||||
|
shr-width 160
|
||||||
|
visual-fill-column-center-text t
|
||||||
|
default-text-properties '(line-height 1.1))
|
||||||
|
(let ((inhibit-read-only t)
|
||||||
|
(inhibit-modification-hooks t))
|
||||||
|
(visual-fill-column-mode)
|
||||||
|
(setq-local shr-current-font '(:family "Lato" :height 1.1))
|
||||||
|
(set-buffer-modified-p nil)))
|
8
+ui.el
8
+ui.el
@ -69,10 +69,10 @@
|
|||||||
:action =wallabag)))
|
:action =wallabag)))
|
||||||
;; Restore previous session without confirmation
|
;; Restore previous session without confirmation
|
||||||
(defadvice! restore-no-confirm-session-quickload-a ()
|
(defadvice! restore-no-confirm-session-quickload-a ()
|
||||||
:override #'doom/quickload-session
|
:override #'doom/quickload-session
|
||||||
(message "Restoring session...")
|
(message "Restoring session...")
|
||||||
(doom-load-session)
|
(doom-load-session)
|
||||||
(message "Session restored. Welcome back."))
|
(message "Session restored. Welcome back."))
|
||||||
;; Decrease size of icons in the modeline
|
;; Decrease size of icons in the modeline
|
||||||
(setq nerd-icons-scale-factor 1.0)
|
(setq nerd-icons-scale-factor 1.0)
|
||||||
;; Increase size of the PlatformIO compilation buffer
|
;; Increase size of the PlatformIO compilation buffer
|
||||||
|
65
config.el
65
config.el
@ -17,9 +17,9 @@
|
|||||||
("~/Repos" . 1)
|
("~/Repos" . 1)
|
||||||
"~/.dotfiles"
|
"~/.dotfiles"
|
||||||
"~/Notes"))
|
"~/Notes"))
|
||||||
; Auto cleanup recentf
|
;; Auto cleanup recentf
|
||||||
(setq recentf-auto-cleanup 300)
|
(setq recentf-auto-cleanup 300)
|
||||||
; Save backup files to ~/.cache and autosave files to ~/.cache/emacs
|
;; Save backup files to ~/.cache and autosave files to ~/.cache/emacs
|
||||||
(setq backup-directory-alist `(("." . "~/.cache"))
|
(setq backup-directory-alist `(("." . "~/.cache"))
|
||||||
auto-save-list-file-prefix (concat "~/.cache"))
|
auto-save-list-file-prefix (concat "~/.cache"))
|
||||||
;; Load org configuration
|
;; Load org configuration
|
||||||
@ -86,63 +86,8 @@
|
|||||||
(after! lsp-clangd (set-lsp-priority! 'clangd 2))
|
(after! lsp-clangd (set-lsp-priority! 'clangd 2))
|
||||||
;; Use relative line numbers (Usage: number <j/k>)
|
;; Use relative line numbers (Usage: number <j/k>)
|
||||||
(setq display-line-numbers-type 'relative)
|
(setq display-line-numbers-type 'relative)
|
||||||
;; Use pass as auth-source
|
;; Set up RSS reader
|
||||||
(add-to-list 'auth-sources 'password-store)
|
(after! elfeed (load! "+rss"))
|
||||||
;; Set up wallabag
|
|
||||||
(after! wallabag
|
|
||||||
(setq wallabag-host "https://wallabag.coolneng.duckdns.org"
|
|
||||||
wallabag-username "coolneng"
|
|
||||||
wallabag-password (auth-source-pass-get 'secret "api/wallabag")
|
|
||||||
wallabag-clientid (auth-source-pass-get "clientid" "api/wallabag")
|
|
||||||
wallabag-secret (auth-source-pass-get "api-secret" "api/wallabag")
|
|
||||||
wallabag-show-sidebar 't
|
|
||||||
wallabag-show-entry-switch 'switch-to-buffer
|
|
||||||
url-automatic-caching t)
|
|
||||||
(add-hook! 'wallabag-after-render-hook 'wallabag-search-update-and-clear-filter))
|
|
||||||
(add-hook! 'doom-real-buffer-functions
|
|
||||||
(defun +rss-buffer-p (buf)
|
|
||||||
(string-match-p "^\\*wallabag" (buffer-name buf))))
|
|
||||||
(defvar +wallabag-workspace-name "*wallabag*")
|
|
||||||
(defun =wallabag ()
|
|
||||||
"Activate (or switch to) `wallabag' in its workspace."
|
|
||||||
(interactive)
|
|
||||||
(if (modulep! :ui workspaces)
|
|
||||||
(progn
|
|
||||||
(+workspace-switch +wallabag-workspace-name t)
|
|
||||||
(doom/switch-to-scratch-buffer)
|
|
||||||
(wallabag)
|
|
||||||
(+workspace/display))
|
|
||||||
(setq +wallabag--wconf (current-window-configuration))
|
|
||||||
(delete-other-windows)
|
|
||||||
(switch-to-buffer (doom-fallback-buffer))
|
|
||||||
(wallabag)))
|
|
||||||
;; Set up elfeed
|
|
||||||
(after! elfeed
|
|
||||||
(setq elfeed-use-curl t)
|
|
||||||
(setq elfeed-feeds (list
|
|
||||||
(list "fever+https://coolneng@rss.coolneng.duckdns.org"
|
|
||||||
:api-url "https://rss.coolneng.duckdns.org/fever/"
|
|
||||||
:password (auth-source-pass-get 'secret "api/miniflux"))))
|
|
||||||
(setq elfeed-sort-order 'ascending
|
|
||||||
elfeed-search-filter "@all +unread"
|
|
||||||
elfeed-goodies/tag-column-width 0)
|
|
||||||
(elfeed-protocol-enable)
|
|
||||||
(add-hook! 'elfeed-search-mode-hook 'elfeed-update)
|
|
||||||
;; Use different font and show article in fullscreen
|
|
||||||
(setq elfeed-show-entry-switch #'switch-to-buffer)
|
|
||||||
(defadvice! +rss-elfeed-wrap-h-nicer ()
|
|
||||||
"Enhances an elfeed entry's readability by wrapping it to a width of
|
|
||||||
`fill-column' and centering it with `visual-fill-column-mode'."
|
|
||||||
:override #'+rss-elfeed-wrap-h
|
|
||||||
(setq-local truncate-lines nil
|
|
||||||
shr-width 160
|
|
||||||
visual-fill-column-center-text t
|
|
||||||
default-text-properties '(line-height 1.1))
|
|
||||||
(let ((inhibit-read-only t)
|
|
||||||
(inhibit-modification-hooks t))
|
|
||||||
(visual-fill-column-mode)
|
|
||||||
(setq-local shr-current-font '(:family "Lato" :height 1.1))
|
|
||||||
(set-buffer-modified-p nil))))
|
|
||||||
;; Set up the mail stack
|
;; Set up the mail stack
|
||||||
(after! mu4e (load! "+mail"))
|
(after! mu4e (load! "+mail"))
|
||||||
;; HACK Enable AOT native compilation
|
;; HACK Enable AOT native compilation
|
||||||
@ -167,3 +112,5 @@
|
|||||||
(pixel-scroll-precision-mode)
|
(pixel-scroll-precision-mode)
|
||||||
;; Restore previous session on startup
|
;; Restore previous session on startup
|
||||||
(add-hook 'window-setup-hook #'doom/quickload-session)
|
(add-hook 'window-setup-hook #'doom/quickload-session)
|
||||||
|
;; Enable PDF smooth scrolling
|
||||||
|
(add-hook 'pdf-tools-enabled-hook 'pdf-view-roll-minor-mode)
|
||||||
|
15
init.el
15
init.el
@ -11,10 +11,11 @@
|
|||||||
(doom! :input
|
(doom! :input
|
||||||
;;chinese
|
;;chinese
|
||||||
;;japanese
|
;;japanese
|
||||||
;layout ; auie,ctsrnm is the superior home row
|
;;layout ; auie,ctsrnm is the superior home row
|
||||||
|
|
||||||
:completion
|
:completion
|
||||||
(company +tng) ; the ultimate code completion backend
|
;;(company +tng) ; the ultimate code completion backend
|
||||||
|
(corfu +orderless) ; complete with cap(f), cape and a flying feather!
|
||||||
;;helm ; the *other* search engine for love and life
|
;;helm ; the *other* search engine for love and life
|
||||||
;;ido ; the other *other* search engine...
|
;;ido ; the other *other* search engine...
|
||||||
;;(ivy ; a search engine for love and life
|
;;(ivy ; a search engine for love and life
|
||||||
@ -104,7 +105,7 @@
|
|||||||
;;terraform ; infrastructure as code
|
;;terraform ; infrastructure as code
|
||||||
;;tmux ; an API for interacting with tmux
|
;;tmux ; an API for interacting with tmux
|
||||||
tree-sitter ; syntax and parsing, sitting in a tree...
|
tree-sitter ; syntax and parsing, sitting in a tree...
|
||||||
upload ; map local to remote projects via ssh/ftp
|
;;upload ; map local to remote projects via ssh/ftp
|
||||||
|
|
||||||
:lang
|
:lang
|
||||||
;;agda ; types of types of types of types...
|
;;agda ; types of types of types of types...
|
||||||
@ -158,14 +159,14 @@
|
|||||||
+pandoc ; export-with-pandoc support
|
+pandoc ; export-with-pandoc support
|
||||||
+pomodoro ; be fruitful with the tomato technique
|
+pomodoro ; be fruitful with the tomato technique
|
||||||
+present) ; using org-mode for presentations
|
+present) ; using org-mode for presentations
|
||||||
;;+pretty)
|
;;+pretty)
|
||||||
;;php ; perl's insecure younger brother
|
;;php ; perl's insecure younger brother
|
||||||
;;plantuml ; diagrams for confusing people more
|
;;plantuml ; diagrams for confusing people more
|
||||||
;;purescript ; javascript, but functional
|
;;purescript ; javascript, but functional
|
||||||
(python +lsp ; beautiful is better than ugly
|
(python +lsp ; beautiful is better than ugly
|
||||||
+pyright
|
+pyright
|
||||||
+poetry
|
+poetry
|
||||||
+tree-sitter)
|
+tree-sitter)
|
||||||
;;qt ; the 'cutest' gui framework ever
|
;;qt ; the 'cutest' gui framework ever
|
||||||
;;racket ; a DSL for DSLs
|
;;racket ; a DSL for DSLs
|
||||||
;;raku ; the artist formerly known as perl6
|
;;raku ; the artist formerly known as perl6
|
||||||
|
@ -9,8 +9,6 @@
|
|||||||
(package! org-super-agenda)
|
(package! org-super-agenda)
|
||||||
;; Save recipes to org file
|
;; Save recipes to org file
|
||||||
(package! org-chef)
|
(package! org-chef)
|
||||||
;; Wallabag client
|
|
||||||
(package! wallabag :recipe (:host github :repo "chenyanming/wallabag.el" :files ("*.el" "*.alist" "*.css")))
|
|
||||||
;; Miniflux integration for elfeed
|
;; Miniflux integration for elfeed
|
||||||
(package! elfeed-protocol)
|
(package! elfeed-protocol)
|
||||||
;; Prettier LaTeX source blocks
|
;; Prettier LaTeX source blocks
|
||||||
@ -24,6 +22,7 @@
|
|||||||
;; Fetch and save bibtex from Firefox
|
;; Fetch and save bibtex from Firefox
|
||||||
(package! asoc :recipe (:host github :repo "troyp/asoc.el"))
|
(package! asoc :recipe (:host github :repo "troyp/asoc.el"))
|
||||||
(package! doct :recipe (:host github :repo "progfolio/doct"))
|
(package! doct :recipe (:host github :repo "progfolio/doct"))
|
||||||
|
(package! persid :recipe (:host github :repo "rougier/persid"))
|
||||||
(package! org-capture-ref :recipe (:host github :repo "yantar92/org-capture-ref"))
|
(package! org-capture-ref :recipe (:host github :repo "yantar92/org-capture-ref"))
|
||||||
;; Arduino development
|
;; Arduino development
|
||||||
(package! platformio-mode)
|
(package! platformio-mode)
|
||||||
@ -31,5 +30,7 @@
|
|||||||
(package! os1-theme :recipe (:host github :repo "sashimacs/os1-theme"))
|
(package! os1-theme :recipe (:host github :repo "sashimacs/os1-theme"))
|
||||||
;; Move buffer while maintaining cursor centered
|
;; Move buffer while maintaining cursor centered
|
||||||
(package! centered-cursor-mode)
|
(package! centered-cursor-mode)
|
||||||
;; HACK Fix mu 1.10 evil navigation
|
;; Use the fork of pdf-tools with smooth scrolling
|
||||||
(unpin! evil-collection)
|
(unpin! pdf-tools)
|
||||||
|
(package! pdf-tools :recipe (:host github :repo "aikrahguzar/pdf-tools" :branch "child-frame-preview"))
|
||||||
|
(package! image-roll :recipe (:host github :repo "dalanicolai/image-roll.el"))
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
# key: sign
|
# key: sign
|
||||||
# --
|
# --
|
||||||
|
|
||||||
Best regards,
|
Kind regards,
|
||||||
|
|
||||||
Amin Kasrou Aouam
|
Amin Kasrou Aouam
|
||||||
|
Loading…
Reference in New Issue
Block a user