Move move .emacs.d out of configs/shared
Moving all of my Emacs-related files into their own directory at the root of this repository.
This commit is contained in:
		
							parent
							
								
									3684adf23f
								
							
						
					
					
						commit
						578ed1ba98
					
				
					 190 changed files with 41 additions and 302 deletions
				
			
		|  | @ -1,27 +0,0 @@ | ||||||
| ;; -*- emacs-lisp -*- <19/12/10 12:42:49 /home/wpcarro/.emacs.d/tramp> |  | ||||||
| ;; Tramp connection history.  Don't change this file. |  | ||||||
| ;; You can delete it, forcing Tramp to reapply the checks. |  | ||||||
| 
 |  | ||||||
| (((tramp-file-name "ssh" "wpcarro" nil "desktop" nil nil nil) |  | ||||||
|   ("uname" "Linux 5.2.17-1rodete3-amd64") |  | ||||||
|   ("locale" "LC_ALL=en_US.utf8") |  | ||||||
|   ("test" "test") |  | ||||||
|   ("remote-path" |  | ||||||
|    ("/bin" "/usr/bin" "/sbin" "/usr/sbin" "/usr/local/bin" "/usr/local/sbin")) |  | ||||||
|   ("remote-shell" "/bin/sh") |  | ||||||
|   ("file-exists" "test -e") |  | ||||||
|   ("case-insensitive" nil) |  | ||||||
|   ("ls" "/bin/ls --color=never") |  | ||||||
|   ("ls-quoting-style" t) |  | ||||||
|   ("ls-dired" t) |  | ||||||
|   ("stat" "env QUOTING_STYLE=locale \\stat") |  | ||||||
|   ("id" "/bin/id") |  | ||||||
|   ("gid-integer" 89939) |  | ||||||
|   ("readlink" "\\readlink") |  | ||||||
|   ("gid-string" "primarygroup") |  | ||||||
|   ("perl-file-spec" t) |  | ||||||
|   ("perl-cwd-realpath" t) |  | ||||||
|   ("perl" "\\perl") |  | ||||||
|   ("bzr" nil) |  | ||||||
|   ("git" "\\git") |  | ||||||
|   ("hg" "\\hg"))) |  | ||||||
|  | @ -1,215 +0,0 @@ | ||||||
| ;;; google-stuff.el --- Working with Google infrastructure from Emacs -*- lexical-binding: t -*- |  | ||||||
| ;; Author: William Carroll <wpcarro@gmail.com> |  | ||||||
| 
 |  | ||||||
| ;;; Commentary: |  | ||||||
| 
 |  | ||||||
| ;; First, I must opine.  Feel free to skip this section.  In general, it seems |  | ||||||
| ;; that the typical programmer's workflow suffer from what economists call |  | ||||||
| ;; "inelastic demand".  This means that any increase in the price of something |  | ||||||
| ;; plummets the demand.  Another way of saying this is that programmers are |  | ||||||
| ;; "price sensitive" when it comes to adopting new workflows. |  | ||||||
| ;; |  | ||||||
| ;; For us, any deviation from our "established" workflow feels costly.  This |  | ||||||
| ;; makes sense to me because programming is already mentally taxing, so any |  | ||||||
| ;; additional taxation can sometimes feel unbearable.  Until programming changes |  | ||||||
| ;; dramatically and we relieve our dependence on files and text for modeling |  | ||||||
| ;; complex applications, this price sensitivity will most likely remain the |  | ||||||
| ;; status quo.  Therefore, it's critical to reduce the price of experimenting |  | ||||||
| ;; with new tools such that new, superior workflows may emerge.  In this vain, |  | ||||||
| ;; this module attempts to surface "luxury tools" (i.e. dependency pruners, code |  | ||||||
| ;; linters, code formatters) via Emacs to reduce the price of experimenting with |  | ||||||
| ;; them. |  | ||||||
| 
 |  | ||||||
| ;;; Code: |  | ||||||
| 
 |  | ||||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |  | ||||||
| ;; Dependencies |  | ||||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |  | ||||||
| 
 |  | ||||||
| (require 'f) |  | ||||||
| (require 'ivy-helpers) |  | ||||||
| (require 'maybe) |  | ||||||
| (require 'device) |  | ||||||
| (require 'macros) |  | ||||||
| (require 'general) |  | ||||||
| 
 |  | ||||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |  | ||||||
| ;; Library |  | ||||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |  | ||||||
| 
 |  | ||||||
| ;; TODO: Ensure a consistent and deliberate usage of `defvar', `defconst', and |  | ||||||
| ;; `defcustom' across all Elisp modules. |  | ||||||
| (defcustom google-stuff/install-kbds? t |  | ||||||
|   "When t, install the keybindings defined herein.") |  | ||||||
| 
 |  | ||||||
| ;; Definitions as explained by the highly knowledgeable Matthew (i.e. mjo@) |  | ||||||
| (defconst google-stuff/definitions |  | ||||||
|   '( |  | ||||||
|     ;; command-line tools |  | ||||||
|     ("gcert"  . "Requests a CorpSSH certificate.") |  | ||||||
|     ("glogin" . "SSO (i.e. Single Sign-On) cookie.") |  | ||||||
|     ("googlenetworkaccess" . "Device certificate that gives users a certificate |  | ||||||
| to access to the Google corp network.") |  | ||||||
|     ("prodaccess" . "Sets up a LOAS session on Goobuntu.") |  | ||||||
|     ;; general wtfs |  | ||||||
|     ("LOAS" . "Distributed authentication service used by jobs in production and |  | ||||||
| corp to authenticate each other. It's more efficient than SSL and works with |  | ||||||
| Stubby.") |  | ||||||
|     )) |  | ||||||
| 
 |  | ||||||
| (defconst google-stuff/tools |  | ||||||
|   '(("Depana" . "depana") |  | ||||||
|     ("Build cleaner" . "build_cleaner") |  | ||||||
|     ("Java formatter" . "google-java-format") |  | ||||||
|     ("Proto formatter" . "clang-format")) |  | ||||||
|   "Mapping of names of tools to the names of the executables that run them.") |  | ||||||
| 
 |  | ||||||
| (use-package protobuf-mode |  | ||||||
|   :config |  | ||||||
|   (macros/support-file-extension "pb" protobuf-mode)) |  | ||||||
| 
 |  | ||||||
| ;; TODO: Straighten out fig, citc, google3 and have modules for each. |  | ||||||
| 
 |  | ||||||
| ;; TODO: Move this to a google3.el module. |  | ||||||
| (defconst google-stuff/root |  | ||||||
|   "/google/src/cloud/wpcarro" |  | ||||||
|   "The root directory to access google3.") |  | ||||||
| 
 |  | ||||||
| ;; TODO: Find a fast way to generate this. |  | ||||||
| (defconst google-stuff/citc-clients |  | ||||||
|   '("auto-consult" |  | ||||||
|     "ac-skeleton") |  | ||||||
|   "A list of my active CitC clients.") |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ;; TODO: Can this be sourced from ~/.g4d? |  | ||||||
| (defconst google-stuff/citc-aliases |  | ||||||
|   '(("google3" . "/google3") |  | ||||||
|     ("escalations" . "/google3/corp/gtech/pto/tda/beacons_extension") |  | ||||||
|     ("spewall_fe" . "/google3/alkali/apps/speakeasydashboard") |  | ||||||
|     ("spewall_be" . "/google3/java/com/google/alkali/applications/speakeasydashboard") |  | ||||||
|     ("spewall_protos" . "/google3/google/internal/alkali/applications/speakeasydashboard") |  | ||||||
|     ("spewall_tests" . "/google3/javatests/com/google/alkali/applications/speakeasydashboard") |  | ||||||
|     ("gti" . "/google3/experimental/engedu/gti/projects/week20190422/mtv/Team10") |  | ||||||
|     ("authwf" . "/google3/customer_support/automation/workflow") |  | ||||||
|     ("redwood" . "/google3/customer_support/kms/redwood/ui") |  | ||||||
|     ("wf-fe" . "/google3/customer_support/kms/redwood/ui/client/components/item/workflow_editor") |  | ||||||
|     ("ac (alkali)" . "/google3/google/internal/alkali/applications/casesconsultservice") |  | ||||||
|     ("ac-server" . "/google3/java/com/google/alkali/applications/casesconsultservice/server/") |  | ||||||
|     ("ac-server (tests)" . "/google3/javatests/com/google/alkali/applications/casesconsultservice/server/")) |  | ||||||
|   "Mapping of a label to commonly visited locations in Google3.") |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| (defvar google-stuff/active-citc-client nil |  | ||||||
|   "Currently active CitC client.") |  | ||||||
| 
 |  | ||||||
| (defun google-stuff/depot-prefix () |  | ||||||
|   "Return the current prefix for //depot/google3." |  | ||||||
|   (string/format "/google/src/cloud/wpcarro/%s/google3/" |  | ||||||
|                  google-stuff/active-citc-client)) |  | ||||||
| 
 |  | ||||||
| (defun google-stuff/cs-url () |  | ||||||
|   "Return the code-search URL for the current buffer and line number." |  | ||||||
|   (string/format "cs.corp.google.com/piper///depot/google3/%s?l=%s" |  | ||||||
|                  (s-chop-prefix |  | ||||||
|                   (google-stuff/depot-prefix) |  | ||||||
|                   (buffer-file-name)) |  | ||||||
|                  (line-number-at-pos))) |  | ||||||
| 
 |  | ||||||
| (defun google-stuff/copy-cs-url () |  | ||||||
|   "Copy the current file and line-position to the system clipboard." |  | ||||||
|   (interactive) |  | ||||||
|   (clipboard/copy (google-stuff/cs-url))) |  | ||||||
| 
 |  | ||||||
| (defun google-stuff/open-buffer-in-cs () |  | ||||||
|   "Open the current file in Google's CodeSearch." |  | ||||||
|   (interactive) |  | ||||||
|   (shell-command |  | ||||||
|    (string/format "google-chrome '%s'" |  | ||||||
|                   (google-stuff/cs-url) |  | ||||||
|                   (line-number-at-pos)))) |  | ||||||
| 
 |  | ||||||
| ;; TODO: As a naming convention, should I prefer ivy or select? Or counsel? |  | ||||||
| (defun google-stuff/select-citc-client () |  | ||||||
|   "Set `google-stuff/active-citc-client' with counsel." |  | ||||||
|   (interactive) |  | ||||||
|   (setq google-stuff/active-citc-client |  | ||||||
|         (ivy-read "CitC Client: " google-stuff/citc-clients))) |  | ||||||
| 
 |  | ||||||
| (defun google-stuff/remote-buffer? () |  | ||||||
|   "Return t if buffer is one accessed via Tramp." |  | ||||||
|   (with-current-buffer (current-buffer) |  | ||||||
|     (if (file-remote-p default-directory) |  | ||||||
|         t |  | ||||||
|       nil))) |  | ||||||
| 
 |  | ||||||
| (defun google-stuff/jump-to-citc-alias () |  | ||||||
|   "Use `find-file' to open an alias registered in `google-stuff/citc-aliases'. |  | ||||||
| When on a corporate laptop, remote connections are made using Tramp." |  | ||||||
|   (interactive) |  | ||||||
|   (when (maybe/nil? google-stuff/active-citc-client) |  | ||||||
|     (call-interactively #'google-stuff/select-citc-client)) |  | ||||||
|   (ivy-helpers/kv |  | ||||||
|    "Jump to CitC Alias: " |  | ||||||
|    google-stuff/citc-aliases |  | ||||||
|    (lambda (k v) |  | ||||||
|      (->> v |  | ||||||
|           ;; If I don't remove the leading slash, `f-join' won't return a valid |  | ||||||
|           ;; path. |  | ||||||
|           (s-chop-prefix "/") |  | ||||||
|           (f-join google-stuff/root |  | ||||||
|                   google-stuff/active-citc-client) |  | ||||||
|           (s-prepend (if (device/work-laptop?) "/ssh:wpcarro@desktop:" "")) |  | ||||||
|           find-file)))) |  | ||||||
| 
 |  | ||||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |  | ||||||
| ;; Stuff I learned reading go/emacs |  | ||||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |  | ||||||
| 
 |  | ||||||
| ;; Fig |  | ||||||
| ;; TODO: Make sure there are Evil-compatible KBDs for `fig-status'. |  | ||||||
| ;; (require 'google-fig) |  | ||||||
| 
 |  | ||||||
| ;; This allows `find-file' handle "//depot/google3/devtools/editors/". |  | ||||||
| (require 'p4-files) |  | ||||||
| (p4-enable-file-name-handler) |  | ||||||
| 
 |  | ||||||
| ;; Blaze Support |  | ||||||
| ;; - `google3-compile-current-file' is an excellent command! |  | ||||||
| 
 |  | ||||||
| ;; google3-eglot (uses CiderLSP) |  | ||||||
| ;; TODO: Make sure the functionality is supported as advertised: |  | ||||||
| ;; - auto-completion |  | ||||||
| ;; - eglot-help-at-point for documentation. |  | ||||||
| ;; - goto-definition |  | ||||||
| ;; - `eglot-code-actions' fixits |  | ||||||
| ;; - `eglot-rename' refactoring |  | ||||||
| (require 'google3-eglot) |  | ||||||
| (google3-eglot-setup) |  | ||||||
| 
 |  | ||||||
| ;; CodeSearch |  | ||||||
| ;; TODO: Debug why this depends on google-piper and why I don't have that on my |  | ||||||
| ;; desktop. |  | ||||||
| ;; (require 'ivy-cs) |  | ||||||
| 
 |  | ||||||
| ;; Auto completion |  | ||||||
| ;; TODO: Is the part of or separate from google3-eglot?  Because google3-eglot |  | ||||||
| ;; advertises auto-completion support. |  | ||||||
| (require 'google3-build-capf) |  | ||||||
| (google3-build-capf-enable-completions) |  | ||||||
| (add-to-list 'company-backends #'company-capf) |  | ||||||
| 
 |  | ||||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |  | ||||||
| ;; Keybindings |  | ||||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |  | ||||||
| 
 |  | ||||||
| (when google-stuff/install-kbds? |  | ||||||
|   (general-define-key |  | ||||||
|    :prefix "<SPC>" |  | ||||||
|    :states '(normal) |  | ||||||
|    "Gs" #'fig-status |  | ||||||
|    "Cs" #'google-stuff/open-buffer-in-cs |  | ||||||
|    "jc" #'google-stuff/jump-to-citc-alias)) |  | ||||||
| 
 |  | ||||||
| (provide 'google-stuff) |  | ||||||
| ;;; google-stuff.el ends here |  | ||||||
|  | @ -1,26 +0,0 @@ | ||||||
| ;;; sre.el --- Site Reliability Engineering stuffs -*- lexical-binding: t -*- |  | ||||||
| ;; Author: William Carroll <wpcarro@gmail.com> |  | ||||||
| 
 |  | ||||||
| ;;; Commentary: |  | ||||||
| ;; Storing some data that might be helpful in my ladder switch attempt. |  | ||||||
| 
 |  | ||||||
| ;;; Code: |  | ||||||
| 
 |  | ||||||
| (defvar sre/introduction-email |  | ||||||
|   "Hello! |  | ||||||
| 
 |  | ||||||
| My name is William Carroll. I'm currently attempting a ladder switch. I have my |  | ||||||
| manager's approval to look for a new role because we believe I have been hired |  | ||||||
| for the wrong position. |  | ||||||
| 
 |  | ||||||
| I'm eager to move ahead if there are any SRE openings in LON that fit my |  | ||||||
| profile. I'm happy to share more information with you about my background and |  | ||||||
| what I'm looking for. I've been attending the SRE Ops Review meetings in 6PS |  | ||||||
| weekly for awhile now, so we should be in the same office every Tuesday if |  | ||||||
| meeting in person is easier for you. |  | ||||||
| 
 |  | ||||||
| Let me know!" |  | ||||||
|   "Boilerplate email for reaching out to SRE hiring managers.") |  | ||||||
| 
 |  | ||||||
| (provide 'sre) |  | ||||||
| ;;; sre.el ends here |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| (require 'wpc-package "~/.emacs.d/wpc/packages/wpc-package.el") | (require 'wpc-package) | ||||||
| 
 | 
 | ||||||
| ;; load order is intentional | ;; load order is intentional | ||||||
| (require 'constants) | (require 'constants) | ||||||
|  | @ -28,8 +28,10 @@ | ||||||
| ;; TODO: Consider renaming entr.el. | ;; TODO: Consider renaming entr.el. | ||||||
| (require 'entr) | (require 'entr) | ||||||
| (require 'scrot) | (require 'scrot) | ||||||
|  | 
 | ||||||
| ;; TODO: Remove path once published to MELPA. | ;; TODO: Remove path once published to MELPA. | ||||||
| (require 'egg-timer "~/programming/egg-timer.el/egg-timer.el") | ;; TODO: How can I package this using Nix? | ||||||
|  | ;; (require 'egg-timer "~/programming/egg-timer.el/egg-timer.el") | ||||||
| 
 | 
 | ||||||
| ;; TODO: Reconcile kbd.el, keybindings.el, wpc-keybindings.el, keyboard.el. | ;; TODO: Reconcile kbd.el, keybindings.el, wpc-keybindings.el, keyboard.el. | ||||||
| (require 'keybindings) | (require 'keybindings) | ||||||
Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue