docs: add installation and usage instructions for elpaca, straight.el, and other managers
This commit is contained in:
+130
-2
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Noise is a Signal Messenger client in Elisp for Emacs powered by https://github.com/AsamK/signal-cli
|
Noise is a Signal Messenger client in Elisp for Emacs powered by https://github.com/AsamK/signal-cli
|
||||||
|
|
||||||
Its ultimate goal is to provide a fast and efficient user interfae for Signal chats.
|
Its ultimate goal is to provide a fast and efficient user interface for Signal chats.
|
||||||
|
|
||||||
** Tech stack
|
** Tech stack
|
||||||
The tech stack is Elisp and SQLite (for storing conversations)
|
The tech stack is Elisp and SQLite (for storing conversations)
|
||||||
@@ -22,6 +22,134 @@ We follow Emacs conventions for keybindings with the addition of evil support ou
|
|||||||
|
|
||||||
** User Interface
|
** User Interface
|
||||||
|
|
||||||
See the file signal-emacs-ui.html for user interface mockups we're targetting.
|
See the file signal-emacs-ui.html for user interface mockups we're targeting.
|
||||||
|
|
||||||
|
** Installation
|
||||||
|
|
||||||
|
*** signal-cli
|
||||||
|
|
||||||
|
Install =signal-cli= and start the daemon in JSON-RPC mode:
|
||||||
|
|
||||||
|
#+begin_src shell
|
||||||
|
# Install signal-cli (example using the official tarball)
|
||||||
|
wget https://github.com/AsamK/signal-cli/releases/latest/download/signal-cli.tar.gz
|
||||||
|
tar xf signal-cli.tar.gz
|
||||||
|
|
||||||
|
# Register or link your device
|
||||||
|
signal-cli link -n "emacs-noise"
|
||||||
|
|
||||||
|
# Start the daemon on default port 9128
|
||||||
|
signal-cli daemon --receive-mode=manual
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
*** emacs-sqlite3-api
|
||||||
|
|
||||||
|
Noise requires the =emacs-sqlite3-api= library for SQLite access. Install it with your
|
||||||
|
package manager of choice, then set up Noise itself.
|
||||||
|
|
||||||
|
*** Noise Package
|
||||||
|
|
||||||
|
Below are recipes for several popular Emacs package managers.
|
||||||
|
|
||||||
|
**** elpaca
|
||||||
|
|
||||||
|
#+begin_src elisp
|
||||||
|
(use-package noise
|
||||||
|
:ensure (noise
|
||||||
|
:host github
|
||||||
|
:repo "git.roo.lol/jbrechtel/noise"
|
||||||
|
:protocol https)
|
||||||
|
:config
|
||||||
|
;; Optional: set a custom signal-cli address
|
||||||
|
;; (setq noise-signal-cli-address "http://localhost:9128")
|
||||||
|
|
||||||
|
;; Start Noise automatically
|
||||||
|
(noise-mode 1))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Or, if you prefer the =elpaca= recipe directly without =use-package=:
|
||||||
|
|
||||||
|
#+begin_src elisp
|
||||||
|
(elpaca (noise :host github
|
||||||
|
:repo "git.roo.lol/jbrechtel/noise"
|
||||||
|
:protocol https))
|
||||||
|
|
||||||
|
(require 'noise)
|
||||||
|
(noise-mode 1)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
**** straight.el
|
||||||
|
|
||||||
|
#+begin_src elisp
|
||||||
|
(straight-use-package
|
||||||
|
'(noise :type git :host github
|
||||||
|
:repo "git.roo.lol/jbrechtel/noise"
|
||||||
|
:protocol https))
|
||||||
|
|
||||||
|
(require 'noise)
|
||||||
|
(noise-mode 1)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
**** Quelpa
|
||||||
|
|
||||||
|
#+begin_src elisp
|
||||||
|
(quelpa
|
||||||
|
'(noise :fetcher github
|
||||||
|
:repo "git.roo.lol/jbrechtel/noise"))
|
||||||
|
|
||||||
|
(require 'noise)
|
||||||
|
(noise-mode 1)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
**** Manual / package-vc-install (Emacs 29+)
|
||||||
|
|
||||||
|
#+begin_src elisp
|
||||||
|
(package-vc-install "https://git.roo.lol/jbrechtel/noise")
|
||||||
|
|
||||||
|
(require 'noise)
|
||||||
|
(noise-mode 1)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
**** Manual clone
|
||||||
|
|
||||||
|
#+begin_src shell
|
||||||
|
git clone https://git.roo.lol/jbrechtel/noise ~/.emacs.d/manual-packages/noise
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Then in your init file:
|
||||||
|
|
||||||
|
#+begin_src elisp
|
||||||
|
(add-to-list 'load-path "~/.emacs.d/manual-packages/noise")
|
||||||
|
(require 'noise)
|
||||||
|
(noise-mode 1)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Usage
|
||||||
|
|
||||||
|
Once signal-cli is running and Noise is installed:
|
||||||
|
|
||||||
|
- =M-x noise-mode= — toggle the Noise client (opens the chat list)
|
||||||
|
- =M-x noise-check-connection= — test connectivity to signal-cli
|
||||||
|
|
||||||
|
*** Keybindings
|
||||||
|
|
||||||
|
**** Chat list (*signal* buffer)
|
||||||
|
|
||||||
|
| Key | Action |
|
||||||
|
|-------+---------------------------|
|
||||||
|
| =n= | Next chat |
|
||||||
|
| =p= | Previous chat |
|
||||||
|
| =RET= | Open selected chat |
|
||||||
|
| =m= | Mark chat as read |
|
||||||
|
| =g= | Refresh chat list |
|
||||||
|
| =/= | Filter chats |
|
||||||
|
| =q= | Quit chat list window |
|
||||||
|
| =C-x b= | Switch conversation (minibuffer) |
|
||||||
|
|
||||||
|
**** Minibuffer switcher
|
||||||
|
|
||||||
|
=M-x noise-switcher= (or =C-x b= from the chat list) opens a fuzzy
|
||||||
|
completion interface showing all conversations and contacts. Start
|
||||||
|
typing to narrow, then press =RET= to open the selected conversation.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user