]> git.cworth.org Git - notmuch-wiki/commitdiff
example script to start emacs for remote notmuch use
authorTomi Ollila <tomi.ollila@iki.fi>
Wed, 26 Oct 2016 20:17:04 +0000 (23:17 +0300)
committerTomi Ollila <tomi.ollila@iki.fi>
Wed, 26 Oct 2016 20:17:04 +0000 (23:17 +0300)
remoteusage/124.mdwn

index 969e7be20a260c649f73341e09778ea12908b571..d7da3f78a249f3e3b98ca48ba0cd8be5efcd7866 100644 (file)
@@ -11,6 +11,9 @@ its own connection. As long as master ssh connection is live, slave
 can use it. Disconnecting master all future attempts to connect
 from the script will fail.
 
 can use it. Disconnecting master all future attempts to connect
 from the script will fail.
 
+It is possible to use this solution without any changes to
+`$HOME/.ssh/config`.
+
 At the end of this document there is information for some possible ways
 how master ssh connection can be done.
 
 At the end of this document there is information for some possible ways
 how master ssh connection can be done.
 
@@ -20,7 +23,8 @@ Write the following code to a file, for example `remote-notmuch.sh`.
 
        #!/bin/bash
 
 
        #!/bin/bash
 
-       set -eu
+       set -euf
+
        # To trace execution, uncomment next line:
        #exec 6>>remote-errors; BASH_XTRACEFD=6; echo -- >&6; set -x
 
        # To trace execution, uncomment next line:
        #exec 6>>remote-errors; BASH_XTRACEFD=6; echo -- >&6; set -x
 
@@ -156,6 +160,31 @@ wrapper.
 
 (*) general most likely being ~/.emacs
 
 
 (*) general most likely being ~/.emacs
 
+### Yet another possibility -- script to start emacs
+
+Instead of adding new configurations you could also write a special
+script which starts and configures emacs suitable for remote usage.
+Copy the following "template" to a new name e.g. in `$HOME/bin/`,
+edit the value for `master-USER@HOST3:22` and perhaps add more
+post eval-after-load notmuch configs there.
+
+    #!/bin/sh
+    :; exec "${EMACS:-emacs}" --debug-init --load "$0" "$@"; exit
+
+    (setenv "REMOTE_NOTMUCH_SSHCTRL_SOCK" "master-USER@HOST3:22")
+
+    (eval-after-load "notmuch"
+      (lambda ()
+        (setq notmuch-command (concat (file-name-directory load-file-name)
+                                      "remote-notmuch.sh"))
+        ;; place for more post-notmuch-load emacs configs if any
+        ))
+    (notmuch)
+
+    ;; Local Variables:
+    ;; mode: emacs-lisp
+    ;; End:
+
 ## Creating master connection
 
 **(Note: all the examples below use the default master socket written in**
 ## Creating master connection
 
 **(Note: all the examples below use the default master socket written in**