aboutsummaryrefslogtreecommitdiff
path: root/spacemacs
diff options
context:
space:
mode:
Diffstat (limited to 'spacemacs')
-rw-r--r--spacemacs226
1 files changed, 165 insertions, 61 deletions
diff --git a/spacemacs b/spacemacs
index aa1365d..f4af560 100644
--- a/spacemacs
+++ b/spacemacs
@@ -38,8 +38,8 @@ values."
version-control
themes-megapack
games
- emoji
- syntax-checking
+ (syntax-checking
+ :variables flycheck-python-flake8-executable "flake8")
better-defaults
dash
ranger
@@ -48,12 +48,14 @@ values."
nil)
(shell)
search-engine
+ multiple-cursors
; Languages
emacs-lisp
vimscript
(python :variables python-shell-interpreter
- "/usr/bin/python3")
+ "/usr/bin/python3"
+ )
(c-c++ :variables c-c++-enable-clang-support
t c-c++-default-mode-for-headers 'c++-mode)
(csharp :variables omnisharp-server-executable-path
@@ -76,10 +78,11 @@ values."
'(
yasnippet-snippets
wakatime-mode
+ pipenv
)
;; A list of packages that cannot be updated.
- dotspacemacs-frozen-packages
- '()
+ dotspacemacs-frozen-packages '()
+
;; A list of packages that will not be installed and loaded.
dotspacemacs-excluded-packages
'(google-c-style)
@@ -94,30 +97,68 @@ values."
'used-only))
(defun dotspacemacs/init ()
- "Initialization function.
-This function is called at the very startup of Spacemacs initialization
-before layers configuration.
-You should not put any user code in there besides modifying the variable
-values."
+ "Initialization:
+This function is called at the very beginning of Spacemacs startup,
+before layer configuration.
+It should only modify the values of Spacemacs settings."
;; This setq-default sexp is an exhaustive list of all the supported
;; spacemacs settings.
(setq-default
- ;; If non nil ELPA repositories are contacted via HTTPS whenever it's
+ ;; If non-nil then enable support for the portable dumper. You'll need
+ ;; to compile Emacs 27 from source following the instructions in file
+ ;; EXPERIMENTAL.org at to root of the git repository.
+ ;; (default nil)
+ dotspacemacs-enable-emacs-pdumper nil
+
+ ;; File path pointing to emacs 27.1 executable compiled with support
+ ;; for the portable dumper (this is currently the branch pdumper).
+ ;; (default "emacs-27.0.50")
+ dotspacemacs-emacs-pdumper-executable-file "emacs-27.0.50"
+
+ ;; Name of the Spacemacs dump file. This is the file will be created by the
+ ;; portable dumper in the cache directory under dumps sub-directory.
+ ;; To load it when starting Emacs add the parameter `--dump-file'
+ ;; when invoking Emacs 27.1 executable on the command line, for instance:
+ ;; ./emacs --dump-file=~/.emacs.d/.cache/dumps/spacemacs.pdmp
+ ;; (default spacemacs.pdmp)
+ dotspacemacs-emacs-dumper-dump-file "spacemacs.pdmp"
+
+ ;; If non-nil ELPA repositories are contacted via HTTPS whenever it's
;; possible. Set it to nil if you have no way to use HTTPS in your
;; environment, otherwise it is strongly recommended to let it set to t.
;; This variable has no effect if Emacs is launched with the parameter
;; `--insecure' which forces the value of this variable to nil.
- ;; (default t) dotspacemacs-elpa-https t
- ;; Maximum allowed time in seconds to contact an ELPA repository. dotspacemacs-elpa-timeout 5
- ;; If non nil then spacemacs will check for updates at startup
+ ;; (default t)
+ dotspacemacs-elpa-https t
+
+ ;; Maximum allowed time in seconds to contact an ELPA repository.
+ ;; (default 5)
+ dotspacemacs-elpa-timeout 5
+
+ ;; Set `gc-cons-threshold' and `gc-cons-percentage' when startup finishes.
+ ;; This is an advanced option and should not be changed unless you suspect
+ ;; performance issues due to garbage collection operations.
+ ;; (default '(100000000 0.1))
+ dotspacemacs-gc-cons '(100000000 0.1)
+
+ ;; If non-nil then Spacelpa repository is the primary source to install
+ ;; a locked version of packages. If nil then Spacemacs will install the
+ ;; latest version of packages from MELPA. (default nil)
+ dotspacemacs-use-spacelpa nil
+
+ ;; If non-nil then verify the signature for downloaded Spacelpa archives.
+ ;; (default nil)
+ dotspacemacs-verify-spacelpa-archives nil
+
+ ;; If non-nil then spacemacs will check for updates at startup
;; when the current branch is not `develop'. Note that checking for
;; new versions works via git commands, thus it calls GitHub services
;; whenever you start Emacs. (default nil) dotspacemacs-check-for-update nil
;; If non-nil, a form that evaluates to a package directory. For example, to
;; use different package directories for different Emacs versions, set this
- ;; to `emacs-version'.
- dotspacemacs-elpa-subdirectory
- nil
+ ;; to `emacs-version'. (default 'emacs-version)
+ dotspacemacs-elpa-subdirectory 'emacs-version
+
;; One of `vim', `emacs' or `hybrid'.
;; `hybrid' is like `vim' except that `insert state' is replaced by the
;; `hybrid state' with `emacs' key bindings. The value can also be a list
@@ -135,12 +176,12 @@ values."
;; directory. A string value must be a path to an image format supported
;; by your Emacs build.
;; If the value is nil then no banner is displayed. (default 'official)
- dotspacemacs-startup-banner
- 'official
+ dotspacemacs-startup-banner 'official
+
;; List of items to show in startup buffer or an association list of
;; the form `(list-type . list-size)`. If nil then it is disabled.
;; Possible values for list-type are:
- ;; `recents' `bookmarks' `projects' `agenda' `todos'."
+ ;; `recents' `bookmarks' `projects' `agenda' `todos'.
;; List sizes may be nil, in which case
;; `spacemacs-buffer-startup-lists-length' takes effect.
dotspacemacs-startup-lists
@@ -156,7 +197,7 @@ values."
;; Press <SPC> T n to cycle to the next theme in the list (works great
;; with 2 themes variants, one dark and one light)
dotspacemacs-themes
- '(monokai spacemacs-dark)
+ '(monokai solarized-dark)
;; If non nil the cursor color matches the state color in GUI Emacs.
dotspacemacs-colorize-cursor-according-to-state
t
@@ -172,11 +213,11 @@ values."
"SPC"
;; The key used for Emacs commands (M-x) (after pressing on the leader key).
;; (default "SPC")
- dotspacemacs-emacs-command-key
- "SPC"
+ dotspacemacs-emacs-command-key "SPC"
+
;; The key used for Vim Ex commands (default ":")
- dotspacemacs-ex-command-key
- ":"
+ dotspacemacs-ex-command-key ":"
+
;; The leader key accessible in `emacs state' and `insert state'
;; (default "M-m")
dotspacemacs-emacs-leader-key
@@ -266,9 +307,16 @@ values."
;; `right-then-bottom'. right-then-bottom tries to display the frame to the
;; right; if there is insufficient space it displays it at the bottom.
;; (default 'bottom)
- dotspacemacs-which-key-position
- 'bottom
- ;; If non nil a progress bar is displayed when spacemacs is loading. This
+ dotspacemacs-which-key-position 'bottom
+
+ ;; Control where `switch-to-buffer' displays the buffer. If nil,
+ ;; `switch-to-buffer' displays the buffer in the current window even if
+ ;; another same-purpose window is available. If non-nil, `switch-to-buffer'
+ ;; displays the buffer in a same-purpose window even if the buffer can be
+ ;; displayed in the current window. (default nil)
+ dotspacemacs-switch-to-buffer-prefers-purpose nil
+
+ ;; If non-nil a progress bar is displayed when spacemacs is loading. This
;; may increase the boot time on some systems and emacs builds, set it to
;; nil to boost the loading time. (default t)
dotspacemacs-loading-progress-bar
@@ -341,41 +389,89 @@ values."
;; Select a scope to highlight delimiters. Possible values are `any',
;; `current', `all' or `nil'. Default is `all' (highlight any scope and
;; emphasis the current one). (default 'all)
- dotspacemacs-highlight-delimiters
- 'all
- ;; If non nil, advise quit functions to keep server open when quitting.
+ dotspacemacs-highlight-delimiters 'all
+
+ ;; If non-nil, start an Emacs server if one is not already running.
;; (default nil)
- dotspacemacs-persistent-server
- nil
+ dotspacemacs-enable-server nil
+
+ ;; Set the emacs server socket location.
+ ;; If nil, uses whatever the Emacs default is, otherwise a directory path
+ ;; like \"~/.emacs.d/server\". It has no effect if
+ ;; `dotspacemacs-enable-server' is nil.
+ ;; (default nil)
+ dotspacemacs-server-socket-dir nil
+
+ ;; If non-nil, advise quit functions to keep server open when quitting.
+ ;; (default nil)
+ dotspacemacs-persistent-server nil
+
;; List of search tool executable names. Spacemacs uses the first installed
- ;; tool of the list. Supported tools are `ag', `pt', `ack' and `grep'.
- ;; (default '("ag" "pt" "ack" "grep"))
- dotspacemacs-search-tools
- '("ag" "pt" "ack" "grep")
- ;; The default package repository used if no explicit repository has been
- ;; specified with an installed package.
- ;; Not used for now. (default nil)
- dotspacemacs-default-package-repository
- nil
+ ;; tool of the list. Supported tools are `rg', `ag', `pt', `ack' and `grep'.
+ ;; (default '("rg" "ag" "pt" "ack" "grep"))
+ dotspacemacs-search-tools '("rg" "ag" "pt" "ack" "grep")
+
+ ;; Format specification for setting the frame title.
+ ;; %a - the `abbreviated-file-name', or `buffer-name'
+ ;; %t - `projectile-project-name'
+ ;; %I - `invocation-name'
+ ;; %S - `system-name'
+ ;; %U - contents of $USER
+ ;; %b - buffer name
+ ;; %f - visited file name
+ ;; %F - frame name
+ ;; %s - process status
+ ;; %p - percent of buffer above top of window, or Top, Bot or All
+ ;; %P - percent of buffer above bottom of window, perhaps plus Top, or Bot or All
+ ;; %m - mode name
+ ;; %n - Narrow if appropriate
+ ;; %z - mnemonics of buffer, terminal, and keyboard coding systems
+ ;; %Z - like %z, but including the end-of-line format
+ ;; (default "%I@%S")
+ dotspacemacs-frame-title-format "%I@%S"
+
+ ;; Format specification for setting the icon title format
+ ;; (default nil - same as frame-title-format)
+ dotspacemacs-icon-title-format nil
+
;; Delete whitespace while saving buffer. Possible values are `all'
;; to aggressively delete empty line and long sequences of whitespace,
- ;; `trailing' to delete only the whitespace at end of lines, `changed'to
+ ;; `trailing' to delete only the whitespace at end of lines, `changed' to
;; delete only whitespace for changed lines or `nil' to disable cleanup.
;; (default nil)
- dotspacemacs-whitespace-cleanup
- nil))
+ dotspacemacs-whitespace-cleanup nil
+
+ ;; Either nil or a number of seconds. If non-nil zone out after the specified
+ ;; number of seconds. (default nil)
+ dotspacemacs-zone-out-when-idle nil
+
+ ;; Run `spacemacs/prettify-org-buffer' when
+ ;; visiting README.org files of Spacemacs.
+ ;; (default nil)
+ dotspacemacs-pretty-docs nil))
+
+(defun dotspacemacs/user-env ()
+ "Environment variables setup.
+This function defines the environment variables for your Emacs session. By
+default it calls `spacemacs/load-spacemacs-env' which loads the environment
+variables declared in `~/.spacemacs.env' or `~/.spacemacs.d/.spacemacs.env'.
+See the header of this file for more information."
+ (spacemacs/load-spacemacs-env))
(defun dotspacemacs/user-init ()
- "Initialization function for user code.
-It is called immediately after `dotspacemacs/init', before layer configuration
-executes.
- This function is mostly useful for variables that need to be set
-before packages are loaded. If you are unsure, you should try in setting them in
-`dotspacemacs/user-config' first."
- (setq initial-frame-alist '((top . 30)
- (left . 700)
- (width . 212)
- (height . 81))))
+ "Initialization for user code:
+This function is called immediately after `dotspacemacs/init', before layer
+configuration.
+It is mostly for variables that should be set before packages are loaded.
+If you are unsure, try setting them in `dotspacemacs/user-config' first."
+ )
+
+(defun dotspacemacs/user-load ()
+ "Library to load while dumping.
+This function is called only while dumping Spacemacs configuration. You can
+`require' or `load' the libraries of your choice that will be included in the
+dump."
+ )
(defun dotspacemacs/user-config ()
"Configuration function for user code.
@@ -388,6 +484,9 @@ you should place your code here."
(global-flycheck-mode)
(global-wakatime-mode)
+ ;; Hooks
+ (add-hook 'python-mode-hook 'pipenv-mode)
+
;; Functions
(defun get-calendar ()
"Open up the calendar scheduler"
@@ -397,6 +496,9 @@ you should place your code here."
;; Keybinds
(spacemacs/set-leader-keys "os" 'helm-etags-select)
(spacemacs/set-leader-keys "oc" 'get-calendar)
+ (spacemacs/set-leader-keys-for-major-mode 'csharp-mode
+ "m=" 'omnisharp-code-format-entire-file)
+
;; elcord
(load-file "~/.emacs.d/private/local/elcord.el")
(require 'elcord))
@@ -418,9 +520,9 @@ you should place your code here."
(java-mode . "java")
(awk-mode . "awk")
(other . "k&r"))))
- '(elcord-display-buffer-details t)
- '(elcord-mode t nil (elcord))
- '(elcord-use-major-mode-as-main-icon t)
+ ;; '(elcord-display-buffer-details t)
+ ;; '(elcord-mode t nil (elcord))
+ ;; '(elcord-use-major-mode-as-main-icon t)
'(evil-want-Y-yank-to-eol nil)
'(flycheck-python-pycompile-executable "\"python3\"")
'(menu-bar-mode nil)
@@ -428,10 +530,12 @@ you should place your code here."
'(org-startup-truncated t)
'(package-selected-packages
(quote
- (vimrc-mode dactyl-mode elcord fsharp-mode company-quickhelp zeal-at-point helm-dash dash-docs stickyfunc-enhance srefactor ranger monokai-pro-theme-theme monokai-pro-theme wakatime-mode xterm-color shell-pop multi-term eshell-z eshell-prompt-extras esh-help mu4e-maildirs-extension mu4e-alert ht flyspell-correct-helm flyspell-correct auto-dictionary yasnippet-snippets unfill mwim mmm-mode markdown-toc markdown-mode gh-md typit mmt sudoku pacmacs 2048 -game emoji-cheat-sheet-plus company-emoji zenburn-theme zen-and-art-theme white-sand-theme underwater-theme ujelly-theme twilight-theme twilight-bright-theme twilight-anti-bright-theme toxi-theme tao-theme tangotango-theme tango-plus-theme tango-2-theme sunny-day-theme sublime-themes subatomic256-theme subatomic-theme spacegray-theme soothe-theme solarized-theme soft-stone-theme soft-morning-theme soft-charcoal-theme smyx-theme seti-theme reverse-theme rebecca-theme railscasts-theme purple-haze-theme professional-theme planet-theme phoenix-dark-pink-theme phoenix-dark-mono-theme organic-green-theme omtose-phellack-theme oldlace-theme occidental-theme obsidian-theme noctilux-theme naquadah-theme mustang-theme monokai-theme monochrome-theme molokai-theme moe-theme minimal-theme material-theme majapahit-theme madhat2r-theme lush-theme light-soap-theme jbeans-theme jazz-theme ir-black-theme inkpot-theme heroku-theme hemisu-theme hc-zenburn-theme gruvbox-theme gruber-darker-theme grandshell-theme gotham-theme gandalf-theme flatui-theme flatland-theme farmhouse-theme exotica-theme espresso-theme dracula-theme django-theme darktooth-theme autothemer darkokai-theme darkmine-theme darkburn-theme dakrone-theme cyberpunk-theme color-theme-sanityinc-tomorrow color-theme-sanityinc-solarized clues-theme cherry-blossom-theme busybee-theme bubbleberry-theme birds-of-paradise-plus-theme badwolf-theme apropospriate-theme anti-zenburn-theme ample-zen-theme ample-theme alect-themes afternoon-theme flycheck-pos-tip pos-tip smeargle orgit magit-gitflow magit-popup helm-gitignore gitignore-mode gitconfig-mode gitattributes-mode git-timemachine git-messenger git-link evil-magit magit transient org-projectile org-category-capture org-present org-pomodoro alert log4e gntp org-mime org-download htmlize gnuplot yapfify pyvenv pytest pyenv-mode py-isort pip-requirements live-py-mode hy-mode helm-pydoc cython-mode company-anaconda anaconda-mode pythonic web-mode web-beautify tagedit slim-mode scss-mode sass-mode pug-mode omnisharp livid-mode skewer-mode simple-httpd less-css-mode json-mode json-snatcher json-reformat js2-refactor multiple-cursors js2-mode js-doc helm-css-scss haml-mode emmet-mode disaster csharp-mode company-web web-completion-data company-tern dash-functional tern company-c-headers coffee-mode cmake-mode clang-format helm-company helm-c-yasnippet git-gutter-fringe+ git-gutter-fringe fringe-helper git-gutter+ git-commit with-editor git-gutter fuzzy diff-hl company-statistics company auto-yasnippet yasnippet ac-ispell auto-complete tide typescript-mode flycheck ws-butler winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package toc-org spaceline powerline restart-emacs request rainbow-delimiters popwin persp-mode pcre2el paradox spinner org-plus-contrib org-bullets open-junk-file neotree move-text macrostep lorem-ipsum linum-relative link-hint indent-guide hydra lv hungry-delete hl-todo highlight-parentheses highlight-numbers parent-mode highlight-indentation helm-themes helm-swoop helm-projectile projectile pkg-info epl helm-mode-manager helm-make helm-flx helm-descbinds helm-ag google-translate golden-ratio flx-ido flx fill-column-indicator fancy-battery eyebrowse expand-region exec-path-from-shell evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-search-highlight-persist highlight evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state smartparens evil-indent-plus evil-iedit-state iedit evil-exchange evil-escape evil-ediff evil-args evil-anzu anzu evil goto-chg undo-tree eval-sexp-fu elisp-slime-nav dumb-jump f dash s diminish define-word column-enforce-mode clean-aindent-mode bind-map bind-key auto-highlight-symbol auto-compile packed aggressive-indent adaptive-wrap ace-window ace-link ace-jump-helm-line helm avy helm-core popup async)))
+ (pipenv vimrc-mode dactyl-mode elcord fsharp-mode company-quickhelp zeal-at-point helm-dash dash-docs stickyfunc-enhance srefactor ranger monokai-pro-theme-theme monokai-pro-theme wakatime-mode xterm-color shell-pop multi-term eshell-z eshell-prompt-extras esh-help mu4e-maildirs-extension mu4e-alert ht flyspell-correct-helm flyspell-correct auto-dictionary yasnippet-snippets unfill mwim mmm-mode markdown-toc markdown-mode gh-md typit mmt sudoku pacmacs 2048 -game emoji-cheat-sheet-plus company-emoji zenburn-theme zen-and-art-theme white-sand-theme underwater-theme ujelly-theme twilight-theme twilight-bright-theme twilight-anti-bright-theme toxi-theme tao-theme tangotango-theme tango-plus-theme tango-2-theme sunny-day-theme sublime-themes subatomic256-theme subatomic-theme spacegray-theme soothe-theme solarized-theme soft-stone-theme soft-morning-theme soft-charcoal-theme smyx-theme seti-theme reverse-theme rebecca-theme railscasts-theme purple-haze-theme professional-theme planet-theme phoenix-dark-pink-theme phoenix-dark-mono-theme organic-green-theme omtose-phellack-theme oldlace-theme occidental-theme obsidian-theme noctilux-theme naquadah-theme mustang-theme monokai-theme monochrome-theme molokai-theme moe-theme minimal-theme material-theme majapahit-theme madhat2r-theme lush-theme light-soap-theme jbeans-theme jazz-theme ir-black-theme inkpot-theme heroku-theme hemisu-theme hc-zenburn-theme gruvbox-theme gruber-darker-theme grandshell-theme gotham-theme gandalf-theme flatui-theme flatland-theme farmhouse-theme exotica-theme espresso-theme dracula-theme django-theme darktooth-theme autothemer darkokai-theme darkmine-theme darkburn-theme dakrone-theme cyberpunk-theme color-theme-sanityinc-tomorrow color-theme-sanityinc-solarized clues-theme cherry-blossom-theme busybee-theme bubbleberry-theme birds-of-paradise-plus-theme badwolf-theme apropospriate-theme anti-zenburn-theme ample-zen-theme ample-theme alect-themes afternoon-theme flycheck-pos-tip pos-tip smeargle orgit magit-gitflow magit-popup helm-gitignore gitignore-mode gitconfig-mode gitattributes-mode git-timemachine git-messenger git-link evil-magit magit transient org-projectile org-category-capture org-present org-pomodoro alert log4e gntp org-mime org-download htmlize gnuplot yapfify pyvenv pytest pyenv-mode py-isort pip-requirements live-py-mode hy-mode helm-pydoc cython-mode company-anaconda anaconda-mode pythonic web-mode web-beautify tagedit slim-mode scss-mode sass-mode pug-mode omnisharp livid-mode skewer-mode simple-httpd less-css-mode json-mode json-snatcher json-reformat js2-refactor multiple-cursors js2-mode js-doc helm-css-scss haml-mode emmet-mode disaster csharp-mode company-web web-completion-data company-tern dash-functional tern company-c-headers coffee-mode cmake-mode clang-format helm-company helm-c-yasnippet git-gutter-fringe+ git-gutter-fringe fringe-helper git-gutter+ git-commit with-editor git-gutter fuzzy diff-hl company-statistics company auto-yasnippet yasnippet ac-ispell auto-complete tide typescript-mode flycheck ws-butler winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package toc-org spaceline powerline restart-emacs request rainbow-delimiters popwin persp-mode pcre2el paradox spinner org-plus-contrib org-bullets open-junk-file neotree move-text macrostep lorem-ipsum linum-relative link-hint indent-guide hydra lv hungry-delete hl-todo highlight-parentheses highlight-numbers parent-mode highlight-indentation helm-themes helm-swoop helm-projectile projectile pkg-info epl helm-mode-manager helm-make helm-flx helm-descbinds helm-ag google-translate golden-ratio flx-ido flx fill-column-indicator fancy-battery eyebrowse expand-region exec-path-from-shell evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-search-highlight-persist highlight evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state smartparens evil-indent-plus evil-iedit-state iedit evil-exchange evil-escape evil-ediff evil-args evil-anzu anzu evil goto-chg undo-tree eval-sexp-fu elisp-slime-nav dumb-jump f dash s diminish define-word column-enforce-mode clean-aindent-mode bind-map bind-key auto-highlight-symbol auto-compile packed aggressive-indent adaptive-wrap ace-window ace-link ace-jump-helm-line helm avy helm-core popup async)))
'(python-shell-exec-path (quote ("python3")))
- '(python-shell-interpreter "python3" t)
- '(standard-indent 2))
+ '(python-shell-interpreter "python3")
+ '(standard-indent 2)
+ '(wakatime-cli-path "/usr/local/bin/wakatime")
+ '(wakatime-python-bin nil))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.