-
-
Save expede/b2e6b7a012053918eded to your computer and use it in GitHub Desktop.
;; -*- mode: emacs-lisp -*- | |
;; This file is loaded by Spacemacs at startup. | |
;; It must be stored in your home directory. | |
(defun dotspacemacs/layers () | |
"Configuration Layers declaration. | |
You should not put any user code in this function besides modifying the variable | |
values." | |
(setq-default | |
;; Base distribution to use. This is a layer contained in the directory | |
;; `+distribution'. For now available distributions are `spacemacs-base' | |
;; or `spacemacs'. (default 'spacemacs) | |
dotspacemacs-distribution 'spacemacs | |
;; List of additional paths where to look for configuration layers. | |
;; Paths must have a trailing slash (i.e. `~/.mycontribs/') | |
dotspacemacs-configuration-layer-path '() | |
;; List of configuration layers to load. If it is the symbol `all' instead | |
;; of a list then all discovered layers will be installed. | |
dotspacemacs-configuration-layers | |
'( | |
;; ---------------------------------------------------------------- | |
;; Example of useful layers you may want to use right away. | |
;; Uncomment some layer names and press <SPC f e R> (Vim style) or | |
;; <M-m f e R> (Emacs style) to install them. | |
;; ---------------------------------------------------------------- | |
expede | |
;; agda | |
;; spotify | |
elm | |
semantic | |
dash | |
auto-completion | |
better-defaults | |
evil-snipe | |
markdown | |
org | |
spell-checking | |
syntax-checking | |
autohotkey | |
extra-langs | |
clojure | |
colors | |
c-c++ | |
erlang | |
elixir | |
emacs-lisp | |
go | |
html | |
idris | |
rcirc | |
javascript | |
racket | |
;; scala | |
git | |
github | |
(version-control :variables | |
version-control-diff-tool 'diff-hl) | |
react | |
;; ocaml | |
osx | |
themes-megapack | |
purescript | |
rust | |
sql | |
(shell :variables | |
shell-default-height 30 | |
shell-default-position 'bottom) | |
ruby | |
ruby-on-rails | |
xkcd | |
yaml | |
swift | |
(haskell :variables | |
haskell-enable-ghc-mod-support t | |
haskell-enable-ghci-ng-support t | |
;; haskell-enable-shm-support t | |
) | |
;; (wakatime :variables | |
;; wakatime-api-key "KEY" | |
;; ;; use the actual wakatime path | |
;; wakatime-cli-path "/usr/local/bin/wakatime") | |
) | |
;; List of additional packages that will be installed without being | |
;; wrapped in a layer. If you need some configuration for these | |
;; packages then consider to create a layer, you can also put the | |
;; configuration in `dotspacemacs/config'. | |
dotspacemacs-additional-packages '(base16-theme) | |
;; A list of packages and/or extensions that will not be install and loaded. | |
dotspacemacs-excluded-packages '() | |
;; If non-nil spacemacs will delete any orphan packages, i.e. packages that | |
;; are declared in a layer which is not a member of | |
;; the list `dotspacemacs-configuration-layers'. (default t) | |
dotspacemacs-delete-orphan-packages t)) | |
(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." | |
;; This setq-default sexp is an exhaustive list of all the supported | |
;; spacemacs settings. | |
(setq-default | |
;; One of `vim', `emacs' or `hybrid'. Evil is always enabled but if the | |
;; variable is `emacs' then the `holy-mode' is enabled at startup. `hybrid' | |
;; uses emacs key bindings for vim's insert mode, but otherwise leaves evil | |
;; unchanged. (default 'vim) | |
dotspacemacs-editing-style 'hybrid | |
;; If non nil output loading progress in `*Messages*' buffer. (default nil) | |
dotspacemacs-verbose-loading nil | |
;; Specify the startup banner. Default value is `official', it displays | |
;; the official spacemacs logo. An integer value is the index of text | |
;; banner, `random' chooses a random text banner in `core/banners' | |
;; 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 '000 | |
;; List of items to show in the startup buffer. If nil it is disabled. | |
;; Possible values are: `recents' `bookmarks' `projects'. | |
;; (default '(recents projects)) | |
dotspacemacs-startup-lists '(recents projects) | |
;; List of themes, the first of the list is loaded when spacemacs starts. | |
;; 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 '( | |
material | |
sanityinc-solarized-dark | |
misterioso | |
base16-monokai-dark | |
solarized-dark | |
monokai | |
spacemacs-dark | |
spacemacs-light | |
solarized-light | |
subatomic | |
toxi | |
atom-dark-theme | |
leuven | |
monokai | |
zenburn) | |
;; If non nil the cursor color matches the state color. | |
dotspacemacs-colorize-cursor-according-to-state t | |
;; Default font. `powerline-scale' allows to quickly tweak the mode-line | |
;; size to make separators look not too crappy. | |
dotspacemacs-default-font '("Input Mono" ;;"Operator Mono SSm" ;; "Input Mono" ;;"Hasklig" | |
:size 12 | |
:weight normal | |
;; :weight light | |
:width normal | |
:powerline-scale 1.2) ;; 1.1) | |
;; The leader key | |
dotspacemacs-leader-key "SPC" | |
;; The leader key accessible in `emacs state' and `insert state' | |
;; (default "M-m") | |
dotspacemacs-emacs-leader-key "M-m" | |
;; Major mode leader key is a shortcut key which is the equivalent of | |
;; pressing `<leader> m`. Set it to `nil` to disable it. (default ",") | |
dotspacemacs-major-mode-leader-key "," | |
;; Major mode leader key accessible in `emacs state' and `insert state'. | |
;; (default "C-M-m) | |
dotspacemacs-major-mode-emacs-leader-key "C-M-m" | |
;; The command key used for Evil commands (ex-commands) and | |
;; Emacs commands (M-x). | |
;; By default the command key is `:' so ex-commands are executed like in Vim | |
;; with `:' and Emacs commands are executed with `<leader> :'. | |
dotspacemacs-command-key ":" | |
;; If non nil `Y' is remapped to `y$'. (default t) | |
dotspacemacs-remap-Y-to-y$ t | |
;; Location where to auto-save files. Possible values are `original' to | |
;; auto-save the file in-place, `cache' to auto-save the file to another | |
;; file stored in the cache directory and `nil' to disable auto-saving. | |
;; (default 'cache) | |
dotspacemacs-auto-save-file-location 'cache | |
;; If non nil then `ido' replaces `helm' for some commands. For now only | |
;; `find-files' (SPC f f), `find-spacemacs-file' (SPC f e s), and | |
;; `find-contrib-file' (SPC f e c) are replaced. (default nil) | |
dotspacemacs-use-ido nil | |
;; If non nil, `helm' will try to miminimize the space it uses. (default nil) | |
dotspacemacs-helm-resize nil | |
;; if non nil, the helm header is hidden when there is only one source. | |
;; (default nil) | |
dotspacemacs-helm-no-header nil | |
;; define the position to display `helm', options are `bottom', `top', | |
;; `left', or `right'. (default 'bottom) | |
dotspacemacs-helm-position 'bottom | |
;; If non nil the paste micro-state is enabled. When enabled pressing `p` | |
;; several times cycle between the kill ring content. (default nil) | |
dotspacemacs-enable-paste-micro-state nil | |
;; Which-key delay in seconds. The which-key buffer is the popup listing | |
;; the commands bound to the current keystroke sequence. (default 0.4) | |
dotspacemacs-which-key-delay 0.4 | |
;; Which-key frame position. Possible values are `right', `bottom' and | |
;; `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 | |
;; 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 t | |
;; If non nil the frame is fullscreen when Emacs starts up. (default nil) | |
;; (Emacs 24.4+ only) | |
dotspacemacs-fullscreen-at-startup nil | |
;; If non nil `spacemacs/toggle-fullscreen' will not use native fullscreen. | |
;; Use to disable fullscreen animations in OSX. (default nil) | |
dotspacemacs-fullscreen-use-non-native nil | |
;; If non nil the frame is maximized when Emacs starts up. | |
;; Takes effect only if `dotspacemacs-fullscreen-at-startup' is nil. | |
;; (default nil) (Emacs 24.4+ only) | |
dotspacemacs-maximized-at-startup nil | |
;; A value from the range (0..100), in increasing opacity, which describes | |
;; the transparency level of a frame when it's active or selected. | |
;; Transparency can be toggled through `toggle-transparency'. (default 90) | |
dotspacemacs-active-transparency 90 | |
;; A value from the range (0..100), in increasing opacity, which describes | |
;; the transparency level of a frame when it's inactive or deselected. | |
;; Transparency can be toggled through `toggle-transparency'. (default 90) | |
dotspacemacs-inactive-transparency 90 | |
;; If non nil unicode symbols are displayed in the mode line. (default t) | |
dotspacemacs-mode-line-unicode-symbols t | |
;; If non nil smooth scrolling (native-scrolling) is enabled. Smooth | |
;; scrolling overrides the default behavior of Emacs which recenters the | |
;; point when it reaches the top or bottom of the screen. (default t) | |
dotspacemacs-smooth-scrolling t | |
;; If non-nil smartparens-strict-mode will be enabled in programming modes. | |
;; (default nil) | |
dotspacemacs-smartparens-strict-mode nil | |
;; 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 advises 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 | |
)) | |
(defun dotspacemacs/user-init () | |
"Initialization function for user code. | |
It is called immediately after `dotspacemacs/init'. You are free to put any | |
user code." | |
(add-to-list 'exec-path "~/.cabal/bin/") | |
(setq-default | |
;; js2-mode | |
js2-basic-offset 2 | |
js-indent-level 2 | |
;; web-mode | |
css-indent-offset 2 | |
web-mode-markup-indent-offset 2 | |
web-mode-css-indent-offset 2 | |
web-mode-code-indent-offset 2 | |
web-mode-attr-indent-offset 2) | |
) | |
(defun dotspacemacs/user-config () | |
"Configuration function for user code. | |
This function is called at the very end of Spacemacs initialization after | |
layers configuration. You are free to put any user code." | |
(golden-ratio-mode 1) | |
(whitespace-mode 1) | |
(crosshairs-mode 1) | |
;; Indentation | |
(indent-guide-global-mode 1) | |
;; Show 80-column marker | |
(define-globalized-minor-mode global-fci-mode fci-mode (lambda () (fci-mode 1))) | |
(global-fci-mode 1) | |
;; Haskell | |
(setq haskell-font-lock-symbols t) | |
(custom-set-variables '(haskell-stylish-on-save t)) | |
;; Clojure | |
(setq clojure-enable-fancify-symbols t) | |
;; Whitespace & wrapping | |
(setq-default truncate-lines t) | |
(add-hook 'before-save-hook 'delete-trailing-whitespace) | |
;; Indentation | |
;; Highlighting | |
(add-hook 'after-init-hook #'toggle-crosshairs-when-idle 1) | |
(add-hook 'after-init-hook #'crosshairs-mode) | |
(setq col-highlight-vline-face-flag t | |
col-highlight-face hl-line-face) | |
) | |
;; Do not write anything past this comment. This is where Emacs will | |
;; auto-generate custom variable definitions. | |
(custom-set-variables | |
;; custom-set-variables was added by Custom. | |
;; If you edit it by hand, you could mess it up, so be careful. | |
;; Your init file should contain only one such instance. | |
;; If there is more than one, they won't work right. | |
'(ansi-color-faces-vector | |
[default default default italic underline success warning error]) | |
'(compilation-message-face (quote default)) | |
'(cua-global-mark-cursor-color "#2aa198") | |
'(cua-normal-cursor-color "#839496") | |
'(cua-overwrite-cursor-color "#b58900") | |
'(cua-read-only-cursor-color "#859900") | |
'(custom-safe-themes | |
(quote | |
("4aee8551b53a43a883cb0b7f3255d6859d766b6c5e14bcb01bed572fcbef4328" "20e359ef1818a838aff271a72f0f689f5551a27704bf1c9469a5c2657b417e6c" "d4e9f95acd51433b776f1127143bbc7d0f1d41112d547e5b7a9a506be369dc39" "38ba6a938d67a452aeb1dada9d7cdeca4d9f18114e9fc8ed2b972573138d4664" "4cf3221feff536e2b3385209e9b9dc4c2e0818a69a1cdb4b522756bcdf4e00a4" "df3e05e16180d77732ceab47a43f2fcdb099714c1c47e91e8089d2fcf5882ea3" "d8f76414f8f2dcb045a37eb155bfaa2e1d17b6573ed43fb1d18b936febc7bbc2" "30b7087fdd149a523aa614568dc6bacfab884145f4a67d64c80d6011d4c90837" "8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" "b571f92c9bfaf4a28cb64ae4b4cdbda95241cd62cf07d942be44dc8f46c491f4" "7f5837a7dbf54c2b7c41d94f5eb1373cf63274847d1971037faa24d7f2231eea" "bffa9739ce0752a37d9b1eee78fc00ba159748f50dc328af4be661484848e476" "34e7163479ef3669943b3b9b1fabe639d6e0a0453e0de79cea2c52cb520d3bc4" default))) | |
'(haskell-stylish-on-save t t) | |
'(highlight-changes-colors (quote ("#FD5FF0" "#AE81FF"))) | |
'(highlight-symbol-colors | |
(--map | |
(solarized-color-blend it "#002b36" 0.25) | |
(quote | |
("#b58900" "#2aa198" "#dc322f" "#6c71c4" "#859900" "#cb4b16" "#268bd2")))) | |
'(highlight-symbol-foreground-color "#93a1a1") | |
'(highlight-tail-colors | |
(quote | |
(("#3E3D31" . 0) | |
("#67930F" . 20) | |
("#349B8D" . 30) | |
("#21889B" . 50) | |
("#968B26" . 60) | |
("#A45E0A" . 70) | |
("#A41F99" . 85) | |
("#3E3D31" . 100)))) | |
'(hl-bg-colors | |
(quote | |
("#7B6000" "#8B2C02" "#990A1B" "#93115C" "#3F4D91" "#00629D" "#00736F" "#546E00"))) | |
'(hl-fg-colors | |
(quote | |
("#002b36" "#002b36" "#002b36" "#002b36" "#002b36" "#002b36" "#002b36" "#002b36"))) | |
'(hl-sexp-background-color "#1c1f26") | |
'(magit-diff-use-overlays nil) | |
'(package-selected-packages | |
(quote | |
(org-plus-contrib popup zonokai-theme zenburn-theme zen-and-art-theme yard-mode yaml-mode xterm-color xkcd ws-butler wolfram-mode window-numbering which-key web-mode web-beautify w3m volatile-highlights vi-tilde-fringe use-package underwater-theme ujelly-theme twilight-theme twilight-bright-theme twilight-anti-bright-theme tronesque-theme toxi-theme toml-mode toc-org tao-theme tangotango-theme tango-plus-theme tango-2-theme tagedit swift-mode sunny-day-theme sublime-themes subatomic256-theme subatomic-theme stickyfunc-enhance stekene-theme stan-mode srefactor sql-indent spacemacs-theme spaceline spacegray-theme soothe-theme soft-stone-theme soft-morning-theme soft-charcoal-theme smyx-theme smooth-scrolling smeargle slim-mode shm shell-pop seti-theme scss-mode scad-mode sass-mode rvm ruby-tools ruby-test-mode ruby-end rubocop rspec-mode robe reverse-theme reveal-in-osx-finder restart-emacs rcirc-notify rcirc-color rbenv rainbow-mode rainbow-identifiers rainbow-delimiters railscasts-theme racket-mode racer quelpa qml-mode purple-haze-theme psci psc-ide projectile-rails professional-theme popwin planet-theme phoenix-dark-pink-theme phoenix-dark-mono-theme persp-mode pbcopy pastels-on-dark-theme paradox page-break-lines osx-trash orgit organic-green-theme org-repo-todo org-present org-pomodoro org-bullets open-junk-file omtose-phellack-theme oldlace-theme occidental-theme obsidian-theme noctilux-theme niflheim-theme neotree naquadah-theme mustang-theme multi-term move-text monokai-theme monochrome-theme molokai-theme moe-theme mmm-mode minimal-theme matlab-mode material-theme markdown-toc majapahit-theme magit-gitflow magit-gh-pulls macrostep lush-theme lorem-ipsum linum-relative light-soap-theme leuven-theme less-css-mode launchctl julia-mode json-mode js2-refactor js-doc jekyll-modes jbeans-theme jazz-theme jade-mode ir-black-theme inkpot-theme info+ indent-guide idris-mode ido-vertical-mode hyde hungry-delete htmlize hl-todo hindent highlight-parentheses highlight-numbers highlight-indentation heroku-theme hemisu-theme help-fns+ helm-themes helm-swoop helm-projectile helm-mode-manager helm-make helm-gitignore helm-flyspell helm-flx helm-descbinds helm-dash helm-css-scss helm-company helm-c-yasnippet helm-ag hc-zenburn-theme haskell-snippets gruvbox-theme gruber-darker-theme grandshell-theme gotham-theme google-translate golden-ratio gnuplot github-clone github-browse-file gitconfig-mode gitattributes-mode git-timemachine git-messenger git-link git-gutter-fringe git-gutter-fringe+ gist gh-md gandalf-theme flycheck-rust flycheck-pos-tip flycheck-haskell flycheck-elm flx-ido flatui-theme flatland-theme firebelly-theme fill-column-indicator feature-mode farmhouse-theme fancy-battery expand-region exec-path-from-shell evil-visualstar evil-tutor evil-surround evil-snipe evil-search-highlight-persist evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-magit evil-lisp-state evil-indent-plus evil-iedit-state evil-exchange evil-escape evil-args evil-anzu espresso-theme eshell-prompt-extras esh-help erlang emmet-mode elm-mode elisp-slime-nav dracula-theme django-theme disaster diff-hl define-word dash-at-point darktooth-theme darkmine-theme darkburn-theme dakrone-theme cyberpunk-theme crosshairs company-web company-tern company-statistics company-racer company-quickhelp company-ghc company-cabal company-c-headers colorsarenice-theme color-theme-sanityinc-tomorrow color-theme-sanityinc-solarized coffee-mode cmm-mode cmake-mode clues-theme clj-refactor clean-aindent-mode clang-format cider-eval-sexp-fu chruby cherry-blossom-theme busybee-theme bundler buffer-move bubbleberry-theme bracketed-paste birds-of-paradise-plus-theme base16-theme badwolf-theme auto-yasnippet auto-highlight-symbol auto-dictionary auto-compile arduino-mode apropospriate-theme anti-zenburn-theme ample-zen-theme ample-theme alect-themes alchemist ahk-mode aggressive-indent afternoon-theme adaptive-wrap ace-window ace-link ace-jump-helm-line ac-ispell))) | |
'(pos-tip-background-color "#073642") | |
'(pos-tip-foreground-color "#93a1a1") | |
'(smartrep-mode-line-active-bg (solarized-color-blend "#859900" "#073642" 0.2)) | |
'(term-default-bg-color "#002b36") | |
'(term-default-fg-color "#839496") | |
'(weechat-color-list | |
(unspecified "#272822" "#3E3D31" "#A20C41" "#F92672" "#67930F" "#A6E22E" "#968B26" "#E6DB74" "#21889B" "#66D9EF" "#A41F99" "#FD5FF0" "#349B8D" "#A1EFE4" "#F8F8F2" "#F8F8F0"))) | |
(custom-set-faces | |
;; custom-set-faces was added by Custom. | |
;; If you edit it by hand, you could mess it up, so be careful. | |
;; Your init file should contain only one such instance. | |
;; If there is more than one, they won't work right. | |
'(default ((t (:family "Hasklig" :foundry "nil" :slant normal :weight normal :height 130 :width normal)))) | |
'(company-tooltip-common ((t (:inherit company-tooltip :weight bold :underline nil)))) | |
'(company-tooltip-common-selection ((t (:inherit company-tooltip-selection :weight bold :underline nil))))) |
@jawwada: I think that spacemacs
set of packages is a great option for vi
users coming to emacs
! It lets you keep the vi
keybindings that you're used to, plus a bunch of other niceties.
My spacemacs
config file (this file) is pretty idiosyncratic, so it might not be the best place to start, though ๐
can you work simultaneously with ghc-mod and ghci-ng without having issues?
Thank you for putting this up. The file looks the closest to enabling use of the Hasklig font. However, I tried to load it in spacemacs (Version 24.5 (9.0) to no avail. Do you have an updated version of the file? - E
did you tried putting this code in the .spacemacs file?
METAKEY - m (alt-m on my windows) then m - f - e - d
?
Then you must sync:
METAKEY - m (alt-m on my windows) then m - f - e - R
@expede did you install crosshairs mode via melpa?
I'm trying to reset my github credentials in spacemacs to use github. And by searching spacemacs + github + token
I ended up in your gist. More precisely in your token here I think this should not be publically available.
Super sweet 80 char column!
But yeah, definitely remove and change that api token.
Well, goes to show how often I check this Gist.
That key wasn't active, but I've removed it to lower everyone's anxiety ๐ Thanks!
What is the purpose of this file, i just installed it I am learning emacs , am a vi user, will this help