1
0
mirror of https://github.com/alrayyes/dotfiles/ synced 2023-11-14 15:56:30 +00:00
dotfiles/emacs/.config/doom/configuration.org
2019-12-10 19:30:15 +01:00

158 lines
7.3 KiB
Org Mode

* General settings
Set fonts to a [[https://www.nerdfonts.com/][Nerd Fonts]] patched version of [[https://github.com/tonsky/FiraCode][Fira Code]]. Theme is set to
doom-molokai from [[https://github.com/hlissner/emacs-doom-themes][doom-themes]]
[[https://raw.githubusercontent.com/hlissner/emacs-doom-themes/screenshots/doom-molokai.png][doom-molokai screenshot]]
#+BEGIN_SRC emacs-lisp
(setq doom-font (font-spec :family "FuraCode Nerd Font Mono" :size 12) ; Set font
doom-theme 'doom-molokai) ; Set theme
#+END_SRC
* [[https://www.projectile.mx/en/latest/][Projectile]]
Set default paths [[https://www.projectile.mx/en/latest/][projectile]] should search
#+BEGIN_SRC emacs-lisp
(use-package! projectile
:config
(setq projectile-project-search-path '("~/devel/personal/" "~/devel/andthensome/" "~/Documents/"))) ; Default paths
#+END_SRC
* [[https://github.com/jorgenschaefer/circe][Circe]]
Connect to [[https://wiki.znc.in/ZNC][ZNC]]. Passwords are gotten from [[https://www.passwordstore.org/][Password Store]].
#+BEGIN_SRC emacs-lisp
(use-package! circe
:config
(setq circe-network-options
`(
("znc-freenode"
:host "irc.higherlearning.eu"
:port "5000"
:tls t ;; Enable tls
:user "l0rd/freenode"
:server-buffer-name "⇄ Freenode (ZNC)"
:pass (lambda (&rest _) (+pass-get-secret "controlpanel/irc.higherlearning.eu")) ;; Get password from pass
:channels ("#emacs"))
("znc-snoonet"
:host "irc.higherlearning.eu"
:port "5000"
:tls t
:user "l0rd/snoonet"
:server-buffer-name "⇄ Snoonet (ZNC)"
:pass (lambda (&rest _) (+pass-get-secret "controlpanel/irc.higherlearning.eu"))
:channels ("#islam"))
))
)
(add-hook 'circe-channel-mode-hook 'enable-lui-autopaste)
#+END_SRC
* [[https://notmuchmail.org/notmuch-emacs/][Notmuch Emacs]]
Play nice with [[https://marlam.de/msmtp/][msmtp]] and fetch mail via custom [[https://github.com/alrayyes/dotfiles/blob/master/mutt/.local/bin/mailsync][mailsync]] shell script.
#+BEGIN_SRC emacs-lisp
(use-package! notmuch
:config
(setq +notmuch-sync-backend nil ; Needed to make sure notmuch-sync-command below is run when notmmuch is loaded
+notmuch-sync-command "mailsync" ; Command to fetch email
sendmail-program "/usr/bin/msmtp" ; Use msmtp to send mail
message-sendmail-f-is-evil t; Non-nil means don't add "-f username" to the sendmail command line.
message-sendmail-extra-arguments '("--read-envelope-from") ; Additional arguments to sendmail-program.
message-send-mail-function 'message-send-mail-with-sendmail) ; Function to call to send the current buffer as mail.
)
#+END_SRC
* [[https://orgmode.org/][Org mode]]
When moving entries up and down in the buffer use `j` and `k` instead of `↑` and `↓`
#+BEGIN_SRC emacs-lisp
(after! org
(map! :map org-mode-map
:n "M-j" #'org-metadown
:n "M-k" #'org-metaup)
)
#+END_SRC
- Set default org directory
- When task is set to `DONE` [[https://orgmode.org/manual/Closing-items.html][add timestamp and give the opportunity to type in a note]]
- Show images in buffers as default
#+BEGIN_SRC emacs-lisp
(setq org-directory "~/Documents/org"
org-agenda-files '("~/Documents/org")
org-log-done 'note
org-startup-with-inline-images t)
#+END_SRC
* [[https://github.com/Lautaro-Garcia/counsel-spotify][Counsel Spotify]]
Control Spotify with Counsel Spotify
#+BEGIN_SRC emacs-lisp
(setq counsel-spotify-client-id "03f9817b1b6946febf9a0573d28e3831"
counsel-spotify-client-secret "d03c172f1497466a953026f001f1daeb")
#+END_SRC
* [[https://www.djcbsoftware.nl/code/mu/mu4e.html][mu4e]]
Setup mu4e with multiple profiles
#+BEGIN_SRC emacs-lisp
(use-package! mu4e
:config
(setq sendmail-program "/usr/bin/msmtp"
send-mail-function
'smtpmail-send-it
message-sendmail-f-is-evil
t
message-sendmail-extra-arguments
'("--read-envelope-from")
message-send-mail-function
'message-send-mail-with-sendmail)
(setq mu4e-maildirs-extension-custom-list '("/ryankes/INBOX" "/ryankes/Sent" "/ryankes/Drafts"
"/ryankes/Archive" "/ryankes/Archive.quicknet"
"/gmail/INBOX" "/gmail/Sent" "/gmail/Drafts"
"/gmail/Archive" "/andthensome/INBOX" "/andthensome/Sent"
"/andthensome/Drafts" "/andthensome/Archive")))
(setq mu4e-maildir "~/.local/share/mail"
mu4e-maildir-shortcuts
'(("/ryankes/INBOX" . ?r)
("/gmail/INBOX" . ?g)
("/andthensome/INBOX" . ?a))
mu4e-update-interval
300
mu4e-get-mail-command
"mailsync"
mu4e-enable-mode-line
t
mu4e-use-fancy-chars
t
mu4e-context-policy
'pick-first
mu4e-attachment-dir
"~/Downloads/")
(after! mu4e
(setq mu4e-contexts
`(,(make-mu4e-context :name "Ryankes"
:match-func (lambda (msg)
(when msg
(string-match-p "^/ryankes"
(mu4e-message-field msg :maildir)))):vars'((user-mail-address . "ryan@ryankes.eu")
(user-full-name . "Ryan")
(mu4e-sent-folder . "/ryankes/Sent")
(mu4e-drafts-folder . "/ryankes/Drafts")
(mu4e-trash-folder . "/ryankes/Trash")
(mu4e-refile-folder . "/ryankes/Archive")))
,(make-mu4e-context :name "Gmail"
:match-func (lambda (msg)
(when msg
(string-match-p "^/gmail"
(mu4e-message-field msg :maildir)))):vars'((user-mail-address . "alrayyes@gmail.com")
(user-full-name . "Ryan")
(mu4e-sent-folder . "/gmail/Sent")
(mu4e-drafts-folder . "/gmail/Drafts")
(mu4e-trash-folder . "/gmail/Trash")
(mu4e-refile-folder . "/gmail/Archive")))
,(make-mu4e-context :name "Andthensome"
:match-func (lambda (msg)
(when msg
(string-match-p "^/andthensome"
(mu4e-message-field msg :maildir)))):vars'((user-mail-address . "ryan@andthensome.nl")
(user-full-name . "Ryan Kes")
(mu4e-sent-folder . "/andthensome/Sent")
(mu4e-drafts-folder . "/andthensome/Drafts")
(mu4e-trash-folder . "/andthensome/Trash")
(mu4e-refile-folder . "/andthensome/Archive"))))))
(add-hook 'mu4e-view-mode-hook 'visual-line-mode)
#+END_SRC