Last active
August 19, 2019 14:49
-
-
Save OlegTheCat/b910a99e7b05a1071abc95a5d329d5c5 to your computer and use it in GitHub Desktop.
.spacemacs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(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