(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-<n>
          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 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 markdown-mode
  :ensure t)

(use-package magit
  :ensure t
  :bind (("C-x g" . magit-status)
	 )
  )

(use-package projectile
  :ensure t
  :init (projectile-mode +1)
  )

(use-package helm-projectile
  :ensure t
  :init (helm-projectile-on)
  )

(use-package helm-ag
  :ensure t
  :defer t
  )


(use-package paradox
  :ensure t
  :defer t)

(use-package helm-unicode
  :ensure t
  :defer t)

(use-package subatomic256-theme
  :ensure t
  :defer t
  )

(use-package anti-zenburn-theme
  :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")))))


(if window-system
    (load-theme 'anti-zenburn t)
    (load-theme 'subatomic256 t))

                                   ; screen size is off for some reason uless this is toggled on and off
(menu-bar-mode)
(menu-bar-mode)

