diff options
Diffstat (limited to 'spacemacs')
-rw-r--r-- | spacemacs | 226 |
1 files changed, 165 insertions, 61 deletions
@@ -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. |