From 39921326825be468d9b286ae9853ceafbf7a053d Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Tue, 7 Apr 2020 11:08:27 -0400 Subject: [PATCH] [emacs] Ignore the compiled config file --- .gitignore | 1 + emacs/.config/doom/config.el | 375 ----------------------------------- 2 files changed, 1 insertion(+), 375 deletions(-) delete mode 100644 emacs/.config/doom/config.el diff --git a/.gitignore b/.gitignore index d65b48f..eab510f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ config/fish/functions/fish_prompt.fish emacs/.config/doom/+org-gcal.el +emacs/.config/doom/config.el *.elc +org-gcal-sync.el __*.fish diff --git a/emacs/.config/doom/config.el b/emacs/.config/doom/config.el deleted file mode 100644 index f40d07d..0000000 --- a/emacs/.config/doom/config.el +++ /dev/null @@ -1,375 +0,0 @@ -(add-to-list 'default-frame-alist '(inhibit-double-buffering . t)) - -(setq user-full-name "Colin Powell" - user-mail-address "colin@unbl.ink") - -(setq doom-font (font-spec :family "FuraCode Nerd Font Mono" :size 12)) -(setq doom-big-font (font-spec :family "FuraCode Nerd Font Mono" :size 17)) -(setq doom-theme 'doom-monokai-spectrum) - -;; Applies to current frame -(set-frame-parameter nil 'internal-border-width 20) ; applies to the current frame -;; If we create new frames (via emacsclient) this will do the trick -(add-to-list 'default-frame-alist '(internal-border-width . 20)) -;; Dash highlighting -(after! dash (dash-enable-font-lock)) - -;; Dash highlighting -(after! dash (dash-enable-font-lock)) - -(map! ;; Easier window movement - :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) - - :leader - (:prefix "f" - :desc "Find file in dotfiles" "t" #'+hlissner/find-in-dotfiles - :desc "Browse dotfiles" "T" #'+hlissner/browse-dotfiles) - (:prefix "t" - :desc "Switch themes" "t" #'load-theme) - (:prefix "o" - :desc "Elfeed feed reader" "f" #'elfeed - :desc "Hckrnews" "h" #'hackernews - :desc "Lobste.rs" "l" #'ivy-lobsters) - (:prefix "b" - :desc "Black format buffer" "f" #'blacken-buffer - :desc "isort buffer" "I" #'py-isort-buffer - :desc "Links in buffer" "l" #'ace-link-org) - (:prefix "s" - :desc "Search project TODOs" "t" #'+ivy/tasks - :desc "Search the web" "w" #'web-search - :desc "Goto URL in eww" "u" #'eww-browse-url - :desc "Search in eww" "3" #'eww-search-words - :desc "Search all the things" "g" #'deadgrep)) - -(setq wttrin-default-cities '("Castine, ME" "San Francisco" "Thessaloniki")) -(setq wttrin-default-accept-language '("Accept-Language" . "en-US")) - -(map! - (:leader - (:prefix "o" - :desc "Weather" "w" #'wttrin))) - -;; app/search -(after! web-search - (push '("Searx" "http://search.unbl.ink/?q=%s") - web-search-providers) - (setq web-search-default-provider "Searx")) - -;; app/eglot -;; Back to eglot ... -(add-hook 'foo-mode-hook 'eglot-ensure) - -(setq libmpdel-hostname "mpd.unbl.ink") - -(defun mpdel-playlist-play () - "Start playing the song at point." - (interactive) - (if (derived-mode-p 'mpdel-playlist-current-playlist-mode) - (libmpdel-play-song (navigel-entity-at-point)) - (mpdel-core-insert-current-playlist))) - -(map! :leader - (:prefix "-" - :desc "MPD Open playlist" "-" #'mpdel-playlist-open - :desc "MPD Remove at point" "d" #'mpdel-playlist-delete - :desc "MPD Start at point" "s" #'mpdel-playlist-play - :desc "MPD Next track" "n" #'libmpdel-playback-next - :desc "MPD Previous track" "p" #'libmpdel-playback-previous)) - -(add-hook! 'elfeed-show-mode-hook (text-scale-set 1.5)) - -(setq rmh-elfeed-org-files (list "~/org/elfeed.org")) -(setq elfeed-search-filter "@2-days-ago +unread") - -(defun elfeed-search-format-date (date) - (format-time-string "%Y-%m-%d %H:%M" (seconds-to-time date))) - -; crontab-like elfeed updating -(run-with-timer 0 (* 30 60) 'elfeed-update) - -(setq httpd-host "0.0.0.0") -(setq httpd-port 10000) - -(map! :leader - (:prefix "r" ; For (m)essaging - :desc "Open Elfeed" "o" #'elfeed - :desc "Update Elfeed" "u" #'elfeed-update)) - -(add-hook 'prog-mode-hook #'goto-address-mode) ;; Linkify links! - -;;; 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) - -;; A rainbow cat, why not? -(nyan-mode) - -;; Show the cursor when we make jumps, I'm too old for this shit. -(beacon-mode) - -;; Emojis, fuck me. -(add-hook 'after-init-hook #'global-emojify-mode) - -;; PlantUML is awesome for quick diagrams -(add-to-list 'auto-mode-alist '("\\.plantuml\\'" . plantuml-mode)) - -;; 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"))) - -(setq +workspaces-switch-project-function #'ignore - +format-on-save-enabled-modes '(python-mode) - +pretty-code-enabled-modes '(emacs-lisp-mode org-mode)) - -;; tools/deft -(setq deft-extensions '("org")) -(setq deft-directory "~/org") - -(after! org - (setq org-directory (expand-file-name "~/org/") - org-agenda-files (list org-directory) - org-agenda-window-setup 'only-window - org-pretty-entities t - org-log-done 'time - org-fontify-whole-heading-line t - org-fontify-done-headline t - org-fontify-quote-and-verse-blocks t - org-ellipsis "…" - org-capture-templates - '(("i" "Send to inbox" entry (file+headline "~/org/inbox.org" "Inbox") - "* TODO %?\n")) - org-todo-keywords - '((sequence "TODO(t)" "NEXT(n)" "MAYBE(m)" "|" "DONE(d)" "WONTDO(w)")) - org-tag-alist '(("@personal" . ?h) - ("@farm" . ?f) - ("@town" . ?s) - ("@errand" . ?e) - ("@15five" . ?w) - ("@family" . ?m)) - org-modules '(ol-eshell - ol-notmuch - ob-eval - ob-exp - ob-http - org-drill - org-id))) - -;; Refiling -(setq org-refile-targets '((nil :maxlevel . 9) - (org-agenda-files :maxlevel . 9))) -(setq org-outline-path-complete-in-steps nil) ; Refile in a single go -(setq org-refile-use-outline-path t) ; Show full paths for refiling - -;; org-set-tags-command -(setq +inbox-file "~/org/inbox.org") -(defun +open-inbox-file () - (interactive) - "Opens the inbox file" - (find-file +inbox-file)) - -(map! - :leader - :desc "Open inbox" "I" #'+open-inbox-file - :desc "Open today" "T" #'org-roam-today - :desc "Open tomorrow" "N" #'org-roam-tomorrow) - -(map! :leader - (:prefix "f" :desc "Save all org buffers" "a" #'org-save-all-org-buffers)) - -(setq org-agenda-span 5 - org-agenda-start-day "1d") -(defun +show-agenda () - (interactive) - (delete-other-windows) - (with-popup-rules! nil - (org-agenda-list) - (calendar)) - (other-window 1) - (split-window-vertically) - (other-window 1) - (find-file +todo-file)) - -(use-package! org-roam - :commands (org-roam-insert org-roam-find-file org-roam) - :init - (setq org-roam-directory "~/org/") - (map! :leader - :prefix "n" - :desc "Org-Roam-Insert" "i" #'org-roam-insert - :desc "Org-Roam-Find" "/" #'org-roam-find-file - :desc "Org-Roam-Buffer" "r" #'org-roam) - :config - (org-roam-mode +1)) - -(with-eval-after-load 'org-roam - (with-eval-after-load 'company - (with-eval-after-load 'org - (require 'company-org-roam) - (company-org-roam-init)))) - -(require 'justify-kp) -;(setq nov-text-width t) -(setq nov-text-width 80) - -(defun my-nov-window-configuration-change-hook () - (my-nov-post-html-render-hook) - (remove-hook 'window-configuration-change-hook - 'my-nov-window-configuration-change-hook - t)) - -(defun my-nov-post-html-render-hook () - (if (get-buffer-window) - (let ((max-width (pj-line-width)) - buffer-read-only) - (save-excursion - (goto-char (point-min)) - (while (not (eobp)) - (when (not (looking-at "^[[:space:]]*$")) - (goto-char (line-end-position)) - (when (> (shr-pixel-column) max-width) - (goto-char (line-beginning-position)) - (pj-justify))) - (forward-line 1)))) - (add-hook 'window-configuration-change-hook - 'my-nov-window-configuration-change-hook - nil t))) - -(add-hook 'nov-post-html-render-hook 'my-nov-post-html-render-hook) -(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode)) - -(defun my-nov-font-setup () - (face-remap-add-relative 'variable-pitch :family "Liberation Serif" - :size 20 - :height 1.0)) -(add-hook 'nov-mode-hook 'my-nov-font-setup) - -(load! "+mail") ;; Mail stuff - -;; Use word wrap in text emails, because most people suck -(remove-hook 'text-mode-hook #'auto-fill-mode) -(add-hook 'message-mode-hook #'word-wrap-mode) - -(after! eshell - (set-eshell-alias! - "f" "(other-window 1) && find-file $1" - "l" "ls -lh" - "d" "dired $1" - "dc" "docker-compose $*" - "fftest" "cd ~/src/ff/fifteen5 && docker-compose exec app django-admin test -k $*" - "ffsh" "cd ~/src/ff/fifteen5/ && docker-compose exec app django-admin shell_plus" - "ffdj" "cd ~/src/ff/fifteen5/ && docker-compose exec app django-admin $*" - "gl" "(call-interactively 'magit-log-current)" - "gs" "magit-status" - "gc" "magit-commit")) - -(use-package! ranger - :commands (ranger deer ranger-override-dired-fn) - :config - (set-popup-rule! "^\\*ranger" :ignore t)) - -(map! - (:leader - (:prefix "a" - :desc "Ranger" "r" #'ranger - :desc "Deer" "d" #'deer))) - -(add-hook! dired-mode #'ranger-override-dired-fn) ;; Override dired-mode so it uses deer - -(setq mastodon-instance-url "https://mastodon.technology") - -(map! :leader - (:prefix "=" - :desc "Open mastodon" "=" #'mastodon - :desc "Update Mastodon timeline" "u" #'mastodon-tl--update - :desc "Toot to Mastodon" "t" #'mastodon-toot)) - -(use-package! slack -:commands (slack-start) -:init -(setq slack-buffer-emojify t) -(setq slack-prefer-current-team t) -:config -(slack-register-team - :name "15five" - :token (auth-source-pick-first-password - :host "15five.slack.com" - :user "colin.powell@15five.com") - :subscribed-channels '(squad-admin water-cooler)) -(slack-register-team - :name "RAB" - :token (auth-source-pick-first-password - :host "randomaccessbrewery.slack.com" - :user "colin@onec.me") - :subscribed-channels '(the_taps random)) - - (evil-define-key 'normal slack-info-mode-map - ",u" 'slack-room-update-messages) - (evil-define-key 'normal slack-mode-map - ",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 - "\C-n" 'slack-buffer-goto-next-message - "\C-p" 'slack-buffer-goto-prev-message) - (evil-define-key 'normal slack-edit-message-mode-map - ",k" 'slack-message-cancel-edit - ",s" 'slack-message-send-from-buffer - ",2" 'slack-message-embed-mention - ",3" 'slack-message-embed-channel)) - -(use-package! alert - :commands (alert) - :init - (setq alert-default-style 'libnotify)) - -(map! :leader - (:prefix "y" ; For (y)acking - :desc "Slack channels" "s" #'slack-start - :desc "Slack channels" "c" #'slack-channel-select - :desc "Slack IMs" "i" #'slack-im-select - :desc "Slack groups" "g" #'slack-group-select - :desc "Slack threads" "t" #'slack-all-threads)) - -(load! "beancount") -(require 'beancount) -(add-to-list 'auto-mode-alist '("\\.beancount\\'" . beancount-mode)) - -(define-derived-mode - pandoc-view-mode - markdown-mode - "pandoc-view-mode" - "View pandoc processing of docx file using markdown mode." - (erase-buffer) - (let* ((pandoc (executable-find "pandoc"))) - (insert (shell-command-to-string - (concat pandoc " --wrap=none " (shell-quote-argument (buffer-file-name)) " -t markdown")))) - (not-modified) - (read-only-mode t)) - -(add-to-list 'auto-mode-alist '("\\.docx\\'" . pandoc-view-mode))