Lots of org stuff, spotify client, misc. dependency updates

This commit is contained in:
Griffin Smith 2019-02-27 14:08:47 -05:00
parent 5ce12fd294
commit b342415667
4 changed files with 217 additions and 142 deletions

View file

@ -330,11 +330,10 @@ private/hlissner/snippets."
:desc "Store link" :n "l" #'org-store-link
:desc "Browse notes" :n "N" #'+hlissner/browse-notes
:desc "Org capture" :n "x" #'+org-capture/open
:desc "Browse mode notes" :n "m" #'+org/browse-notes-for-major-mode
:desc "Browse project notes" :n "p" #'+org/browse-notes-for-project
:desc "Create clubhouse story" :n "c" #'org-clubhouse-create-story
:desc "Archive subtree" :n "k" #'org-archive-subtree
:desc "Goto clocked-in note" :n "g" #'org-clock-goto)
:desc "Goto clocked-in note" :n "g" #'org-clock-goto
:desc "Clock Out" :n "o" #'org-clock-out)
(:desc "open" :prefix "o"
:desc "Default browser" :n "b" #'browse-url-of-file
@ -354,6 +353,11 @@ private/hlissner/snippets."
:desc "APP: twitter" :n "T" #'=twitter
:desc "APP: regex" :n "X" #'=regex
(:desc "spotify" :prefix "s"
:desc "Search track" :n "t" #'counsel-spotify-search-track
:desc "Search album" :n "a" #'counsel-spotify-search-album
:desc "Search artist" :n "A" #'counsel-spotify-search-artist)
;; macos
(:when IS-MAC
:desc "Reveal in Finder" :n "o" #'+macos/reveal-in-finder
@ -534,9 +538,6 @@ private/hlissner/snippets."
;; evil-exchange
:n "gx" #'evil-exchange
;; evil-matchit
:nv [tab] #'+evil/matchit-or-toggle-fold
;; evil-magit
(:after evil-magit
:map (magit-status-mode-map magit-revision-mode-map)
@ -1065,7 +1066,8 @@ If invoked with a prefix ARG eval the expression after inserting it"
"c" 'cider-eval-last-sexp-in-context)
"!" (general-key-dispatch 'fireplace-replace
"!" 'cider-eval-current-sexp-and-replace
"c" 'cider-eval-last-sexp-and-replace)))
"c" 'cider-eval-last-sexp-and-replace)
"y" 'cider-copy-last-result))
;; >) ; slurp forward
@ -1094,70 +1096,91 @@ If invoked with a prefix ARG eval the expression after inserting it"
("cljs" (cider-interactive-eval "(with-out-string (cljs.test/run-tests))"))
("clj" (cider-test-run-ns-tests))))
(defun cider-copy-last-result ()
(interactive)
(cider-interactive-eval
"*1"
(nrepl-make-response-handler
(current-buffer)
(lambda (_ value)
(kill-new value)
(message "Copied last result (%s) to clipboard"
(if (= (length value) 1) "1 char"
(format "%d chars" (length value)))))
nil nil nil)))
(map!
(:map haskell-mode-map
;; :n "K" 'lsp-info-under-point
;; :n "g d" 'lsp-ui-peek-find-definitions
;; :n "g r" 'lsp-ui-peek-find-references
;; :n "g \\" '+haskell/repl
:n "K" 'intero-info
:n "g d" 'intero-goto-definition
:n "g SPC" 'intero-repl-load
:n "g \\" 'intero-repl
:n "g y" 'intero-type-at
;; :n "g RET" 'grfn/run-sputnik-test-for-file
(:map magit-mode-map
:n "#" 'forge-dispatch)
(:map haskell-mode-map
;; :n "K" 'lsp-info-under-point
;; :n "g d" 'lsp-ui-peek-find-definitions
;; :n "g r" 'lsp-ui-peek-find-references
;; :n "g \\" '+haskell/repl
:n "K" 'intero-info
:n "g d" 'intero-goto-definition
:n "g SPC" 'intero-repl-load
:n "g \\" 'intero-repl
:n "g y" 'intero-type-at
;; :n "g RET" 'grfn/run-sputnik-test-for-file
(:localleader
:desc "Apply action" :n "e" 'intero-repl-eval-region
:desc "Rename symbol" :n "r" 'intero-apply-suggestions))
(:after agda2-mode
(:map agda2-mode-map
:n "g SPC" 'agda2-load
:n "g d" 'agda2-goto-definition-keyboard
:n "] g" 'agda2-next-goal
:n "[ g" 'agda2-previous-goal
(:localleader
:desc "Apply action" :n "e" 'intero-repl-eval-region
:desc "Rename symbol" :n "r" 'intero-apply-suggestions))
:desc "Give" :n "SPC" 'agda2-give
:desc "Refine" :n "r" 'agda2-refine
:desc "Auto" :n "a" 'agda2-auto
:desc "Goal type and context" :n "t" 'agda2-goal-and-context
:desc "Goal type and context and inferred" :n ";" 'agda2-goal-and-context-and-inferred)))
(:after agda2-mode
(:map agda2-mode-map
:n "g SPC" 'agda2-load
:n "g d" 'agda2-goto-definition-keyboard
:n "] g" 'agda2-next-goal
:n "[ g" 'agda2-previous-goal
(:after clojure-mode
(:map clojure-mode-map
:n "] f" 'forward-sexp
:n "[ f" 'backward-sexp))
(:localleader
:desc "Give" :n "SPC" 'agda2-give
:desc "Refine" :n "r" 'agda2-refine
:desc "Auto" :n "a" 'agda2-auto
:desc "Goal type and context" :n "t" 'agda2-goal-and-context
:desc "Goal type and context and inferred" :n ";" 'agda2-goal-and-context-and-inferred)))
(:after cider-mode
(:map cider-mode-map
:n "g SPC" 'cider-eval-buffer
:n "g \\" 'cider-switch-to-repl-buffer
:n "K" 'cider-doc
:n "g K" 'cider-grimoire
:n "g d" 'cider-find-dwim
:n "C-w ]" 'cider-find-dwim-other-window
:n "g RET" 'cider-test-run-ns-tests
(:after clojure-mode
(:map clojure-mode-map
:n "] f" 'forward-sexp
:n "[ f" 'backward-sexp))
"C-c C-r r" 'cljr-add-require-to-ns
"C-c C-r i" 'cljr-add-import-to-ns
(:after cider-mode
(:map cider-mode-map
:n "g SPC" 'cider-eval-buffer
:n "g \\" 'cider-switch-to-repl-buffer
:n "K" 'cider-doc
:n "g K" 'cider-grimoire
:n "g d" 'cider-find-dwim
:n "C-w ]" 'cider-find-dwim-other-window
:n "g RET" 'cider-test-run-ns-tests
(:localleader
;; :desc "Inspect last result" :n "i" 'cider-inspect-last-result
;; :desc "Search for documentation" :n "h s" 'cider-apropos-doc
:desc "Add require to ns" :n "n r" 'cljr-add-require-to-ns
:desc "Add import to ns" :n "n i" 'cljr-add-import-to-ns))
(:map cider-repl-mode-map
:n "g \\" 'cider-switch-to-last-clojure-buffer))
"C-c C-r r" 'cljr-add-require-to-ns
"C-c C-r i" 'cljr-add-import-to-ns
(:after w3m
(:map w3m-mode-map
"/" 'evil-search-forward
"?" 'evil-search-backward))
(:localleader
;; :desc "Inspect last result" :n "i" 'cider-inspect-last-result
;; :desc "Search for documentation" :n "h s" 'cider-apropos-doc
:desc "Add require to ns" :n "n r" 'cljr-add-require-to-ns
:desc "Add import to ns" :n "n i" 'cljr-add-import-to-ns))
(:map cider-repl-mode-map
:n "g \\" 'cider-switch-to-last-clojure-buffer))
(:after w3m
(:map w3m-mode-map
"/" 'evil-search-forward
"?" 'evil-search-backward))
(:after org
(:map org-mode-map
[remap counsel-imenu] #'counsel-org-goto
(:localleader
:n "g" #'counsel-org-goto))))
(:after org
:n "C-c C-x C-o" #'org-clock-out
(:map org-mode-map
[remap counsel-imenu] #'counsel-org-goto
"M-k" #'org-move-subtree-up
"M-j" #'org-move-subtree-down
(:localleader
:n "g" #'counsel-org-goto))))

View file

@ -12,6 +12,8 @@
(after! rust
(setq rust-format-on-save t))
(load! "utils")
; (defconst rust-src-path
; (-> "/Users/griffin/.cargo/bin/rustc --print sysroot"
; shell-command-to-string
@ -106,7 +108,9 @@
(alist-set 'theme-overrides 'grfn-solarized-light
`((font-lock-doc-face ((t (:foreground ,+solarized-s-base1))))
(font-lock-preprocessor-face ((t (:foreground ,+solarized-red))))
(font-lock-keyword-face ((t (:foreground ,+solarized-green))))
(font-lock-keyword-face ((t (:foreground ,+solarized-green :bold nil))))
(font-lock-builtin-face ((t (:foreground ,+solarized-s-base01
:bold t))))
(elixir-attribute-face ((t (:foreground ,+solarized-blue))))
(elixir-atom-face ((t (:foreground ,+solarized-cyan))))
@ -117,7 +121,8 @@
(haskell-keyword-face ((t (:foreground ,+solarized-cyan))))))
(setq solarized-use-variable-pitch nil
solarized-scale-org-headlines nil)
solarized-scale-org-headlines nil
solarized-use-less-bold t)
(add-to-list 'custom-theme-load-path "~/.doom.d/themes")
(load-theme 'grfn-solarized-light t)
@ -129,7 +134,8 @@
(add-hook! doom-post-init
(set-face-attribute 'bold nil :weight 'ultra-light)
(set-face-bold-p 'bold nil))
(set-face-bold 'bold nil)
(enable-theme 'grfn-solarized-light))
(defun rx-words (&rest words)
(rx-to-string
@ -273,7 +279,16 @@
;; (hook-name)
;; (symbol-name mode)))))
(def-package! org-clubhouse)
(def-package! org-clubhouse
:config
(setq org-clubhouse-state-alist
'(("PROPOSED" . "Proposed")
("BACKLOG" . "Backlog")
("TODO" . "Scheduled")
("ACTIVE" . "In Progress")
("PR" . "In Review")
("TESTING" . "In Testing")
("DONE" . "Completed"))))
; (require 'doom-themes)
@ -409,7 +424,8 @@
org-agenda-custom-commands
'(("p" "Sprint Tasks" tags-todo "sprint")
("i" "Inbox" tags "inbox")
("r" "Running jobs" todo "RUNNING")))
("r" "Running jobs" todo "RUNNING")
("w" "@Work" tags-todo "@work")))
(set-face-foreground 'org-block +solarized-s-base00)
(add-hook! org-mode
@ -420,9 +436,10 @@
)
(after! magit
(setq git-commit-summary-max-length 50)
(require 'magit-gh-pulls)
(add-hook 'magit-mode-hook 'turn-on-magit-gh-pulls))
(setq git-commit-summary-max-length 50))
;; (def-package! forge
;; :after magit)
(comment
@ -471,7 +488,7 @@
(load! "slack-snippets")
(after! magit
(require 'evil-magit)
;; (require 'evil-magit)
;; (require 'magithub)
)
@ -581,12 +598,12 @@
;; Auto-format Haskell on save, with a combination of hindent + brittany
(define-minor-mode brittany-haskell-mode
:init-value nil
:group 'haskell
:lighter "Brittany-Haskell"
:keymap '()
)
; (define-minor-mode brittany-haskell-mode
; :init-value nil
; :group 'haskell
; :lighter "Brittany-Haskell"
; :keymap '()
; )
(defun urbint/format-haskell-source ()
@ -620,6 +637,7 @@
(require 'slack)
(setq slack-buffer-emojify 't
slack-prefer-current-team 't)
(require 'alert)
(setq alert-default-style 'libnotify)
@ -634,13 +652,15 @@
(setq projectile-create-missing-test-files 't)
(defun magit-commit-wip ()
(interactive)
(magit-commit '("-m" "wip")))
(after! magit
(magit-define-popup-action 'magit-commit-popup
?W "WIP" 'magit-commit-wip))
(define-suffix-command magit-commit-wip ()
(interactive)
(magit-commit-create '("-m" "wip")))
(transient-append-suffix
#'magit-commit
["c"]
(list "W" "Commit WIP" #'magit-commit-wip)))
;; (defun grfn/split-window-more-sensibly (&optional window)
;; (let ((window (or window (selected-window))))
@ -838,11 +858,14 @@
(context 2)
(checking 3)
(match 1)
(domonad 0)))
(domonad 0)
(describe 1)
(before 1)
(it 2)))
(def-package! flycheck-clojure
:disabled t
:after flycheck
;; :disabled t
:after (flycheck cider)
:config
(flycheck-clojure-setup))
@ -878,3 +901,20 @@
(add-to-list 'org-babel-load-languages '(ipython . t))
(setq ob-ipython-command
"/home/griffin/code/urb/ciml-video-classifier/bin/jupyter"))
(def-package! counsel-spotify)
(def-package! evil-snipe :disabled t)
(evil-snipe-mode -1)
(def-package! rainbow-mode)
(def-package! org-alert
:config
(org-alert-enable)
(setq alert-default-style 'libnotify
org-alert-headline-title "org"))
(def-package! ob-async)
(enable-theme 'grfn-solarized-light)

106
init.el
View file

@ -6,12 +6,10 @@
(evil +everywhere); come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
(lookup ; helps you navigate your code and documentation
+devdocs ; ...on devdocs.io online
+docsets) ; ...or in Dash docsets locally
snippets ; my elves. They type so I don't have to
spellcheck ; tasing you for misspelling mispelling
(syntax-checker ; tasing you for every semicolon you forget
+childframe) ; use childframes for error popups (Emacs 26+ only)
syntax-checker ; tasing you for every semicolon you forget
workspaces ; tab emulation, persistence & separate workspaces
:completion
@ -26,12 +24,11 @@
:ui
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
doom-modeline ; a snazzy Atom-inspired mode-line
doom-quit ; DOOM quit-message prompts when you quit Emacs
evil-goggles ; display visual hints when editing in evil
fci ; a `fill-column' indicator
hl-todo ; highlight TODO/FIXME/NOTE tags
;modeline ; snazzy, Atom-inspired modeline, plus API
modeline ; snazzy, Atom-inspired modeline, plus API
nav-flash ; blink the current line after jumping
;neotree ; a project drawer, like NERDTree for vim
;treemacs ; a project drawer, like neotree but cooler
@ -46,26 +43,32 @@
window-select ; visually switch windows
:editor
;(format +onsave) ; automated prettiness
;multiple-cursors ; editing in many places at once
;parinfer ; turn lisp into python, sort of
fold
;; (format +onsave) ; automated prettiness
;;lispy ; vim for lisp, for people who dont like vim
;;multiple-cursors ; editing in many places at once
;;parinfer ; turn lisp into python, sort of
rotate-text ; cycle region at point between text candidates
:emacs
dired ; making dired pretty [functional]
ediff ; comparing files in Emacs
(dired ; making dired pretty [functional]
;;+ranger ; bringing the goodness of ranger to dired
;;+icons ; colorful icons for dired-mode
)
electric ; smarter, keyword-based electric-indent
;eshell ; a consistent, cross-platform shell (WIP)
hideshow ; basic code-folding support
;;eshell ; a consistent, cross-platform shell (WIP)
imenu ; an imenu sidebar and searchable code index
;term ; terminals in Emacs
;;term ; terminals in Emacs
vc ; version-control and Emacs, sitting in a tree
:tools
docker
editorconfig ; let someone else argue about tabs vs spaces
;ein ; tame Jupyter notebooks with emacs
ein ; tame Jupyter notebooks with emacs
flycheck ; tasing you for every semicolon you forget
flyspell ; tasing you for misspelling mispelling
gist ; interacting with github gists
lsp
;macos ; MacOS-specific commands
make ; run make tasks from Emacs
magit ;
@ -73,58 +76,61 @@
pdf ; pdf enhancements
;prodigy ; FIXME managing external services & code builders
;rgb ; creating color strings
;tmux ; an API for interacting with tmux
;upload ; map local to remote projects via ssh/ftp
;wakatime
;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux
;;upload ; map local to remote projects via ssh/ftp
;;wakatime
:lang
;assembly ; assembly for fun or debugging
;(cc +irony +rtags); C/C++/Obj-C madness
;;assembly ; assembly for fun or debugging
;;(cc +irony +rtags); C/C++/Obj-C madness
clojure ; java with a lisp
;common-lisp ; if you've seen one lisp, you've seen them all
;crystal ; ruby at the speed of c
;csharp ; unity, .NET, and mono shenanigans
;;common-lisp ; if you've seen one lisp, you've seen them all
coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
;;csharp ; unity, .NET, and mono shenanigans
data ; config/data formats
erlang ; an elegant language for a more civilized age
elixir ; erlang done right
;elm ; care for a cup of TEA?
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
;ess ; emacs speaks statistics
;go ; the hipster dialect
(haskell +intero) ; a language that's lazier than I am
;; haskell ; a language that's lazier than I am
;hy ; readability of scheme w/ speed of python
;(java +meghanada) ; the poster child for carpal tunnel syndrome
;;ess ; emacs speaks statistics
;;go ; the hipster dialect
(haskell +intero) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
idris ;
(java +meghanada) ; the poster child for carpal tunnel syndrome
javascript ; all(hope(abandon(ye(who(enter(here))))))
;julia ; a better, faster MATLAB
latex ; writing papers in Emacs has never been so fun
;ledger ; an accounting system in Emacs
;lua ; one-based indices? one-based indices
julia ; a better, faster MATLAB
;;latex ; writing papers in Emacs has never been so fun
;;ledger ; an accounting system in Emacs
;;lua ; one-based indices? one-based indices
markdown ; writing docs for people to ignore
;nim ; python + lisp at the speed of c
nix ; I hereby declare "nix geht mehr!"
;ocaml ; an objective camel
;;nim ; python + lisp at the speed of c
;;nix ; I hereby declare "nix geht mehr!"
ocaml ; an objective camel
(org ; organize your plain life in plain text
+attach ; custom attachment system
+babel ; running code in org
+capture ; org-capture in and outside of Emacs
+export ; Exporting org to whatever you want
+present) ; Emacs for presentations
;perl ; write code no one else can comprehend
;php ; perl's insecure younger brother
;plantuml ; diagrams for confusing people more
;purescript ; javascript, but functional
;;perl ; write code no one else can comprehend
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
purescript ; javascript, but functional
python ; beautiful is better than ugly
;qt ; the 'cutest' gui framework ever
;racket ; a DSL for DSLs
;rest ; Emacs as a REST client
ruby ; 1.step do {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;scala ; java, but good
(sh +fish) ; she sells (ba|z)sh shells on the C xor
;solidity ; do you need a blockchain? No.
;swift ; who asked for emoji variables?
web ; the tubes
;;qt ; the 'cutest' gui framework ever
racket ; a DSL for DSLs
rest ; Emacs as a REST client
;;ruby ; 1.step do {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good
(sh +fish) ; she sells (ba|z|fi)sh shells on the C xor
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;web ; the tubes
;;vala ; GObjective-C
;; Applications are complex and opinionated modules that transform Emacs
;; toward a specific purpose. They may have additional dependencies and

View file

@ -3,6 +3,8 @@
;; (package! 'tide :disable t)
(package! moody)
;; Editor
(package! solarized-theme)
(package! fill-column-indicator)
@ -15,14 +17,17 @@
(package! writeroom-mode)
(package! dash)
(package! w3m)
(package! rainbow-mode)
;;; Org
(package! org-clubhouse
:recipe (org-clubhouse
:fetcher file
:path "~/code/urb/org-clubhouse"))
(package! org-alert)
(package! ob-http)
(package! ob-ipython)
(package! ob-async)
;; Presentation
(package! epresent)
@ -35,10 +40,8 @@
;; Git
(package! evil-magit)
(package! magithub)
(package! magit-gh-pulls)
(package! marshal)
; (package! auth-password-store)
(package! forge)
;; Elisp
(package! dash)
@ -87,3 +90,6 @@
;;; Python
(package! yapfify)
;;; Desktop interaction
(package! counsel-spotify)