Skip to content

Instantly share code, notes, and snippets.

@OlegTheCat
Last active August 19, 2019 14:49
Show Gist options
  • Save OlegTheCat/b910a99e7b05a1071abc95a5d329d5c5 to your computer and use it in GitHub Desktop.
Save OlegTheCat/b910a99e7b05a1071abc95a5d329d5c5 to your computer and use it in GitHub Desktop.
.spacemacs
(defun dotspacemacs/layers ()
(setq-default
dotspacemacs-distribution 'spacemacs
dotspacemacs-enable-lazy-installation 'unused
dotspacemacs-ask-for-lazy-installation t
dotspacemacs-configuration-layer-path '()
dotspacemacs-configuration-layers
'(;; ocaml
elm
yaml
csv
sql
go
(clojure :variables clojure-enable-clj-refactor t)
common-lisp
(c-c++ :variables
c-c++-backend 'rtags
;; c-c++-enable-clang-support t
c-c++-enable-clang-format-on-save t)
cmake
ivy
(auto-completion :variables
auto-completion-return-key-behavior 'complete
auto-completion-tab-key-behavior 'cycle
auto-completion-complete-with-key-sequence nil
auto-completion-enable-help-tooltip 'manual
auto-completion-enable-sort-by-usage t)
terraform
better-defaults
emacs-lisp
docker
git
github
erlang
elixir
scala
python
rust
html
javascript
markdown
nginx
imenu-list
org
(syntax-checking :variables
syntax-checking-enable-tooltips nil)
version-control
search-engine
)
dotspacemacs-additional-packages '(string-edit
flycheck-clojure
osx-dictionary
evil-smartparens
highlight-symbol
emojify
beacon
graphql-mode
spiral
persistent-scratch
golden-ratio-scroll-screen
evil-swap-keys
company-tabnine
company-try-hard
(sunrise-commander
:location
(recipe :fetcher github
:repo "escherdragon/sunrise-commander"))
)
dotspacemacs-frozen-packages '()
dotspacemacs-excluded-packages '(sayid)
dotspacemacs-install-packages 'used-only))
(defun dotspacemacs/init ()
(setq-default
dotspacemacs-elpa-https t
dotspacemacs-elpa-timeout 5
dotspacemacs-mode-line-theme 'spacemacs
dotspacemacs-check-for-update nil
dotspacemacs-elpa-subdirectory nil
dotspacemacs-use-spacelpa nil
dotspacemacs-editing-style 'emacs
dotspacemacs-verbose-loading nil
dotspacemacs-startup-banner 'official
dotspacemacs-startup-lists '((recents . 5)
(projects . 7))
dotspacemacs-startup-buffer-responsive t
dotspacemacs-scratch-mode 'text-mode
dotspacemacs-themes '(solarized-light
solarized-dark)
dotspacemacs-colorize-cursor-according-to-state t
dotspacemacs-default-font '("Inconsolata"
:size 18
:weight normal
:width normal)
dotspacemacs-leader-key "SPC"
dotspacemacs-emacs-command-key "SPC"
dotspacemacs-ex-command-key ":"
dotspacemacs-emacs-leader-key "M-h"
dotspacemacs-major-mode-leader-key ","
dotspacemacs-major-mode-emacs-leader-key "C-M-m"
dotspacemacs-distinguish-gui-tab nil
dotspacemacs-remap-Y-to-y$ nil
dotspacemacs-retain-visual-state-on-shift t
dotspacemacs-visual-line-move-text nil
dotspacemacs-ex-substitute-global nil
dotspacemacs-default-layout-name "Default"
dotspacemacs-display-default-layout nil
dotspacemacs-auto-resume-layouts nil
dotspacemacs-large-file-size 1
dotspacemacs-auto-save-file-location 'cache
dotspacemacs-max-rollback-slots 5
dotspacemacs-helm-resize nil
dotspacemacs-helm-no-header nil
dotspacemacs-helm-position 'bottom
dotspacemacs-helm-use-fuzzy 'always
dotspacemacs-enable-paste-transient-state nil
dotspacemacs-which-key-delay 0.4
dotspacemacs-which-key-position 'bottom
dotspacemacs-loading-progress-bar t
dotspacemacs-fullscreen-at-startup nil
dotspacemacs-fullscreen-use-non-native nil
dotspacemacs-maximized-at-startup nil
dotspacemacs-active-transparency 90
dotspacemacs-inactive-transparency 90
dotspacemacs-show-transient-state-title t
dotspacemacs-show-transient-state-color-guide t
dotspacemacs-mode-line-unicode-symbols t
dotspacemacs-smooth-scrolling t
dotspacemacs-line-numbers t
dotspacemacs-folding-method 'evil
dotspacemacs-smartparens-strict-mode t
dotspacemacs-smart-closing-parenthesis t
dotspacemacs-highlight-delimiters nil
dotspacemacs-persistent-server nil
dotspacemacs-search-tools '("ag" "pt" "ack" "grep")
dotspacemacs-default-package-repository nil
dotspacemacs-whitespace-cleanup 'trailing
))
(defun dotspacemacs/user-init ()
(push '("melpa-stable" . "stable.melpa.org/packages/") configuration-layer-elpa-archives)
(push '(ensime . "melpa-stable") package-pinned-packages)
(push '(cider . "melpa-stable") package-pinned-packages)
(push '(clj-refactor . "melpa-stable") package-pinned-packages)
(push '(clojure-mode . "melpa-stable") package-pinned-packages)
(push '(flycheck-clojure . "melpa-stable") package-pinned-packages))
(defun olegthecat/clojure-reset-reloaded-repl ()
(interactive)
(save-some-buffers)
(spacemacs//cider-eval-in-repl-no-focus "(reloaded.repl/reset)"))
(defun olegthecat/clojure-reset-reloaded-repl-hook ()
(when (and (boundp 'cider-mode) cider-mode)
(olegthecat/clojure-reset-reloaded-repl)))
(defun olegthecat/add-reloaded-repl-hook ()
(interactive)
(add-hook 'after-save-hook #'olegthecat/clojure-reset-reloaded-repl-hook))
(defun olegthecat/remove-reloaded-repl-hook ()
(interactive)
(remove-hook 'after-save-hook #'olegthecat/clojure-reset-reloaded-repl-hook))
(defun olegthecat/clojure-figwheel-repl ()
(interactive)
(save-some-buffers)
(let ((build-id (read-from-minibuffer "Build id: "
nil nil nil nil "")))
(spacemacs//cider-eval-in-repl-no-focus
(format
"(do (require 'figwheel-sidecar.repl-api)
(figwheel-sidecar.repl-api/stop-figwheel!)
(figwheel-sidecar.repl-api/start-figwheel! \"%s\")
(figwheel-sidecar.repl-api/cljs-repl))"
build-id))))
(defun dotspacemacs/user-config ()
(windmove-default-keybindings)
(menu-bar-mode -1)
(setq-default word-wrap t)
(with-eval-after-load 'sunrise-commander
(setq sr-attributes-display-mask '(nil nil nil nil t nil nil nil t))
(setq sr-listing-switches "-alh"))
(global-set-key (kbd "s-s")
(lambda (arg)
(interactive "P")
(if arg
(sunrise)
(sunrise-cd))))
(with-eval-after-load 'sql
(setq sql-postgres-login-params (append sql-postgres-login-params
'((port :default 5432)))))
(setq js-indent-level 2)
(golden-ratio-mode t)
(advice-add 'magit-status :after (lambda (&rest args) (golden-ratio)))
(add-to-list 'golden-ratio-exclude-modes "ediff-mode")
(add-to-list 'golden-ratio-exclude-modes "IELM")
(add-to-list 'golden-ratio-exclude-modes "eshell-mode")
(add-to-list 'golden-ratio-exclude-modes "dired-mode")
(add-to-list 'golden-ratio-exclude-modes "sr-mode")
(add-to-list 'golden-ratio-exclude-modes "sr-buttons-mode")
(global-company-mode)
(setq company-tooltip-align-annotations t)
(setq evil-escape-key-sequence "jk")
(add-hook 'prog-mode-hook 'hl-line-mode)
(add-hook 'prog-mode-hook 'highlight-symbol-mode)
(add-hook 'prog-mode-hook 'highlight-symbol-nav-mode)
(add-hook 'prog-mode-hook 'fci-mode)
(setq git-link-use-commit t)
(setq git-link-open-in-browser nil)
(setq github-browse-file-show-line-at-point t)
(setq cider-show-error-buffer nil)
(setq cider-repl-pop-to-buffer-on-connect t)
(setq cider-repl-use-pretty-printing t)
(setq cider-repl-display-help-banner nil)
(setq cider-repl-history-file "~/.emacs.d/cider-history")
(beacon-mode 1)
(setq beacon-size 10)
(setq beacon-blink-when-buffer-changes nil)
(setq beacon-blink-when-window-scrolls nil)
(setq imenu-list-auto-resize nil)
(setq google-translate-default-target-language "uk")
(setq powerline-default-separator nil)
(setq wdired-allow-to-change-permissions t)
(persistent-scratch-setup-default)
;; Comment out clojure flycheck setup, since it doesn't work with Clojure 1.9
;; (with-eval-after-load 'cider
;; (flycheck-clojure-setup))
;; (dolist (m '(clojure-mode clojurec-mode clojurex-mode clojurescript-mode))
;; (spacemacs/add-flycheck-hook m))
;; (setq-default flycheck-disabled-checkers '(clojure-cider-typed))
;; (add-hook 'cider-mode-hook
;; (lambda () (setq next-error-function #'flycheck-next-error-function)))
(with-eval-after-load 'clojure-mode
(define-clojure-indent
(defroutes 'defun)
(GET 2)
(POST 2)
(PUT 2)
(DELETE 2)
(HEAD 2)
(ANY 2)
(context 2))
(put-clojure-indent 'match 'defun)
(put-clojure-indent 'let-flow 'defun))
(with-eval-after-load 'clj-refactor
(setq cljr-favor-prefix-notation nil))
(with-eval-after-load 'cider
(dolist (m (list cider-repl-mode-map cider-mode-map))
(define-key m (kbd "C-c r r") #'olegthecat/clojure-reset-reloaded-repl)
(define-key m (kbd "C-c f r") #'olegthecat/clojure-figwheel-repl))
(add-hook 'cider-repl-mode-hook #'cider-company-enable-fuzzy-completion)
(add-hook 'cider-mode-hook #'cider-company-enable-fuzzy-completion))
(with-eval-after-load 'smartparens
(sp-use-paredit-bindings)
(define-key smartparens-mode-map (kbd "M-q") #'sp-indent-defun)
(dolist (s '("(" "[" "{" "\""))
(lexical-let ((ls s))
(define-key smartparens-mode-map (kbd (concat "M-" ls))
(lambda (&optional arg)
(interactive "P")
(sp-wrap-with-pair ls))))))
;; (global-set-key "\C-s" 'isearch-forward)
(define-key ivy-minibuffer-map (kbd "C-w") 'ivy-yank-word)
(define-key ivy-minibuffer-map (kbd "<RET>") 'ivy-alt-done)
;; don't complete with C-f
(define-key company-active-map (kbd "C-f") nil)
(global-set-key (kbd "C-S-c C-S-c") 'mc/edit-lines)
(global-set-key (kbd "C->") 'mc/mark-next-like-this)
(global-set-key (kbd "C-<") 'mc/mark-previous-like-this)
(global-set-key (kbd "C-c C-<") 'mc/mark-all-like-this)
(require 'golden-ratio-scroll-screen)
(global-set-key [remap scroll-down-command] 'golden-ratio-scroll-screen-down)
(global-set-key [remap scroll-up-command] 'golden-ratio-scroll-screen-up)
(setq golden-ratio-scroll-highlight-flag nil)
(global-set-key (kbd "s-w") nil)
(global-set-key (kbd "s-p") nil)
(global-set-key (kbd "TAB") 'company-indent-or-complete-common)
(defvaralias 'counsel--git-grep-dir 'counsel--git-dir)
;; workaround on https://github.com/syl20bnr/spacemacs/issues/9169
(remove-hook 'git-rebase-mode-hook 'evil-magit-add-rebase-messages)
(add-hook 'git-rebase-mode-hook 'git-rebase-mode-show-keybindings t)
;; workaround on https://github.com/syl20bnr/spacemacs/issues/6578
(require 'ensime)
;; don't insert snippet with signature on completion, please...
(defun ensime--yasnippet-complete-action (&optional args))
(require 'epa-file)
(require 'company-tabnine)
;; (push 'company-tabnine company-backends-rust-mode)
(global-set-key [C-tab] #'company-try-hard)
(define-key company-active-map [C-tab] #'company-try-hard)
;; c++ stuff
(setq flycheck-clang-warnings (list "all"))
(setq flycheck-clang-language-standard "c++11")
(setq flycheck-clang-include-path (list "/usr/local/opt/llvm@7/include"))
(setq rtags-verify-protocol-version nil)
(define-key c++-mode-map (kbd "TAB") 'company-indent-or-complete-common)
(add-hook 'c++-mode-hook
(lambda ()
(add-to-list 'company-c-headers-path-system
"/usr/local/opt/llvm@7/include"))
t)
(when (file-exists-p "~/.emacs.d/external.el")
(load-file "~/.emacs.d/external.el")))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment