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

7.3 KiB

General settings

Set fonts to a Nerd Fonts patched version of Fira Code. Theme is set to doom-molokai from doom-themes doom-molokai screenshot

(setq doom-font (font-spec :family "FuraCode Nerd Font Mono" :size 12) ; Set font
      doom-theme 'doom-molokai) ; Set theme

Projectile

Set default paths projectile should search

(use-package! projectile
  :config
  (setq projectile-project-search-path '("~/devel/personal/" "~/devel/andthensome/" "~/Documents/"))) ; Default paths

Circe

Connect to ZNC. Passwords are gotten from Password Store.

(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)

Notmuch Emacs

Play nice with msmtp and fetch mail via custom mailsync shell script.

(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.
  )

Org mode

When moving entries up and down in the buffer use `j` and `k` instead of `↑` and `↓`

(after! org
  (map! :map org-mode-map
        :n "M-j" #'org-metadown
        :n "M-k" #'org-metaup)
  )
(setq org-directory "~/Documents/org"
      org-agenda-files '("~/Documents/org")
      org-log-done 'note
      org-startup-with-inline-images t)

Counsel Spotify

Control Spotify with Counsel Spotify

(setq counsel-spotify-client-id "03f9817b1b6946febf9a0573d28e3831"
      counsel-spotify-client-secret "d03c172f1497466a953026f001f1daeb")

mu4e

Setup mu4e with multiple profiles

(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)