subtree(users/wpcarro): docking briefcase at '24f5a642'
				
					
				
			git-subtree-dir: users/wpcarro git-subtree-mainline:464bbcb15cgit-subtree-split:24f5a642afChange-Id: I6105b3762b79126b3488359c95978cadb3efa789
This commit is contained in:
		
						commit
						019f8fd211
					
				
					 766 changed files with 175420 additions and 0 deletions
				
			
		
							
								
								
									
										65
									
								
								users/wpcarro/emacs/.emacs.d/wpc/ssh.el
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								users/wpcarro/emacs/.emacs.d/wpc/ssh.el
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,65 @@ | |||
| ;;; ssh.el --- When working remotely -*- lexical-binding: t -*- | ||||
| 
 | ||||
| ;; Author: William Carroll <wpcarro@gmail.com> | ||||
| ;; Version: 0.0.1 | ||||
| ;; URL: https://git.wpcarro.dev/wpcarro/briefcase | ||||
| ;; Package-Requires: ((emacs "24")) | ||||
| 
 | ||||
| ;;; Commentary: | ||||
| ;; Configuration to make remote work easier. | ||||
| 
 | ||||
| ;;; Code: | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| ;; Dependencies | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
| (require 'tramp) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| ;; Configuration | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
| ;; TODO: Is "ssh" preferable to "scp"? | ||||
| (setq tramp-default-method "ssh") | ||||
| 
 | ||||
| ;; Taken from: https://superuser.com/questions/179313/tramp-waiting-for-prompts-from-remote-shell | ||||
| (setq tramp-shell-prompt-pattern "^[^$>\n]*[#$%>] *\\(\[[0-9;]*[a-zA-Z] *\\)*") | ||||
| 
 | ||||
| ;; Sets the value of the TERM variable to "dumb" when logging into the remote | ||||
| ;; host. This allows me to check for the value of "dumb" in my shell's init file | ||||
| ;; and control the startup accordingly. You can see in the (shamefully large) | ||||
| ;; commit, 0b4ef0e, that I added a check like this to my ~/.zshrc. I've since | ||||
| ;; switched from z-shell to fish. I don't currently have this check in | ||||
| ;; config.fish, but I may need to add it one day soon. | ||||
| (setq tramp-terminal-type "dumb") | ||||
| 
 | ||||
| ;; Maximizes the tramp debugging noisiness while I'm still learning about tramp. | ||||
| (setq tramp-verbose 10) | ||||
| 
 | ||||
| ;; As confusing as this may seem, this forces Tramp to use *my* .ssh/config | ||||
| ;; options, which enable ControlMaster. In other words, disabling this actually | ||||
| ;; enables ControlMaster. | ||||
| (setq tramp-use-ssh-controlmaster-options nil) | ||||
| 
 | ||||
| (defcustom ssh-hosts '("desktop" "socrates") | ||||
|   "List of hosts to which I commonly connect. | ||||
| Note: It could be interesting to read these values from ~/.ssh-config, but | ||||
|   that's more than I need at the moment.") | ||||
| 
 | ||||
| (defun ssh-sudo-buffer () | ||||
|   "Open the current buffer with sudo rights." | ||||
|   (interactive) | ||||
|   (with-current-buffer (current-buffer) | ||||
|     (if (s-starts-with? "/ssh:" buffer-file-name) | ||||
|         (message "[ssh.el] calling ssh-sudo-buffer for remote files isn't currently supported") | ||||
|       (find-file (format "/sudo::%s" buffer-file-name))))) | ||||
| 
 | ||||
| (defun ssh-cd-home () | ||||
|   "Prompt for an SSH host and open a dired buffer for wpcarro on that machine." | ||||
|   (interactive) | ||||
|   (let ((machine (completing-read "Machine: " ssh-hosts))) | ||||
|     (find-file (format "/ssh:wpcarro@%s:~" machine)))) | ||||
| 
 | ||||
| (provide 'ssh) | ||||
| ;;; ssh.el ends here | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue