Merge branch 'develop'

* develop: (64 commits)
  Prepare for v2.0.5
  Temporarily disable doom-themes-visual-bell-config
  Fix neotree always changing root
  Update changelog
  Fix wrong-type-argument error from +org/insert-item
  Make +ivy-buffer-transformer autoloadable
  General refactor & cleanup
  Correct troubleshooting link in README
  org: set org-ellipsis to downward chevron
  Add elfeed-(show|search)-mode to evil-snipe-disabled-modes
  Autoload json library
  Rethink smartparens config #181
  README: expand troubleshooting
  Fix wiki links in README (again)
  Correct intro in README
  Fix wiki links in README
  Prevent private commands from affecting projectile cache
  Remove recentf-filename-handlers fix for projectile-recentf-files
  lang/sh: remove unused setup.sh
  Convert +ivy/switch-buffer to transformers + add mode icons #169
  ...
This commit is contained in:
Henrik Lissner 2017-09-03 23:32:23 +02:00
commit d2d71795e5
75 changed files with 1165 additions and 954 deletions

View file

@ -1,4 +1,4 @@
* :app email
#+TITLE: :app email
This module makes Emacs an email client, using ~mu4e~.
@ -10,41 +10,45 @@ It uses ~mu4e~ to read my email, but depends on ~offlineimap~ (to sync my email
WARNING: my config is gmail/gsuite oriented, and since Google has its own opinions on the IMAP standard, it is unlikely to translate to other hosts.
#+end_quote
** Install
* Table of Contents :TOC:
- [[#install][Install]]
- [[#macos][MacOS]]
- [[#arch-linux][Arch Linux]]
- [[#dependencies][Dependencies]]
* Install
This module requires:
+ ~offlineimap~ (to sync mail with)
+ ~mu~ (to index your downloaded messages)
*** MacOS
** MacOS
#+BEGIN_SRC sh :tangle (if (doom-system-os 'macos) "yes")
brew install mu --with-emacs
brew install offlineimap
#+END_SRC
*** Arch Linux
** Arch Linux
#+BEGIN_SRC sh :dir /sudo:: :tangle (if (doom-system-os 'arch) "yes")
sudo pacman --noconfirm --needed -S offlineimap mu
#+END_SRC
** Dependencies
* Dependencies
You need to do the following:
1. Write a ~\~/.offlineimaprc~. Mine can be found [[https://github.com/hlissner/dotfiles/tree/master/shell/+mu][in my dotfiles repository]]. It is configured to download mail to ~\~/.mail~. I use unix pass to securely store my login credentials.
1. Write a ~\~/.offlineimaprc~. Mine can be found [[https://github.com/hlissner/dotfiles/tree/master/shell/+mu][in my dotfiles repository]]. It is configured to download mail to ~\~/.mail~. I use [[https://www.passwordstore.org/][unix pass]] to securely store my login credentials.
2. Download your email: ~offlineimap -o~ (may take a while)
3. Index it with mu: ~mu index --maildir ~/.mail~
Then configure Emacs to use your email address:
#+BEGIN_SRC emacs-lisp :tangle no
;; + %s is replaced with the label, e.g. /%s/Drafts => /lissner.net/Drafts
;; + Each path is relative to `+email-mu4e-mail-path', which is ~/.mail by
;; default
(set! :email "lissner.net"
'((mu4e-sent-folder . "/%s/Sent Mail")
(mu4e-drafts-folder . "/%s/Drafts")
(mu4e-trash-folder . "/%s/Trash")
(mu4e-refile-folder . "/%s/All Mail")
;; Each path is relative to `+email-mu4e-mail-path', which is ~/.mail by default
(set! :email "Lissner.net"
'((mu4e-sent-folder . "/Lissner.net/Sent Mail")
(mu4e-drafts-folder . "/Lissner.net/Drafts")
(mu4e-trash-folder . "/Lissner.net/Trash")
(mu4e-refile-folder . "/Lissner.net/All Mail")
(smtpmail-smtp-user . "henrik@lissner.net")
(user-mail-address . "henrik@lissner.net")
(mu4e-compose-signature . "---\nHenrik Lissner"))

View file

@ -1,11 +1,17 @@
* :app irc
#+TITLE: :app irc
This module turns adds an IRC client to Emacs ([[https://github.com/jorgenschaefer/circe][~circe~)]] with native notifications ([[https://github.com/eqyiel/circe-notifications][circe-notifications]]).
** Dependencies
* Table of Contents :TOC:
- [[#dependencies][Dependencies]]
- [[#configure][Configure]]
- [[#pass-the-unix-password-manager][Pass: the unix password manager]]
- [[#emacs-auth-source-api][Emacs' auth-source API]]
* Dependencies
This module has no dependencies, besides =gnutls-cli= or =openssl= for secure connections.
** Configure
* Configure
Use the ~:irc~ setting to configure IRC servers. Its second argument (a plist) takes the same arguments as ~circe-network-options~.
#+BEGIN_SRC emacs-lisp :tangle no
@ -19,7 +25,7 @@ Use the ~:irc~ setting to configure IRC servers. Its second argument (a plist) t
*It is a obviously a bad idea to store auth-details in plaintext,* so here are some ways to avoid that:
*** Pass: the unix password manager
** Pass: the unix password manager
[[https://www.passwordstore.org/][Pass]] is my tool of choice. I use it to manage my passwords. If you activate the [[/modules/tools/password-store/README.org][:tools password-store]] module you get an elisp API through which to access your password store.
~:irc~'s plist can use functions instead of strings. ~+pass-get-user~ and ~+pass-get-secret~ can help here:
@ -46,7 +52,7 @@ But wait, there's more! This stores your password in a public variable which cou
And you're good to go!
*** Emacs' auth-source API
** Emacs' auth-source API
~auth-source~ is built into Emacs. As suggested [[https://github.com/jorgenschaefer/circe/wiki/Configuration#safer-password-management][in the circe wiki]], you can store (and retrieve) encrypted passwords with it.
#+BEGIN_SRC emacs-lisp :tangle no