(setq custom-file "~/.emacs.custom.el")

(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(require 'use-package)
(setq
 use-package-always-ensure t
 use-package-verbose t)

(setq auto-save-default nil)
(setq make-backup-files nil)
(setq create-lockfiles nil)

(setq display-line-numbers-type 'relative)
(global-display-line-numbers-mode t)

(setq ring-bell-function 'ignore)

(set-face-attribute 'default nil :font "Iosevka-16")

(tool-bar-mode -1)
(menu-bar-mode -1)
(scroll-bar-mode -1)

(setq-default dired-dwim-target t)
(windmove-default-keybindings)

(setq split-height-threshold 0)
(setq split-width-threshold nil)

(setq-default show-trailing-whitespace t)
(setq-default tab-width 4)
(setq-default indent-tabs-mode nil)

(load-file "~/.emacs.local/simpc-mode.el")
(require 'simpc-mode)
(add-to-list 'auto-mode-alist '("\\.[hc]\\(pp\\)?\\'" . simpc-mode))

(ido-mode 1)
(ido-everywhere 1)
(use-package smex
  :init
  (smex-initialize)
  :bind ("M-x" . smex))

(use-package kaolin-themes
  :config
  (load-theme 'kaolin-bubblegum t))

(use-package haskell-mode)

(use-package company
  :ensure t
  :init
  (global-company-mode)
  :config
  (setq company-minimum-prefix-length 3)
  (global-set-key (kbd "M-<tab>") 'company-complete))

(use-package multiple-cursors
  :bind
  (("M-n" . mc/mark-next-like-this)
   ("M-p" . mc/mark-previous-like-this)
   ("C-c C-a" . mc/mark-all-like-this)))
