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…
Reference in a new issue