(require 'package) ;;(add-to-list 'package-archives ;; '("melpa-stable" . "http://stable.melpa.org/packages/") t) ;; Melpa shit (let* ((no-ssl (and (memq system-type '(windows-nt ms-dos)) (not (gnutls-available-p)))) (proto (if no-ssl "http" "https"))) (when no-ssl (warn "\ Your version of Emacs does not support SSL connections, which is unsafe because it allows man-in-the-middle attacks. There are two things you can do about this warning: 1. Install an Emacs version that does support SSL and be safe. 2. Remove this warning from your init file so you won't see it again.")) ;; Comment/uncomment these two lines to enable/disable MELPA and MELPA Stable as desired (add-to-list 'package-archives (cons "melpa" (concat proto "://melpa.org/packages/")) t) ;;(add-to-list 'package-archives (cons "melpa-stable" (concat proto "://stable.melpa.org/packages/")) t) (when (< emacs-major-version 24) ;; For important compatibility libraries like cl-lib (add-to-list 'package-archives (cons "gnu" (concat proto "://elpa.gnu.org/packages/"))))) (package-initialize) (unless package-archive-contents (package-refresh-contents)) ;; ui stuff (menu-bar-mode -1) (tool-bar-mode -1) (show-paren-mode 1) (setq inhibit-startup-message t) (setq column-number-mode t) ;; indent all the stuff (defun indent-buffer () (interactive) (save-excursion (indent-region (point-min) (point-max) nil))) (global-set-key [f12] 'indent-buffer) ;; custom key bindings (global-set-key (kbd "C-M-SPC") 'just-one-space) (global-set-key (kbd "C-x -") 'hs-toggle-hiding) ;; probably not needed recent files (recentf-mode 1) (setq recentf-max-menu-items 25) (global-set-key "\C-x\ \C-r" 'recentf-open-files) ;; ido makes bullshit necessary (defvar ido-cur-item nil) (defvar ido-default-item nil) (defvar ido-cur-list nil) (defvar predicate nil) (defvar inherit-input-method nil) (defvar my-packages '(paredit clojure-mode clojure-mode-extra-font-locking cider clj-refactor ;; ido-ubiquitous which-key less-css-mode markdown-mode yaml-mode editorconfig auto-complete idle-highlight-mode ;; edit html tags like sexps tagedit helm projectile dumb-jump)) (dolist (p my-packages) (when (not (package-installed-p p)) (package-install p))) (setq-default indent-tabs-mode nil) ;; ido shit (ido-mode t) (setq ido-enable-flex-matching t) (setq ido-use-filename-at-point nil) ;;(ido-ubiquitous-mode 1) (global-set-key (kbd "C-x C-b") 'ibuffer) ;; cider shit (setq cider-repl-display-in-current-window t) ;; misc global modes (global-auto-complete-mode) (global-linum-mode) (which-key-mode) (editorconfig-mode 1) (add-hook 'prog-mode-hook (lambda () (idle-highlight-mode t))) (defun clojure-mode-hook () (clj-refactor-mode 1) (enable-paredit-mode) (hs-minor-mode 1)) ;; dem hooks (autoload 'enable-paredit-mode "paredit" "Turn on pseudo-structural editing of Lisp code." t) (add-hook 'lisp-mode-hook 'enable-paredit-mode) (add-hook 'emacs-lisp-mode-hook 'enable-paredit-mode) (add-hook 'eval-expression-minibuffer 'enable-paredit-mode) (add-hook 'clojure-mode-hook 'clojure-mode-hook) (add-hook 'less-css-mode-hook 'hs-minor-mode) (add-hook 'before-save-hook 'delete-trailing-whitespace) (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]) '(custom-enabled-themes (quote (misterioso))) '(initial-frame-alist (quote ((fullscreen . maximized)))) '(package-selected-packages (quote (bats-mode flycheck-kotlin kotlin-mode smex helm-projectile helm-cider helm dumb-jump idle-highlight-mode neotree rainbow-delimiters clj-refactor which-key ac-cider company js3-mode less-css-mode sass-mode paredit markdown-mode yaml-mode editorconfig auto-complete parinfer git-commit cider clojure-mode projectile better-defaults)))) (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 :background "#2d3743" :foreground "#e1e1e0" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 100 :width normal :foundry "DAMA" :family "monospace"))))) ;; helm shit (package-initialize) (require 'helm-config) (helm-mode 1) (global-set-key (kbd "M-x") 'helm-M-x) ;; Projectile shit (require 'projectile) (define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) (projectile-mode +1) (dumb-jump-mode)