1 ;; -*- mode: emacs-lisp -*-
2 ;; This file is loaded by Spacemacs at startup.
3 ;; It must be stored in your home directory.
5 (defun dotspacemacs/layers ()
6 "Configuration Layers declaration.
7 You should not put any user code in this function besides modifying the variable
10 ;; Base distribution to use. This is a layer contained in the directory
11 ;; `+distribution'. For now available distributions are `spacemacs-base'
12 ;; or `spacemacs'. (default 'spacemacs)
13 dotspacemacs-distribution 'spacemacs
14 ;; If non-nil layers with lazy install support are lazy installed.
16 dotspacemacs-enable-lazy-installation nil
17 ;; List of additional paths where to look for configuration layers.
18 ;; Paths must have a trailing slash (i.e. `~/.mycontribs/')
19 dotspacemacs-configuration-layer-path '()
20 ;; List of configuration layers to load. If it is the symbol `all' instead
21 ;; of a list then all discovered layers will be installed.
22 dotspacemacs-configuration-layers
24 ;; ----------------------------------------------------------------
25 ;; Example of useful layers you may want to use right away.
26 ;; Uncomment some layer names and press <SPC f e R> (Vim style) or
27 ;; <M-m f e R> (Emacs style) to install them.
28 ;; ----------------------------------------------------------------
37 ;; shell-default-height 30
38 ;; shell-default-position 'bottom)
43 ;; List of additional packages that will be installed without being
44 ;; wrapped in a layer. If you need some configuration for these
45 ;; packages, then consider creating a layer. You can also put the
46 ;; configuration in `dotspacemacs/user-config'.
47 dotspacemacs-additional-packages '()
48 ;; A list of packages and/or extensions that will not be install and loaded.
49 dotspacemacs-excluded-packages '()
50 ;; If non-nil spacemacs will delete any orphan packages, i.e. packages that
51 ;; are declared in a layer which is not a member of
52 ;; the list `dotspacemacs-configuration-layers'. (default t)
53 dotspacemacs-delete-orphan-packages t))
55 (defun dotspacemacs/init ()
56 "Initialization function.
57 This function is called at the very startup of Spacemacs initialization
58 before layers configuration.
59 You should not put any user code in there besides modifying the variable
61 ;; This setq-default sexp is an exhaustive list of all the supported
62 ;; spacemacs settings.
64 ;; If non nil ELPA repositories are contacted via HTTPS whenever it's
65 ;; possible. Set it to nil if you have no way to use HTTPS in your
66 ;; environment, otherwise it is strongly recommended to let it set to t.
67 ;; This variable has no effect if Emacs is launched with the parameter
68 ;; `--insecure' which forces the value of this variable to nil.
70 dotspacemacs-elpa-https t
71 ;; Maximum allowed time in seconds to contact an ELPA repository.
72 dotspacemacs-elpa-timeout 5
73 ;; If non nil then spacemacs will check for updates at startup
74 ;; when the current branch is not `develop'. (default t)
75 dotspacemacs-check-for-update t
76 ;; One of `vim', `emacs' or `hybrid'. Evil is always enabled but if the
77 ;; variable is `emacs' then the `holy-mode' is enabled at startup. `hybrid'
78 ;; uses emacs key bindings for vim's insert mode, but otherwise leaves evil
79 ;; unchanged. (default 'vim)
80 dotspacemacs-editing-style 'vim
81 ;; If non nil output loading progress in `*Messages*' buffer. (default nil)
82 dotspacemacs-verbose-loading nil
83 ;; Specify the startup banner. Default value is `official', it displays
84 ;; the official spacemacs logo. An integer value is the index of text
85 ;; banner, `random' chooses a random text banner in `core/banners'
86 ;; directory. A string value must be a path to an image format supported
87 ;; by your Emacs build.
88 ;; If the value is nil then no banner is displayed. (default 'official)
89 dotspacemacs-startup-banner 'official
90 ;; List of items to show in the startup buffer. If nil it is disabled.
91 ;; Possible values are: `recents' `bookmarks' `projects' `agenda' `todos'.
92 ;; (default '(recents projects))
93 dotspacemacs-startup-lists '(recents projects)
94 ;; Number of recent files to show in the startup buffer. Ignored if
95 ;; `dotspacemacs-startup-lists' doesn't include `recents'. (default 5)
96 dotspacemacs-startup-recent-list-size 5
97 ;; Default major mode of the scratch buffer (default `text-mode')
98 dotspacemacs-scratch-mode 'text-mode
99 ;; List of themes, the first of the list is loaded when spacemacs starts.
100 ;; Press <SPC> T n to cycle to the next theme in the list (works great
101 ;; with 2 themes variants, one dark and one light)
102 dotspacemacs-themes '(spacemacs-dark
109 ;; If non nil the cursor color matches the state color in GUI Emacs.
110 dotspacemacs-colorize-cursor-according-to-state t
111 ;; Default font. `powerline-scale' allows to quickly tweak the mode-line
112 ;; size to make separators look not too crappy.
113 dotspacemacs-default-font '("Source Code Pro"
117 :powerline-scale 1.6)
119 dotspacemacs-leader-key "SPC"
120 ;; The leader key accessible in `emacs state' and `insert state'
122 dotspacemacs-emacs-leader-key "M-m"
123 ;; Major mode leader key is a shortcut key which is the equivalent of
124 ;; pressing `<leader> m`. Set it to `nil` to disable it. (default ",")
125 dotspacemacs-major-mode-leader-key ","
126 ;; Major mode leader key accessible in `emacs state' and `insert state'.
128 dotspacemacs-major-mode-emacs-leader-key "C-M-m"
129 ;; The key used for Emacs commands (M-x) (after pressing on the leader key).
131 dotspacemacs-emacs-command-key "SPC"
132 ;; These variables control whether separate commands are bound in the GUI to
133 ;; the key pairs C-i, TAB and C-m, RET.
134 ;; Setting it to a non-nil value, allows for separate commands under <C-i>
135 ;; and TAB or <C-m> and RET.
136 ;; In the terminal, these pairs are generally indistinguishable, so this only
137 ;; works in the GUI. (default nil)
138 dotspacemacs-distinguish-gui-tab nil
139 ;; If non nil `Y' is remapped to `y$' in Evil states. (default nil)
140 dotspacemacs-remap-Y-to-y$ nil
141 ;; If non nil, inverse the meaning of `g' in `:substitute' Evil ex-command.
143 dotspacemacs-ex-substitute-global nil
144 ;; Name of the default layout (default "Default")
145 dotspacemacs-default-layout-name "Default"
146 ;; If non nil the default layout name is displayed in the mode-line.
148 dotspacemacs-display-default-layout nil
149 ;; If non nil then the last auto saved layouts are resume automatically upon
150 ;; start. (default nil)
151 dotspacemacs-auto-resume-layouts nil
152 ;; Location where to auto-save files. Possible values are `original' to
153 ;; auto-save the file in-place, `cache' to auto-save the file to another
154 ;; file stored in the cache directory and `nil' to disable auto-saving.
156 dotspacemacs-auto-save-file-location 'cache
157 ;; Maximum number of rollback slots to keep in the cache. (default 5)
158 dotspacemacs-max-rollback-slots 5
159 ;; If non nil then `ido' replaces `helm' for some commands. For now only
160 ;; `find-files' (SPC f f), `find-spacemacs-file' (SPC f e s), and
161 ;; `find-contrib-file' (SPC f e c) are replaced. (default nil)
162 dotspacemacs-use-ido nil
163 ;; If non nil, `helm' will try to minimize the space it uses. (default nil)
164 dotspacemacs-helm-resize nil
165 ;; if non nil, the helm header is hidden when there is only one source.
167 dotspacemacs-helm-no-header nil
168 ;; define the position to display `helm', options are `bottom', `top',
169 ;; `left', or `right'. (default 'bottom)
170 dotspacemacs-helm-position 'bottom
171 ;; If non nil the paste micro-state is enabled. When enabled pressing `p`
172 ;; several times cycle between the kill ring content. (default nil)
173 dotspacemacs-enable-paste-transient-state nil
174 ;; Which-key delay in seconds. The which-key buffer is the popup listing
175 ;; the commands bound to the current keystroke sequence. (default 0.4)
176 dotspacemacs-which-key-delay 0.4
177 ;; Which-key frame position. Possible values are `right', `bottom' and
178 ;; `right-then-bottom'. right-then-bottom tries to display the frame to the
179 ;; right; if there is insufficient space it displays it at the bottom.
181 dotspacemacs-which-key-position 'bottom
182 ;; If non nil a progress bar is displayed when spacemacs is loading. This
183 ;; may increase the boot time on some systems and emacs builds, set it to
184 ;; nil to boost the loading time. (default t)
185 dotspacemacs-loading-progress-bar t
186 ;; If non nil the frame is fullscreen when Emacs starts up. (default nil)
187 ;; (Emacs 24.4+ only)
188 dotspacemacs-fullscreen-at-startup nil
189 ;; If non nil `spacemacs/toggle-fullscreen' will not use native fullscreen.
190 ;; Use to disable fullscreen animations in OSX. (default nil)
191 dotspacemacs-fullscreen-use-non-native nil
192 ;; If non nil the frame is maximized when Emacs starts up.
193 ;; Takes effect only if `dotspacemacs-fullscreen-at-startup' is nil.
194 ;; (default nil) (Emacs 24.4+ only)
195 dotspacemacs-maximized-at-startup nil
196 ;; A value from the range (0..100), in increasing opacity, which describes
197 ;; the transparency level of a frame when it's active or selected.
198 ;; Transparency can be toggled through `toggle-transparency'. (default 90)
199 dotspacemacs-active-transparency 90
200 ;; A value from the range (0..100), in increasing opacity, which describes
201 ;; the transparency level of a frame when it's inactive or deselected.
202 ;; Transparency can be toggled through `toggle-transparency'. (default 90)
203 dotspacemacs-inactive-transparency 90
204 ;; If non nil show the titles of transient states. (default t)
205 dotspacemacs-show-transient-state-title t
206 ;; If non nil show the color guide hint for transient state keys. (default t)
207 dotspacemacs-show-transient-state-color-guide t
208 ;; If non nil unicode symbols are displayed in the mode line. (default t)
209 dotspacemacs-mode-line-unicode-symbols t
210 ;; If non nil smooth scrolling (native-scrolling) is enabled. Smooth
211 ;; scrolling overrides the default behavior of Emacs which recenters point
212 ;; when it reaches the top or bottom of the screen. (default t)
213 dotspacemacs-smooth-scrolling t
214 ;; If non nil line numbers are turned on in all `prog-mode' and `text-mode'
215 ;; derivatives. If set to `relative', also turns on relative line numbers.
217 dotspacemacs-line-numbers nil
218 ;; If non-nil smartparens-strict-mode will be enabled in programming modes.
220 dotspacemacs-smartparens-strict-mode nil
221 ;; Select a scope to highlight delimiters. Possible values are `any',
222 ;; `current', `all' or `nil'. Default is `all' (highlight any scope and
223 ;; emphasis the current one). (default 'all)
224 dotspacemacs-highlight-delimiters 'all
225 ;; If non nil advises quit functions to keep server open when quitting.
227 dotspacemacs-persistent-server nil
228 ;; List of search tool executable names. Spacemacs uses the first installed
229 ;; tool of the list. Supported tools are `ag', `pt', `ack' and `grep'.
230 ;; (default '("ag" "pt" "ack" "grep"))
231 dotspacemacs-search-tools '("ag" "pt" "ack" "grep")
232 ;; The default package repository used if no explicit repository has been
233 ;; specified with an installed package.
234 ;; Not used for now. (default nil)
235 dotspacemacs-default-package-repository nil
236 ;; Delete whitespace while saving buffer. Possible values are `all'
237 ;; to aggressively delete empty line and long sequences of whitespace,
238 ;; `trailing' to delete only the whitespace at end of lines, `changed'to
239 ;; delete only whitespace for changed lines or `nil' to disable cleanup.
241 dotspacemacs-whitespace-cleanup nil
244 (defun dotspacemacs/user-init ()
245 "Initialization function for user code.
246 It is called immediately after `dotspacemacs/init'. You are free to put almost
247 any user code here. The exception is org related code, which should be placed
248 in `dotspacemacs/user-config'."
251 (defun dotspacemacs/user-config ()
252 "Configuration function for user code.
253 This function is called at the very end of Spacemacs initialization after
254 layers configuration. You are free to put any user code."
255 (setq powerline-default-separator 'slant)
258 ;; Do not write anything past this comment. This is where Emacs will
259 ;; auto-generate custom variable definitions.