diff options
Diffstat (limited to 'configs/shared/emacs/.emacs.d/wpc')
20 files changed, 159 insertions, 281 deletions
diff --git a/configs/shared/emacs/.emacs.d/wpc/functions.el b/configs/shared/emacs/.emacs.d/wpc/functions.el index d9c4a796053b..d8419ad77157 100644 --- a/configs/shared/emacs/.emacs.d/wpc/functions.el +++ b/configs/shared/emacs/.emacs.d/wpc/functions.el @@ -5,11 +5,7 @@ ;; This file hopefully contains friendly APIs that making ELisp development more enjoyable. ;;; Code: - -;; TODO: clean up this file so this isn't necessary -(setq evil-want-integration nil) (require 'evil) - (require 'projectile) (require 'paredit) (require 'term) diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-clojure.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-clojure.el index 611e9bf5efd3..1939d3ecedb1 100644 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-clojure.el +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-clojure.el @@ -32,25 +32,15 @@ (switch-to-buffer buffer-name) (funcall repl-function))))) -;; (defun wpc/evil-leader/set-key-for-clojure-modes (kbd callback) -;; (evil-leader/set-key-for-mode 'clojure-mode kbd callback) -;; (evil-leader/set-key-for-mode 'clojurec-mode kbd callback) -;; (evil-leader/set-key-for-mode 'clojurescript-mode kbd callback)) - -;; ;; clojure -;; (wpc/evil-leader/set-key-for-clojure-modes "d" #'cider-doc) -;; (wpc/evil-leader/set-key-for-clojure-modes "e" #'cider-eval-defun-at-point) -;; (wpc/evil-leader/set-key-for-clojure-modes "r" #'wpc/find-or-create-clojure-or-clojurescript-repl) - (use-package cider - :general - (cider-repl-mode-map - "C-l" 'cider-repl-clear-buffer - "C-u" 'kill-whole-line - "<up>" 'cider-repl-previous-input - "<down>" 'cider-repl-next-input - "C-c 'j" 'wpc/find-or-create-clojure-or-clojurescript-repl) :config + (general-define-key + :keymaps 'cider-repl-mode-map + "C-l" #'cider-repl-clear-buffer + "C-u" #'kill-whole-line + "<up>" #'cider-repl-previous-input + "<down>" #'cider-repl-next-input + "C-c 'j" #'wpc/find-or-create-clojure-or-clojurescript-repl) (setq cider-cljs-lein-repl "(do (require 'figwheel-sidecar.repl-api) (figwheel-sidecar.repl-api/start-figwheel!) diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-company.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-company.el index ec96bdf90b3e..e4507031a1e0 100644 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-company.el +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-company.el @@ -8,17 +8,17 @@ ;; autocompletion client (use-package company - :general - (company-active-map - "C-j" 'company-select-next - "C-n" 'company-select-next - "C-k" 'company-select-previous - "C-p" 'company-select-previous - "C-d" 'company-show-doc-buffer) :config + (general-define-key + :keymaps 'company-active-map + "C-j" #'company-select-next + "C-n" #'company-select-next + "C-k" #'company-select-previous + "C-p" #'company-select-previous + "C-d" #'company-show-doc-buffer) (setq company-idle-delay 0) (setq company-minimum-prefix-length 2) (global-company-mode)) (provide 'wpc-company) -;;; company.el ends here +;;; wpc-company.el ends here diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-dired.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-dired.el index 1c45ec35e2b4..6639ea530604 100644 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-dired.el +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-dired.el @@ -7,12 +7,16 @@ ;;; Code: (require 'dired) -(general-def 'dired-mode-map - "c" 'find-file - "f" 'wpc/find-file - "-" 'dired-up-directory) +(general-nmap + :keymaps 'dired-mode-map + "c" #'find-file + "f" #'wpc/find-file + "-" #'dired-up-directory) +(general-unbind + :keymaps 'dired-mode-map + "s") (general-add-hook 'dired-mode-hook (list (enable dired-hide-details-mode) #'auto-revert-mode)) (provide 'wpc-dired) -;;; dired.el ends here +;;; wpc-dired.el ends here diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-docker.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-docker.el index 586878fdeacd..270eaec6fe4c 100644 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-docker.el +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-docker.el @@ -12,7 +12,5 @@ (setenv "DOCKER_HOST" "tcp://10.11.12.13:2376") (setenv "DOCKER_MACHINE_NAME" "name")) -(use-package dockerfile-mode) - (provide 'wpc-docker) -;;; docker.el ends here +;;; wpc-docker.el ends here diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-elixir.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-elixir.el new file mode 100644 index 000000000000..fd3c178ebae8 --- /dev/null +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-elixir.el @@ -0,0 +1,15 @@ +;;; wpc-elixir.el --- Elixir / Erland configuration -*- lexical-binding: t -*- +;; Author: William Carroll <wpcarro@gmail.com> + +;;; Commentary: +;; My preferences for working with Elixir / Erlang projects + +;;; Code: +(use-package elixir-mode + :config + (general-add-hook 'elixir-mode-hook + (lambda () + (add-hook 'before-save-hook #'elixir-format nil t)))) + +(provide 'wpc-elixir) +;;; wpc-elixir.el ends here diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-flycheck.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-flycheck.el index 66314af9877c..d7bb834a6257 100644 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-flycheck.el +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-flycheck.el @@ -11,4 +11,4 @@ (global-flycheck-mode)) (provide 'wpc-flycheck) -;;; flycheck.el ends here +;;; wpc-flycheck.el ends here diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-git.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-git.el deleted file mode 100644 index 80dbedf7868d..000000000000 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-git.el +++ /dev/null @@ -1,14 +0,0 @@ -;;; git.el --- My version control preferences -*- lexical-binding: t -*- -;; Author: William Carroll <wpcarro@gmail.com> - -;;; Commentary: -;; Things related to git, magit, etc belong here - -;;; Code: - -(use-package git-timemachine) - -(use-package magit) - -(provide 'wpc-git) -;;; git.el ends here diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-graphql.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-graphql.el deleted file mode 100644 index ea19e130ce32..000000000000 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-graphql.el +++ /dev/null @@ -1,17 +0,0 @@ -;;; wpc-graphql.el --- Packages related to GraphQL -*- lexical-binding: t -*- -;; Author: William Carroll <wpcarro@gmail.com> - -;;; Commentary: -;; Hosts various packages and functions to make working with GraphQL more -;; enjoyable. - -;;; Code: - -(quelpa '(graphql.el - :fetcher github - :repo "vermiculus/graphql.el")) -(require 'graphql.el) - - -(provide 'wpc-graphql) -;;; wpc-graphql.el ends here diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-haskell.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-haskell.el index 8e5dccfeaa9d..6fc98b31e77f 100644 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-haskell.el +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-haskell.el @@ -27,7 +27,7 @@ (add-hook 'haskell-mode-hook #'flycheck-mode)) ;; Test toggling -(defun empire/haskell/module->test () +(defun haskell/module->test () "Jump from a module to a test." (let ((filename (->> buffer-file-name (s-replace "/src/" "/test/") @@ -36,7 +36,7 @@ (make-directory (f-dirname filename) t) (find-file filename))) -(defun empire/haskell/test->module () +(defun haskell/test->module () "Jump from a test to a module." (let ((filename (->> buffer-file-name (s-replace "/test/" "/src/") @@ -45,12 +45,12 @@ (make-directory (f-dirname filename) t) (find-file filename))) -(defun empire/haskell/test<->module () +(defun haskell/test<->module () "Toggle between test and module in Haskell." (interactive) (if (s-contains? "/src/" buffer-file-name) - (empire/haskell/module->test) - (empire/haskell/test->module))) + (haskell/module->test) + (haskell/test->module))) (provide 'wpc-haskell) ;;; wpc-haskell.el ends here diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-javascript.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-javascript.el index 717f1d9f9af3..db192736eebd 100644 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-javascript.el +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-javascript.el @@ -1,4 +1,4 @@ -;;; wpc-javascript.el --- My Javascript preferences -*- lexical-binding: t -*- +;; wpc-javascript.el --- My Javascript preferences -*- lexical-binding: t -*- ;; Author: William Carroll <wpcarro@gmail.com> ;;; Commentary: @@ -33,25 +33,24 @@ ;; (evil-leader/set-key-for-mode 'rjsx-mode "x" #'wpc/toggle-between-js-component-and-store) ;; (evil-leader/set-key-for-mode 'rjsx-mode "u" #'wpc/jump-to-parent-file) -;; javascript text objects -(quelpa '(evil-text-objects-javascript - :fetcher github - :repo "urbint/evil-text-objects-javascript")) -(require 'evil-text-objects-javascript) - ;; Flow for Javascript (use-package add-node-modules-path :config (general-add-hook wpc/js-hooks #'add-node-modules-path)) (use-package flow-minor-mode - :general - (n "gd" 'flow-minor-jump-to-definition) :requires evil-leader :config (general-add-hook wpc/js-hooks #'flow-minor-mode) (evil-leader/set-key-for-mode 'rjsx-mode "F" #'wpc/insert-flow-annotation)) +(use-package web-mode + :mode "\\.html\\'" + :config + (setq web-mode-css-indent-offset 2) + (setq web-mode-code-indent-offset 2) + (setq web-mode-markup-indent-offset 2)) + ;; Shouldn't need this once LSP is setup properly ;; (use-package company-flow ;; :after (company) @@ -70,13 +69,12 @@ ;; JSX highlighting (use-package rjsx-mode - :after (evil-text-objects-javascript) - :general - (general-unbind rjsx-mode-map "<" ">" "C-d") - (n rjsx-mode-map - "K" 'flow-minor-type-at-pos) :mode "\\.js\\'" :config + (general-unbind rjsx-mode-map "<" ">" "C-d") + (general-nmap + :keymaps 'rjsx-mode-map + "K" #'flow-minor-type-at-pos) (setq js2-mode-show-parse-errors nil js2-mode-show-strict-warnings nil)) diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-keybindings.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-keybindings.el index a20a803a433b..dee4dee128d4 100644 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-keybindings.el +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-keybindings.el @@ -3,45 +3,42 @@ ;;; Commentary: ;; This module hosts my Evil preferences +;; +;; Wish List: +;; - drop support for `evil-leader' library in favor of `general.el' +;; - restore support for concise (n <kbd> <function>) instead of `general-mmap' +;; - restore support for `general-unbind' ;;; Code: -(quelpa - '(general - :repo "noctuid/general.el" - :fetcher github)) -(general-evil-setup t) - -;; vim... (use-package evil - :general - (m - "RET" 'evil-goto-line - "H" 'evil-first-non-blank - "L" 'evil-end-of-line - "-" 'dired-jump - "sl" 'wpc/evil-window-vsplit-right - "sh" 'evil-window-vsplit - "sk" 'evil-window-split - "sj" 'wpc/evil-window-split-down - "sj" 'wpc/evil-window-split-down) - (n - "gd" 'xref-find-definitions) - (general-unbind m "M-." "C-p") - (general-unbind n "s" "M-.") - (general-unbind i "C-d" "C-a" "C-e" "C-n" "C-p" "C-k") - (evil-ex-map - "M-p" 'previous-complete-history-element - "M-n" 'next-complete-history-element) :init (setq evil-want-integration nil) + (general-evil-setup) :config + (general-mmap + :keymaps 'override + "RET" #'evil-goto-line + "H" #'evil-first-non-blank + "L" #'evil-end-of-line + "-" #'dired-jump + "sl" #'wpc/evil-window-vsplit-right + "sh" #'evil-window-vsplit + "sk" #'evil-window-split + "sj" #'wpc/evil-window-split-down + "sj" #'wpc/evil-window-split-down) + (general-nmap + :keymaps 'override + "gd" #'xref-find-definitions) + (general-unbind 'motion "M-." "C-p") + (general-unbind 'normal "s" "M-.") + (general-unbind 'insert "C-d" "C-a" "C-e" "C-n" "C-p" "C-k") (setq evil-symbol-word-search t) (evil-mode 1)) ;; evil keybindings (use-package evil-collection - :after evil + :after (evil) :config (evil-collection-init)) @@ -63,8 +60,6 @@ "n" #'flycheck-next-error "N" #'smerge-next "P" #'smerge-prev - "s" #'slack-send-code-snippet - "S" #'slack-select-unread-rooms "b" #'ivy-switch-buffer "gs" #'magit-status "es" #'wpc/create-snippet diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-lisp.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-lisp.el index c15c4526c2ee..cebe7b265761 100644 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-lisp.el +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-lisp.el @@ -3,6 +3,18 @@ ;;; Commentary: ;; This hosts things like Paredit settings +;; +;; Here is some of the thinking behind some of the keybindings: +;; +;; slurp s +;; barf S +;; forward ) +;; backward ( +;; +;; Known concession: s and S eclipse Vim bindings. There is a precedent already +;; for eclipsing the s binding for window splitting. Shift-s feel appropriate +;; for barfing, since eclisping the b KBD feels less acceptable than eclisping +;; the s KBD. ;;; Code: @@ -13,33 +25,24 @@ ;; Elisp (use-package elisp-slime-nav - :ghook - 'emacs-lisp-mode - 'ielm-mode) - -;; Here is some of the thinking behind some of the keybindings: -;; -;; slurp s -;; barf S -;; forward ) -;; backward ( -;; -;; Known concession: s and S eclipse Vim bindings. There is a precedent already -;; for eclipsing the s binding for window splitting. Shift-s feel appropriate -;; for barfing, since eclisping the b KBD feels less acceptable than eclisping -;; the s KBD. + :config + (general-add-hook 'emacs-lisp-mode #'ielm-mode)) ;; paredit LISP editing (use-package paredit - :general - (general-unbind paredit-mode-map "C-j" "M-q") - (n paredit-mode-map - "s)" 'paredit-forward-slurp-sexp - "s(" 'paredit-backward-slurp-sexp - "S)" 'paredit-forward-barf-sexp - "S(" 'paredit-backward-barf-sexp - "gr" 'paredit-raise-sexp) - :ghook (wpc/lisp-mode-hooks #'enable-paredit-mode)) + :config + (general-unbind + :keymaps 'paredit-mode-map + "C-j" + "M-q") + (general-nmap + :keymaps 'paredit-mode-map + "s)" #'paredit-forward-slurp-sexp + "s(" #'paredit-backward-slurp-sexp + "S)" #'paredit-forward-barf-sexp + "S(" #'paredit-backward-barf-sexp + "gr" #'paredit-raise-sexp) + (general-add-hook wpc/lisp-mode-hooks #'enable-paredit-mode)) (provide 'wpc-lisp) -;;; lisp.el ends here +;;; wpc-lisp.el ends here diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-misc.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-misc.el index aff2034645d8..ec0d723243ab 100644 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-misc.el +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-misc.el @@ -10,12 +10,22 @@ (setq custom-file "~/.emacs.d/custom.el") (load custom-file 'noerror) +;; integrate Emacs with X11 clipboard +(setq x-select-enable-primary t) +(setq x-select-enable-clipboard t) +(general-def 'insert + "s-v" #'x-clipboard-yank + "C-S-v" #'x-clipboard-yank) + ;; start emacs server so `emacsclient' can work (server-start) ;; transparently edit compressed files (auto-compression-mode t) +;; autowrap when over the fill-column +(auto-fill-mode 1) + ;; link to Emacs source code (setq find-function-C-source-directory "~/programming/emacs/src") @@ -34,14 +44,10 @@ ;; create file bookmarks (set-register ?e '(file . "~/.emacs.d/wpc/packages")) -(set-register ?n '(file . "~/programming/nixify/darwin-configuration.nix")) -(set-register ?u '(file . "~/urbint")) -(set-register ?d '(file . "~/dotfiles")) +(set-register ?n '(file . "~/programming/nixify/configuration.nix")) +(set-register ?d '(file . "~/programming/dotfiles")) (set-register ?s '(file . "~/.slate.js")) (set-register ?D '(file . "~/Dropbox")) -(set-register ?o '(file . "~/Dropbox/org/")) -(set-register ?c '(file . "~/Dropbox/org/chains.org")) -(set-register ?b '(file . "~/Dropbox/org/backlog.org")) (set-register ?p `(file . ,wpc/current-project)) ;; persist history etc b/w Emacs sessions @@ -101,12 +107,11 @@ (defvar url-callback-function ()) (defvar url-callback-arguments ())) -(use-package smex - :general - ("M-x" 'smex) - :ghook ('ido-setup-hook #'wpc/bind-ido-keys) - :config - (smex-initialize)) +; (use-package smex +; :config +; (general-define-key "M-x" #'smex) +; (general-add-hook 'ido-setup-hook #'wpc/bind-ido-keys) +; (smex-initialize)) (use-package flx-ido :after (smex) @@ -116,18 +121,18 @@ ido-use-faces nil)) (use-package swiper - :general - ("C-s" 'swiper - "C-r" 'swiper)) + :config + (general-define-key + "C-s" #'swiper + "C-r" #'swiper)) (use-package yasnippet :config (yas-global-mode 1)) (use-package ace-window - :general - ("C-x o" 'ace-window) :config + (general-define-key "C-x o" #'ace-window) (setq aw-keys '(?a ?s ?d ?f ?j ?k ?k ?\;))) (use-package projectile @@ -143,9 +148,6 @@ (counsel-git-grep) (counsel-git-grep nil maybe-symbol))))) -;; projectile intergration with ivy -(use-package counsel-projectile) - ;; search Google, Stackoverflow from within Emacs (use-package engine-mode :config @@ -156,11 +158,7 @@ "https://stackoverflow.com/search?q=%s" :keybinding "s")) -(use-package markdown-mode) -(use-package yaml-mode) - ;; Microsoft's Language Server Protocol (LSP) -(use-package lsp-mode) (use-package lsp-ui :config (add-hook 'lsp-mode-hook #'lsp-ui-mode)) diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-org.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-org.el index 28f1f9308dee..c2682be5c158 100644 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-org.el +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-org.el @@ -6,19 +6,7 @@ ;;; Code: -;; Griffin's org clubhouse integration -;;(load-file "~/.emacs.d/vendor/org-clubhouse.el") -;;(setq org-clubhouse-auth-token (wpc/read-file-as-string "~/dotfiles/configs/secrets/clubhouse_token.txt") -;; org-clubhouse-team-name "urbint") -;;(add-hook 'org-mode-hook #'org-clubhouse-mode) - (use-package org - :ghook (nil (disable linum-mode)) - :general - (:prefix "C-c" - "l" 'org-store-link - "a" 'org-agenda - "c" 'org-capture) :preface (defconst wpc-org-directory "~/Dropbox/org") @@ -29,6 +17,11 @@ (defun ub/org-file (file) (f-join ub-org-directory (f-swap-ext file "org"))) :config + ; (general-add-hook org-mode-hook (disable linum-mode)) + (general-define-key :prefix "C-c" + "l" #'org-store-link + "a" #'org-agenda + "c" #'org-capture) (setq org-default-notes-file (wpc/org-file "notes")) (setq org-log-done 'time) (setq org-agenda-files (list (wpc/org-file "work") @@ -39,7 +32,8 @@ (use-package org-bullets :after (org) - :ghook ('org-mode-hook (enable org-bullets-mode))) + :config + (general-add-hook 'org-mode-hook (enable org-bullets-mode))) (provide 'wpc-org) -;;; org.el ends here +;;; wpc-org.el ends here diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-package.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-package.el index 844ad83d5328..d45150e528c2 100644 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-package.el +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-package.el @@ -8,25 +8,14 @@ ;;; Code: (require 'package) -(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) -(add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/") t) (package-initialize) -(if (require 'quelpa nil t) - (quelpa-self-upgrade) - (with-temp-buffer - (url-insert-file-contents "https://raw.github.com/quelpa/quelpa/master/bootstrap.el") - (eval-buffer))) - +(require 'general) (require 'use-package) -(setq use-package-always-ensure t) -;; Remove this line once general integration with use-package calls -;; with-eval-after-load 'use-package-core instead of 'use-package -(use-package general) (add-to-list 'load-path "~/.emacs.d/vendor/") (add-to-list 'load-path "~/.emacs.d/wpc/") (add-to-list 'load-path "~/.emacs.d/wpc/packages") (provide 'wpc-package) -;;; package.el ends here +;;; wpc-package.el ends here diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-slack.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-slack.el deleted file mode 100644 index 912cd14572b4..000000000000 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-slack.el +++ /dev/null @@ -1,65 +0,0 @@ -;;; slack.el --- Slack settings -*- lexical-binding: t -*- -;; Author: William Carroll <wpcarro@gmail.com> - -;;; Commentary: -;; Wrangling the Slack client in Emacs - -;;; Code: - -;; Griffin's Slack plugin -;;(defconst slack/token (wpc/read-file-as-string "~/dotfiles/configs/secrets/slack_token.txt")) -;;(defconst wpc/slack-client-secret (wpc/read-file-as-string "~/dotfiles/configs/secrets/slack-client-secret")) -(defconst wpc/slack-client-secret "uncomment above line one day") -(load-file "~/.emacs.d/vendor/slack-snippets.el") - -;; Slack client -(use-package slack - :general - (n slack-info-mode-map - :prefix "," - "u" 'slack-room-update-messages) - (n slack-mode-map - :prefix "," - "c" 'slack-buffer-kill - "ra" 'slack-message-add-reaction - "rr" 'slack-message-remove-reaction - "rs" 'slack-message-show-reaction-users - "pl" 'slack-room-pins-list - "pa" 'slack-message-pins-add - "pr" 'slack-message-pins-remove - "mm" 'slack-message-write-another-buffer - "me" 'slack-message-edit - "md" 'slack-message-delete - "u" 'slack-room-update-messages - "2" 'slack-message-embed-mention - "3" 'slack-message-embed-channel) - (n slack-mode-map - "C-n" 'slack-buffer-goto-next-message - "C-p" 'slack-buffer-goto-prev-message) - (n slack-edit-message-mode-map - :prefix "," - "k" 'slack-message-cancel-edit - "s" 'slack-message-send-from-buffer - "2" 'slack-message-embed-mention - "3" 'slack-message-embed-channel) - :commands (slack-start) - :init - (setq slack-buffer-emojify t) ;; if you want to enable emoji, default nil - (setq slack-prefer-current-team t) - :config - (add-hook 'slack-mode-hook (disable company-mode)) - (setq slack-buffer-function #'switch-to-buffer) - (slack-register-team - :name "urbint" - :default t - :client-id "william@urbint.com" - :client-secret wpc/slack-client-secret - :token slack-token - :subscribed-channels '(dev dev_questions general random recruiting) - :full-and-display-names t)) - -(use-package circe) -(use-package emojify) - -(provide 'wpc-slack) -;;; wpc-slack.el ends here diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-terminal.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-terminal.el index 36a24bbb3c46..aa76fde6a16b 100644 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-terminal.el +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-terminal.el @@ -3,17 +3,20 @@ ;;; Commentary: ;; My attempts at creating a sane Emacs terminal +;; +;; This module previously contained more logic, which has since been stripped. +;; +;; If the variable `explicit-shell-file-name' is `nil', Emacs will use the value +;; for the $SHELL environment variable. When running on NixOS, since binaries +;; like `zsh' won't be available at `/bin/zsh' or other common places, we need +;; to ensure that `explicit-shell-file-name' remain `nil'. +;; +;; Wish List: +;; - prevent Emacs from asking: "Run program: /run/current-system/sw/bin/zsh" ;;; Code: (setq wpc/terminal-name "wpc/terminal") -;; 256 color support in term (instead of 8) -(use-package xterm-color) - -(use-package term - :config - (setq explicit-shell-file-name "/bin/zsh")) - (provide 'wpc-terminal) -;;; terminal.el ends here +;;; wpc-terminal.el ends here diff --git a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-ui.el b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-ui.el index 03899e61ba2b..96053a861916 100644 --- a/configs/shared/emacs/.emacs.d/wpc/packages/wpc-ui.el +++ b/configs/shared/emacs/.emacs.d/wpc/packages/wpc-ui.el @@ -10,7 +10,7 @@ (setq-default line-spacing 4) ;; change font -(add-to-list 'default-frame-alist '(font . "Operator Mono-10")) +(add-to-list 'default-frame-alist '(font . "Source Code Pro-10")) (defconst wpc/font-size-step 10 "The amount (%) by which to increase or decrease a font.") @@ -29,8 +29,8 @@ (+ (- wpc/font-size-step)) (set-face-attribute 'default (selected-frame) :height))) -(general-def "s-j" #'wpc/decrease-font) -(general-def "s-k" #'wpc/increase-font) +(general-define-key "s-j" #'wpc/decrease-font) +(general-define-key "s-k" #'wpc/increase-font) ;; smooth scrolling settings (setq scroll-step 1 @@ -88,7 +88,7 @@ (set-frame-parameter (selected-frame) 'alpha `(,alpha . ,alpha))) (setq frame-transparent? (not frame-transparent?))) -(general-def "s-u" #'wpc/toggle-transparency) +(general-define-key "s-u" #'wpc/toggle-transparency) ;; premium Emacs themes (use-package doom-themes @@ -159,14 +159,5 @@ :config (setq alert-default-style 'notifier)) -;; focus mode -(quelpa '(zen-mode - :fetcher github - :repo "aki237/zen-mode")) -(require 'zen-mode) - -;; focus mode -(use-package writeroom-mode) - (provide 'wpc-ui) -;;; ui.el ends here +;;; wpc-ui.el ends here diff --git a/configs/shared/emacs/.emacs.d/wpc/variables.el b/configs/shared/emacs/.emacs.d/wpc/variables.el index 1a7a0ef742d1..4b0487c217e1 100644 --- a/configs/shared/emacs/.emacs.d/wpc/variables.el +++ b/configs/shared/emacs/.emacs.d/wpc/variables.el @@ -7,7 +7,7 @@ ;;; Code: (defconst wpc/current-project - "~/" + "~/programming/website" "Variable holding the directory for my currently active project.") (defvar wpc/mouse-kbds |