From e48b0cc84fb5ee0b5931ddf42b30b54e9348f4ac Mon Sep 17 00:00:00 2001 From: William Carroll Date: Fri, 15 Apr 2022 10:33:21 -0700 Subject: feat(wpcarro/emacs): Support calling sudo on a remote buffer While pattern-matching in Elisp is a bit unsightly, it works :) Change-Id: I6766147095823f1a4e233832b0ef21f4c486e023 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5452 Tested-by: BuildkiteCI Reviewed-by: wpcarro Autosubmit: wpcarro --- users/wpcarro/emacs/.emacs.d/wpc/ssh.el | 9 +++++++-- users/wpcarro/nixos/ava/hardware.nix | 11 +++++++---- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/users/wpcarro/emacs/.emacs.d/wpc/ssh.el b/users/wpcarro/emacs/.emacs.d/wpc/ssh.el index eb7debc492..1179e90363 100644 --- a/users/wpcarro/emacs/.emacs.d/wpc/ssh.el +++ b/users/wpcarro/emacs/.emacs.d/wpc/ssh.el @@ -41,7 +41,9 @@ ;; enables ControlMaster. (setq tramp-use-ssh-controlmaster-options nil) -(defcustom ssh-hosts '("wpcarro@wpcarro.dev") +(defcustom ssh-hosts '("wpcarro@wpcarro.dev" + "foundation" + "edge") "List of hosts to which I commonly connect.") (defun ssh-sudo-buffer () @@ -49,7 +51,10 @@ (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") + (pcase (s-split ":" buffer-file-name) + (`(,one ,two ,three) (find-file (format "/ssh:%s|sudo:%s:%s" two two three)))) + (find-file + (s-join ":" (-insert-at 2 "|sudo" (s-split ":" buffer-file-name)))) (find-file (format "/sudo::%s" buffer-file-name))))) (defun ssh-cd-home () diff --git a/users/wpcarro/nixos/ava/hardware.nix b/users/wpcarro/nixos/ava/hardware.nix index eb1fff3a84..9892bdc581 100644 --- a/users/wpcarro/nixos/ava/hardware.nix +++ b/users/wpcarro/nixos/ava/hardware.nix @@ -2,7 +2,8 @@ { imports = - [ (modulesPath + "/installer/scan/not-detected.nix") + [ + (modulesPath + "/installer/scan/not-detected.nix") ]; boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; @@ -11,16 +12,18 @@ boot.extraModulePackages = [ ]; fileSystems."/" = - { device = "/dev/disk/by-uuid/60d92789-c44e-4620-885d-1d81d0759f1d"; + { + device = "/dev/disk/by-uuid/60d92789-c44e-4620-885d-1d81d0759f1d"; fsType = "ext4"; }; fileSystems."/boot" = - { device = "/dev/disk/by-uuid/C62C-9B32"; + { + device = "/dev/disk/by-uuid/C62C-9B32"; fsType = "vfat"; }; - swapDevices = []; + swapDevices = [ ]; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; # high-resolution display -- cgit 1.4.1