;;; server.el --- Set up network stuff.. -*- lexical-binding: t; -*- ;;; Commentary: ;;; Code: (require 'basics/package-management) (use-package tramp :straight (:type built-in) :defer 2 :custom ((tramp-use-ssh-controlmaster-options nil "Don't override SSH config.") (tramp-default-method "ssh" "Faster than scp and supports ports.") (tramp-password-prompt-regexp (concat "^.*" (regexp-opt '("passphrase" "Passphrase" "password" "Password" "Verification code") t) ".*:\0? *") "Add verification code support.") (tramp-connection-timeout 20) (tramp-auto-save-directory (concat user-emacs-directory "backups/") "Auto-save locally.")) :config (progn (add-to-list 'tramp-remote-path 'tramp-own-remote-path) ; Respect remote PATH. (setq tramp-use-ssh-controlmaster-options nil))) ; TEST: :custom didn't get applied. ;; Run server on TCP socket if: ;; - Our EUID is not 0, ;; - We are not logged in via SSH, ;; - It is not already running. (use-package server :straight (:type built-in) :if (not (or (equal (user-real-uid) 0) (getenv "SSH_CONNECTION"))) :functions (server-running-p) :init (setq server-socket-dir (concat user-emacs-directory "server")) :config (unless (eq (server-running-p) t) (server-start))) ;; Server for Firefox-extension that allows to use Emacs to edit textareas. ;; https://addons.mozilla.org/en-US/firefox/addon/ghosttext/ (use-package atomic-chrome :defer 2 :if (or (executable-find "firefox") (executable-find "firefox-bin")) :config (atomic-chrome-start-server) ;; “url” is actually the hostname. :custom ((atomic-chrome-url-major-mode-alist '(("^likeable\\.space$" . markdown-mode) ("^schlomp\\.space$" . gfm-mode) ("^wiki\\.gentoo\\.org$" . mediawiki-mode) ("^github\\.com$" . gfm-mode) ("^gitlab\\.com$" . gfm-mode) ("^gitlab\\.gnome\\.org$" . gfm-mode) ("^openlibrary\\.org$" . markdown-mode) ("^bookwyrm\\.social$" . markdown-mode))) (atomic-chrome-buffer-open-style 'frame)) :hook (atomic-chrome-edit-mode . (lambda () (set-fill-column 400)))) ;; Read SSH/GPG agent environment variables from file. (use-package keychain-environment :commands (keychain-refresh-environment)) (provide 'net/server) ;;; server.el ends here