(require 'package) (set-language-environment "UTF-8") (set-default-coding-systems 'utf-8) (setq package-enable-at-startup nil) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) ;;(add-to-list 'package-archives '("marmalade" . "https://marmalade-repo.org/packages/")) (add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/")) (package-initialize) (unless (package-installed-p 'use-package) (package-refresh-contents) (package-install 'use-package)) (eval-when-compile (require 'use-package)) (require 'diminish) (require 'bind-key) (use-package better-defaults :ensure t) (use-package powerline :ensure t :config (powerline-default-theme) :init ) ;; helm (use-package helm :ensure t :bind (("M-x" . helm-M-x) ("C-x C-f" . helm-find-files) ("C-x b" . helm-mini) ("C-x C-d" . helm-browse-project) ) ) (use-package helm-themes :ensure t) (use-package helm-tramp :ensure t) (use-package unicode-fonts :ensure t :init (unicode-fonts-setup) ) (use-package company :ensure t :init (global-company-mode) :config (progn ;; use company for completion (bind-key [remap completion-at-point] #'company-complete company-mode-map) (setq company-tooltip-align-annotations t ;; Easy navigation to candidates with M- company-show-numbers t) ) :diminish company-mode ) (use-package company-quickhelp ; Documentation popups for Company :ensure t :defer t :init (add-hook 'global-company-mode-hook #'company-quickhelp-mode)) (use-package company-go :ensure t :defer t :init (with-eval-after-load 'company (add-to-list 'company-backends 'company-go))) (use-package flycheck :ensure t :defer t :init (add-hook 'sh-mode-hook 'flycheck-mode) ) (use-package yasnippet :ensure t :init (yas-global-mode 1) ) (use-package go-mode :ensure t :init (progn (setq gofmt-command "goimports") (add-hook 'before-save-hook 'gofmt-before-save) (bind-key [remap find-tag] #'godef-jump)) :config (add-hook 'go-mode-hook 'electric-pair-mode) (setq company-tooltip-limit 20) (setq company-idle-delay .3) (setq company-echo-delay 0) (setq company-begin-commands '(self-insert-command)) ) (use-package markdown-mode :ensure t) (use-package magit :ensure t :bind (("C-x g" . magit-status) ) ) (use-package paradox :ensure t :defer t) ;; kill the damned gnu screen (setq inhibit-startup-screen t) (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]) '(ansi-color-names-vector (vector "#c5c8c6" "#cc6666" "#b5bd68" "#f0c674" "#81a2be" "#b294bb" "#8abeb7" "#373b41")) '(ansi-term-color-vector [unspecified "#000000" "#ff6c60" "#a8ff60" "#ffffb6" "#96cbfe" "#ff73fd" "#96cbfe" "#b5b3aa"]) '(custom-safe-themes (quote ("8db4b03b9ae654d4a57804286eb3e332725c84d7cdab38463cb6b97d5762ad26" "50ff65ab3c92ce4758cc6cd10ebb3d6150a0e2da15b751d7fbee3d68bba35a94" "d5b121d69e48e0f2a84c8e4580f0ba230423391a78fcb4001ccb35d02494d79e" "5cd0afd0ca01648e1fff95a7a7f8abec925bd654915153fb39ee8e72a8b56a1f" default))) '(fci-rule-color "#373b41") '(flycheck-color-mode-line-face-to-color (quote mode-line-buffer-id)) '(frame-background-mode (quote dark)) '(linum-format "%3i") '(nrepl-message-colors (quote ("#336c6c" "#205070" "#0f2050" "#806080" "#401440" "#6c1f1c" "#6b400c" "#23733c"))) '(package-selected-packages (quote (roguel-ike helm-unicode unicode-fonts color-theme-sanityinc-tomorrow color-theme-solarized distinguished-theme alect-themes bubbleberry-theme go-snippets company-go cyberpunk-theme dad-joke darkane-theme darkmine-theme helm-themes markdown-mode anti-zenburn-theme helm-tramp magit use-package powerline paradox helm))) '(paradox-github-token t) '(pdf-view-midnight-colors (quote ("#232333" . "#c7c7c7"))) '(powerline-color1 "#3d3d68") '(powerline-color2 "#292945") '(tool-bar-mode nil) '(vc-annotate-background "#d4d4d4") '(vc-annotate-color-map (quote ((20 . "#437c7c") (40 . "#336c6c") (60 . "#205070") (80 . "#2f4070") (100 . "#1f3060") (120 . "#0f2050") (140 . "#a080a0") (160 . "#806080") (180 . "#704d70") (200 . "#603a60") (220 . "#502750") (240 . "#401440") (260 . "#6c1f1c") (280 . "#935f5c") (300 . "#834744") (320 . "#732f2c") (340 . "#6b400c") (360 . "#23733c")))) '(vc-annotate-very-old-color "#23733c")) (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 (:inherit nil :stipple nil :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 142 :width normal :foundry "unci" :family "MonofurForPowerline Nerd Font")))) '(fixed-pitch ((t (:family "Iosevka"))))) ;;; Fira code ;; This works when using emacs --daemon + emacsclient (add-hook 'after-make-frame-functions (lambda (frame) (set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol"))) ;; This works when using emacs without server/client (set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol") ;; I haven't found one statement that makes both of the above situations work, so I use both for now (defconst fira-code-font-lock-keywords-alist (mapcar (lambda (regex-char-pair) `(,(car regex-char-pair) (0 (prog1 () (compose-region (match-beginning 1) (match-end 1) ;; The first argument to concat is a string containing a literal tab ,(concat " " (list (decode-char 'ucs (cadr regex-char-pair))))))))) '(("\\(www\\)" #Xe100) ("[^/]\\(\\*\\*\\)[^/]" #Xe101) ("\\(\\*\\*\\*\\)" #Xe102) ("\\(\\*\\*/\\)" #Xe103) ("\\(\\*>\\)" #Xe104) ("[^*]\\(\\*/\\)" #Xe105) ("\\(\\\\\\\\\\)" #Xe106) ("\\(\\\\\\\\\\\\\\)" #Xe107) ("\\({-\\)" #Xe108) ("\\(\\[\\]\\)" #Xe109) ("\\(::\\)" #Xe10a) ("\\(:::\\)" #Xe10b) ("[^=]\\(:=\\)" #Xe10c) ("\\(!!\\)" #Xe10d) ("\\(!=\\)" #Xe10e) ("\\(!==\\)" #Xe10f) ("\\(-}\\)" #Xe110) ("\\(--\\)" #Xe111) ("\\(---\\)" #Xe112) ("\\(-->\\)" #Xe113) ("[^-]\\(->\\)" #Xe114) ("\\(->>\\)" #Xe115) ("\\(-<\\)" #Xe116) ("\\(-<<\\)" #Xe117) ("\\(-~\\)" #Xe118) ("\\(#{\\)" #Xe119) ("\\(#\\[\\)" #Xe11a) ("\\(##\\)" #Xe11b) ("\\(###\\)" #Xe11c) ("\\(####\\)" #Xe11d) ("\\(#(\\)" #Xe11e) ("\\(#\\?\\)" #Xe11f) ("\\(#_\\)" #Xe120) ("\\(#_(\\)" #Xe121) ("\\(\\.-\\)" #Xe122) ("\\(\\.=\\)" #Xe123) ("\\(\\.\\.\\)" #Xe124) ("\\(\\.\\.<\\)" #Xe125) ("\\(\\.\\.\\.\\)" #Xe126) ("\\(\\?=\\)" #Xe127) ("\\(\\?\\?\\)" #Xe128) ("\\(;;\\)" #Xe129) ("\\(/\\*\\)" #Xe12a) ("\\(/\\*\\*\\)" #Xe12b) ("\\(/=\\)" #Xe12c) ("\\(/==\\)" #Xe12d) ("\\(/>\\)" #Xe12e) ("\\(//\\)" #Xe12f) ("\\(///\\)" #Xe130) ("\\(&&\\)" #Xe131) ("\\(||\\)" #Xe132) ("\\(||=\\)" #Xe133) ("[^|]\\(|=\\)" #Xe134) ("\\(|>\\)" #Xe135) ("\\(\\^=\\)" #Xe136) ("\\(\\$>\\)" #Xe137) ("\\(\\+\\+\\)" #Xe138) ("\\(\\+\\+\\+\\)" #Xe139) ("\\(\\+>\\)" #Xe13a) ("\\(=:=\\)" #Xe13b) ("[^!/]\\(==\\)[^>]" #Xe13c) ("\\(===\\)" #Xe13d) ("\\(==>\\)" #Xe13e) ("[^=]\\(=>\\)" #Xe13f) ("\\(=>>\\)" #Xe140) ("\\(<=\\)" #Xe141) ("\\(=<<\\)" #Xe142) ("\\(=/=\\)" #Xe143) ("\\(>-\\)" #Xe144) ("\\(>=\\)" #Xe145) ("\\(>=>\\)" #Xe146) ("[^-=]\\(>>\\)" #Xe147) ("\\(>>-\\)" #Xe148) ("\\(>>=\\)" #Xe149) ("\\(>>>\\)" #Xe14a) ("\\(<\\*\\)" #Xe14b) ("\\(<\\*>\\)" #Xe14c) ("\\(<|\\)" #Xe14d) ("\\(<|>\\)" #Xe14e) ("\\(<\\$\\)" #Xe14f) ("\\(<\\$>\\)" #Xe150) ("\\(