2019-01-10 10:19:27 -05:00
|
|
|
;;; ~/.config/doom/config.el -*- lexical-binding: t; -*-
|
|
|
|
|
|
|
|
|
|
;; (defvar xdg-data (getenv "XDG_DATA_HOME"))
|
|
|
|
|
;; (defvar xdg-bin (getenv "XDG_BIN_HOME"))
|
|
|
|
|
;; (defvar xdg-cache (getenv "XDG_CACHE_HOME"))
|
|
|
|
|
;; (defvar xdg-config (getenv "XDG_CONFIG_HOME"))
|
|
|
|
|
|
|
|
|
|
(add-to-list 'default-frame-alist '(inhibit-double-buffering . t))
|
|
|
|
|
|
2019-03-11 16:01:30 -04:00
|
|
|
(setq user-full-name "Colin Powell"
|
2019-05-28 21:08:33 -04:00
|
|
|
user-mail-address "colin@onec.me")
|
2019-03-11 16:01:30 -04:00
|
|
|
|
2019-11-07 12:20:36 -05:00
|
|
|
(setq doom-theme 'doom-peacock)
|
2019-10-28 20:36:33 -04:00
|
|
|
|
2019-05-28 21:08:33 -04:00
|
|
|
;; Fonts
|
2019-11-18 09:07:26 -05:00
|
|
|
(setq doom-font (font-spec :family "Go Mono" :size 14))
|
|
|
|
|
(setq doom-big-font (font-spec :family "Go Mono" :size 21))
|
2019-03-11 16:01:30 -04:00
|
|
|
|
2019-11-07 12:20:36 -05:00
|
|
|
(set-frame-parameter nil 'internal-border-width 10)
|
2019-03-11 16:01:30 -04:00
|
|
|
|
|
|
|
|
;;
|
|
|
|
|
;; Keybinds
|
|
|
|
|
|
2019-04-20 16:13:29 -04:00
|
|
|
;;:m "M-j" '+hlissner:multi-next-line
|
|
|
|
|
;;:m "M-k" '+hlissner:multi-previous-line
|
|
|
|
|
(map! ;; Easier window movement
|
2019-03-11 16:01:30 -04:00
|
|
|
:n "C-h" 'evil-window-left
|
|
|
|
|
:n "C-j" 'evil-window-down
|
|
|
|
|
:n "C-k" 'evil-window-up
|
|
|
|
|
:n "C-l" 'evil-window-right
|
|
|
|
|
|
|
|
|
|
(:map evil-treemacs-state-map
|
|
|
|
|
"C-h" 'evil-window-left
|
|
|
|
|
"C-l" 'evil-window-right)
|
|
|
|
|
|
|
|
|
|
(:when IS-LINUX
|
|
|
|
|
"s-x" #'execute-extended-command
|
|
|
|
|
"s-;" #'eval-expression
|
|
|
|
|
;; use super for window/frame navigation/manipulation
|
|
|
|
|
"s-w" #'delete-window
|
|
|
|
|
"s-W" #'delete-frame
|
|
|
|
|
"s-n" #'+default/new-buffer
|
2019-04-29 08:13:19 -04:00
|
|
|
"s-j" #'org-move-subtree-down
|
|
|
|
|
"s-k" #'org-move-subtree-up
|
2019-03-11 16:01:30 -04:00
|
|
|
"s-N" #'make-frame
|
|
|
|
|
"s-q" (if (daemonp) #'delete-frame #'evil-quit-all)
|
|
|
|
|
;; Restore OS undo, save, copy, & paste keys (without cua-mode, because
|
|
|
|
|
;; it imposes some other functionality and overhead we don't need)
|
|
|
|
|
"s-z" #'undo
|
|
|
|
|
"s-c" (if (featurep 'evil) #'evil-yank #'copy-region-as-kill)
|
|
|
|
|
"s-v" #'yank
|
|
|
|
|
"s-s" #'save-buffer
|
|
|
|
|
;; Buffer-local font scaling
|
|
|
|
|
"s-+" (λ! (text-scale-set 0))
|
|
|
|
|
"s-=" #'text-scale-increase
|
|
|
|
|
"s--" #'text-scale-decrease
|
|
|
|
|
;; Conventional text-editing keys
|
|
|
|
|
"s-a" #'mark-whole-buffer
|
|
|
|
|
:gi [s-return] #'+default/newline-below
|
|
|
|
|
:gi [s-S-return] #'+default/newline-above
|
|
|
|
|
:gi [s-backspace] #'doom/backward-kill-to-bol-and-indent)
|
|
|
|
|
|
|
|
|
|
:leader
|
|
|
|
|
(:prefix "f"
|
|
|
|
|
:desc "Find file in dotfiles" "t" #'+hlissner/find-in-dotfiles
|
|
|
|
|
:desc "Browse dotfiles" "T" #'+hlissner/browse-dotfiles)
|
|
|
|
|
(:prefix "t"
|
2019-04-04 13:35:39 -04:00
|
|
|
:desc "Switch themes" "t" #'load-theme)
|
2019-03-11 16:01:30 -04:00
|
|
|
(:prefix "o"
|
2019-07-30 11:04:47 -04:00
|
|
|
:desc "Elfeed feed reader" "f" #'elfeed
|
2019-12-02 14:33:35 -05:00
|
|
|
:desc "Hckrnews" "h" #'hackernews
|
2019-11-12 12:00:00 -05:00
|
|
|
:desc "Lobste.rs" "l" #'ivy-lobsters)
|
2019-07-06 14:34:24 -04:00
|
|
|
(:prefix "b"
|
2019-08-01 15:05:10 -04:00
|
|
|
:desc "Black format buffer" "f" #'blacken-buffer
|
2019-11-26 17:25:27 -05:00
|
|
|
:desc "isort buffer" "I" #'py-isort-buffer
|
2019-09-26 16:57:44 -04:00
|
|
|
:desc "Links in buffer" "l" #'ace-link-org)
|
2019-11-26 17:25:27 -05:00
|
|
|
(:prefix "s"
|
2019-11-01 22:53:50 -04:00
|
|
|
:desc "Search project TODOs" "t" #'+ivy/tasks
|
2019-08-01 10:44:45 -04:00
|
|
|
:desc "Search the web" "w" #'web-search
|
2019-11-27 10:34:22 -05:00
|
|
|
:desc "Goto URL in eww" "u" #'eww-browse-url
|
|
|
|
|
:desc "Search in eww" "3" #'eww-search-words
|
2019-11-26 17:25:27 -05:00
|
|
|
:desc "Search all the things" "g" #'deadgrep))
|
2019-01-10 10:19:27 -05:00
|
|
|
|
2019-03-19 12:46:34 -04:00
|
|
|
;; app/search
|
|
|
|
|
(after! web-search
|
2019-04-20 16:13:29 -04:00
|
|
|
(push '("Searx" "http://search.unbl.ink/?q=%s")
|
2019-03-19 12:46:34 -04:00
|
|
|
web-search-providers)
|
|
|
|
|
(setq web-search-default-provider "Searx"))
|
|
|
|
|
|
2019-07-23 08:19:35 -04:00
|
|
|
(def-package! org-alert
|
|
|
|
|
:commands (org-alert-enable))
|
2019-07-22 08:21:50 -04:00
|
|
|
|
2019-07-23 08:19:35 -04:00
|
|
|
(after! org-alert-mode
|
2019-07-22 08:21:50 -04:00
|
|
|
(setq alert-default-style 'libnotify))
|
|
|
|
|
|
2019-03-11 16:01:30 -04:00
|
|
|
;;
|
|
|
|
|
;; Modules
|
|
|
|
|
|
|
|
|
|
(setq +workspaces-switch-project-function #'ignore
|
|
|
|
|
+format-on-save-enabled-modes '(python-mode)
|
|
|
|
|
+pretty-code-enabled-modes '(emacs-lisp-mode org-mode))
|
|
|
|
|
|
2019-04-29 08:13:19 -04:00
|
|
|
;; app/mpdel
|
|
|
|
|
;;
|
|
|
|
|
(setq libmpdel-hostname "play.unbl.ink")
|
|
|
|
|
|
2019-03-11 16:01:30 -04:00
|
|
|
;; app/rss
|
2019-05-16 00:44:51 -04:00
|
|
|
(add-hook! 'elfeed-show-mode-hook (text-scale-set 1.5))
|
2019-07-19 07:33:01 -04:00
|
|
|
|
|
|
|
|
(setq rmh-elfeed-org-files (list "~/org/elfeed.org")
|
|
|
|
|
elfeed-search-filter "@1-week-ago +unread ")
|
2019-03-11 16:01:30 -04:00
|
|
|
|
2019-07-30 11:04:47 -04:00
|
|
|
(add-hook 'prog-mode-hook #'goto-address-mode) ;; Linkify links!
|
|
|
|
|
|
|
|
|
|
;; tools/deft
|
|
|
|
|
(setq deft-extensions '("org"))
|
|
|
|
|
(setq deft-directory "~/org")
|
|
|
|
|
|
2019-01-10 10:19:27 -05:00
|
|
|
;; tools/magit
|
2019-03-11 16:01:30 -04:00
|
|
|
(setq magit-repository-directories '(("~/work" . 2))
|
2019-03-15 17:13:34 -04:00
|
|
|
magit-save-repository-buffers nil)
|
2019-01-10 10:19:27 -05:00
|
|
|
|
2019-03-15 17:13:34 -04:00
|
|
|
|
2019-10-18 10:04:21 -04:00
|
|
|
;;; It is the opposite of fill-paragraph
|
|
|
|
|
(defun unfill-paragraph ()
|
|
|
|
|
"Takes a multi-line paragraph and makes it into a single line of text."
|
|
|
|
|
(interactive)
|
|
|
|
|
(let ((fill-column (point-max)))
|
|
|
|
|
(fill-paragraph nil)))
|
|
|
|
|
;; Handy key definition
|
|
|
|
|
(define-key global-map "\M-z" 'unfill-paragraph)
|
|
|
|
|
|
2019-11-26 13:33:19 -05:00
|
|
|
; add a v
|
2019-10-18 10:04:21 -04:00
|
|
|
(nyan-mode)
|
2019-07-19 07:33:01 -04:00
|
|
|
(add-to-list 'auto-mode-alist '("\\.plantuml\\'" . planetuml-mode))
|
2019-05-28 21:08:33 -04:00
|
|
|
|
|
|
|
|
(load! "+ui.el")
|
2019-11-06 16:20:46 -05:00
|
|
|
(load! "+org") ;; Org mode stuff like todos and rebindings
|
2019-05-13 00:17:20 -04:00
|
|
|
(load! "+org-cal")
|
2019-11-06 16:20:46 -05:00
|
|
|
(load! "+nov") ;; nov.el epub mode settings
|
2019-03-15 17:13:34 -04:00
|
|
|
(load! "+mail") ;; Mail stuff
|
2019-11-26 13:33:19 -05:00
|
|
|
(load! "+eshell")
|
|
|
|
|
(load! "+mpd")
|
2019-03-15 17:13:34 -04:00
|
|
|
(load! "+ranger")
|
2019-11-26 13:33:19 -05:00
|
|
|
(load! "+mastodon")
|
2019-11-06 16:20:46 -05:00
|
|
|
(load! "+wttrin") ;; Weather config
|
2019-11-26 13:33:19 -05:00
|
|
|
;(load! "+elfeed") ;; This runs a background web process ...
|
2019-11-23 09:34:24 -05:00
|
|
|
|
|
|
|
|
;; findout timezone location strings at http://worldtime.io
|
|
|
|
|
(setq display-time-world-list '(("America/Los_Angeles" "San Francisco")
|
|
|
|
|
("America/Tegucigalpa" "Tegucigalpa")
|
|
|
|
|
("America/New_York" "New York")
|
|
|
|
|
("Europe/London" "London")
|
|
|
|
|
("Europe/Warsaw" "Warsaw")
|
|
|
|
|
("Europe/Kiev" "Lviv")))
|