689244821c
In the old form the wrong type of extension was added, this prevented any reconfiguration of purpose allocations in the dotfile. Now the right type of allocation is used allowing users to overwrite the config easily. How this is done is described in the purpose layer. |
||
---|---|---|
.. | ||
local | ||
config.el | ||
funcs.el | ||
packages.el | ||
README.org |
ERC layer
Description
Layer for ERC IRC chat.
Features:
- Highlight nicks (using erc-hl-nicks)
- Image inline support (using erc-image)
- Logging to
~/.emacs.d/.cache/erc-logs
andViewLogMode
for viewing logs (using erc-view-log) - YouTube videos Thumbnails inline (using erc-yt)
- Social Graph for ERC messages (using erc-social-graph)
- Optional SASL authentication via the variable
erc-enable-sasl-auth
(using erc-sasl) - D-BUS notifications via the variable
erc-enable-notifications
- Completion of Emojis using company-emoji (still needs a way of showing, either
using the
emoji
layer or having a proper font) 👏
Install
Layer
To use this configuration layer, add it to your ~/.spacemacs
. You will need to
add erc
to the existing dotspacemacs-configuration-layers
list in this
file.
macOS
It's recommended to install the terminal-notifier gem so that you get notifications via the macOS Notification Center.
Social graph
erc-social-graph needs graphviz to be installed on your system.
Disable notifications
By default D-BUS notifications are enabled, to disable them set the layer
variable erc-enable-notifications
to nil.
(setq-default dotspacemacs-configuration-layers
'((erc :variables erc-enable-notifications nil)))
Enable SASL authentication
To enable SASL authentication set the layer variable erc-enable-sasl-auth
to
non nil.
(setq-default dotspacemacs-configuration-layers
'((erc :variables erc-enable-sasl-auth t)))
Default servers
You can define the default servers in the ERC custom layout by setting the
variable erc-server-list
. Setting :ssl
non nil will connect with erc-tls
.
You can also use <leader>aiD
to connect to your default servers outside the
custom layout.
(setq-default dotspacemacs-configuration-layers
'((erc :variables
erc-server-list
'(("irc.freenode.net"
:port "6697"
:ssl t
:nick "some-user"
:password "secret")
("irc.myworkirc.net"
:port "1234"
:nick "some-suit"
:password "hunter2")))))
Security Note
You should not store your passwords in the clear in your .spacemacs
, and that
goes double if you version your config file. ERC allows for a number of ways of
protecting this information.
First, ERC will check your ~/.authinfo.gpg
, looking for lines like
machine <irc.server.url> login <yournick> password <yourpassword> port <portnumber>
You can omit :password
in this case.
You could also set an environment variable (or otherwise secret variable) and
read that in :password
.
Key bindings
Key binding | Description |
---|---|
SPC a i e |
Starts ERC |
SPC a i E |
Starts ERC via TLS/SSL |
SPC a i i |
Switch to next active ERC buffer |
SPC a i D |
Start ERC with default servers |
SPC m c |
Open the log file of the current channel |
SPC m b |
Switch between ERC buffers |
SPC m d |
Interactively input a user action and send it to IRC. |
SPC m D |
Draw Social Graph using erc-social-graph |
SPC m j |
Join a channel, executes the /join command |
SPC m n |
Run "/names #channel" in the current channel. |
SPC m l |
Run the /list command |
SPC m p |
Part from the channel |
SPC m q |
Quit server |
Note: If you want to connect securely to an IRC server, you must run erc-tls
command on SPC a i E
instead of the erc
command.
Spacemacs Layout Support
ERC buffers are added automatically to the default layout for ERC controlled by
the variable erc-spacemacs-layout-name
(defaults to "@ERC") and the default
binding ("E") is controlled by erc-spacemacs-layout-binding