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