summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/backups.el3
-rw-r--r--config/common.el20
-rw-r--r--config/editor.el85
-rw-r--r--config/helm.el16
-rw-r--r--config/keys.el1
-rw-r--r--config/magit.el5
-rw-r--r--config/packages.el17
-rw-r--r--config/projectile.el14
-rw-r--r--config/ui.el7
9 files changed, 168 insertions, 0 deletions
diff --git a/config/backups.el b/config/backups.el
new file mode 100644
index 0000000..a48936e
--- /dev/null
+++ b/config/backups.el
@@ -0,0 +1,3 @@
+;; -*- lexical-binding: t; -*-
+
+(setq backup-directory-alist '(("." . "~/.emacs.d/saves")))
diff --git a/config/common.el b/config/common.el
new file mode 100644
index 0000000..cd874de
--- /dev/null
+++ b/config/common.el
@@ -0,0 +1,20 @@
+;; -*- lexical-binding: t; -*-
+
+(setq
+ gc-cons-threshold 200000000
+ make-backup-files nil
+ auto-save-default t
+ visible-bell t
+ inhibit-startup-screen t)
+
+(defalias 'yes-or-no-p 'y-or-n-p)
+
+(setq custom-file (expand-file-name "emacs-custom.el" user-emacs-directory))
+(when (file-exists-p custom-file) (load custom-file))
+
+(use-package doom-modeline
+ :ensure t
+ :hook (after-init . doom-modeline-mode))
+
+(use-package nerd-icons
+ :ensure t)
diff --git a/config/editor.el b/config/editor.el
new file mode 100644
index 0000000..0542f12
--- /dev/null
+++ b/config/editor.el
@@ -0,0 +1,85 @@
+;; -*- lexical-binding: t; -*-
+
+(setq-default indent-tabs-mode nil) ;; don't use tabs to indent
+(setq-default tab-width 4) ;; but maintain correct appearance
+
+;; Newline at end of file
+(setq require-final-newline t)
+
+;; delete the selection with a keypress
+(delete-selection-mode t)
+
+(global-auto-revert-mode t)
+
+(global-hl-line-mode 1)
+
+;; meaningful names for buffers with the same name
+(use-package uniquify
+ :config
+ (setq uniquify-buffer-name-style 'forward)
+ (setq uniquify-separator "/")
+ (setq uniquify-after-kill-buffer-p t) ; rename after killing uniquified
+ (setq uniquify-ignore-buffers-re "^\\*")) ; don't muck with special buffers
+
+;; saveplace remembers your location in a file when saving files
+(setq save-place-file (expand-file-name "saveplace" savefile-dir))
+
+;; activate it for all buffers
+(save-place-mode 1)
+
+;; savehist keeps track of some history
+(use-package savehist
+ :config
+ (setq savehist-additional-variables
+ ;; search entries
+ '(search-ring regexp-search-ring)
+ ;; save every minute
+ savehist-autosave-interval 60
+ ;; keep the home clean
+ savehist-file (expand-file-name "savehist" savefile-dir))
+ (savehist-mode +1))
+
+
+;; smart tab behavior - indent or complete
+(setq tab-always-indent 'complete)
+
+(use-package diminish :ensure t)
+
+(use-package smartparens
+ :ensure t
+ :config
+ (require 'smartparens-config)
+ (smartparens-global-mode t)
+ (show-smartparens-global-mode t)
+ (setq sp-base-key-bindings 'paredit)
+ (setq sp-autoskip-closing-pair 'always)
+ (setq sp-hybrid-kill-entire-symbol nil)
+ (setq blink-matching-paren nil))
+
+(use-package easy-kill
+ :ensure t
+ :config
+ (global-set-key [remap kill-ring-save] 'easy-kill)
+ (global-set-key [remap mark-sexp] 'easy-mark))
+
+(use-package whitespace-cleanup-mode
+ :ensure t
+ :config
+ (global-whitespace-cleanup-mode t))
+
+(use-package whitespace
+ :config
+ (setq whitespace-line-column 80) ;; limit line length
+ (setq whitespace-style '(face tabs empty trailing lines-tail))
+ (global-whitespace-mode t))
+
+(use-package super-save
+ :ensure t
+ :config
+ (super-save-mode +1))
+
+(use-package volatile-highlights
+ :ensure t
+ :diminish t
+ :config
+ (volatile-highlights-mode t))
diff --git a/config/helm.el b/config/helm.el
new file mode 100644
index 0000000..b3f87aa
--- /dev/null
+++ b/config/helm.el
@@ -0,0 +1,16 @@
+;; -*- lexical-binding: t; -*-
+(use-package helm
+ :ensure t
+ :config
+ (global-set-key (kbd "M-x") 'helm-M-x)
+ (global-set-key (kbd "C-x C-m") 'helm-M-x)
+ (global-set-key (kbd "M-y") 'helm-show-kill-ring)
+ (global-set-key (kbd "C-x b") 'helm-mini)
+ (global-set-key (kbd "C-x C-b") 'helm-buffers-list)
+ (global-set-key (kbd "C-x C-f") 'helm-find-files)
+ (global-set-key (kbd "C-h f") 'helm-apropos)
+ (global-set-key (kbd "C-h r") 'helm-info-emacs)
+ (global-set-key (kbd "C-h C-l") 'helm-locate-library)
+ (helm-mode 1))
+
+(use-package helm-ag :ensure t)
diff --git a/config/keys.el b/config/keys.el
new file mode 100644
index 0000000..2e0df35
--- /dev/null
+++ b/config/keys.el
@@ -0,0 +1 @@
+(keymap-global-set "C-d" `delete-region)
diff --git a/config/magit.el b/config/magit.el
new file mode 100644
index 0000000..18ba336
--- /dev/null
+++ b/config/magit.el
@@ -0,0 +1,5 @@
+;; -*- lexical-binding: t; -*-
+
+(use-package magit
+ :ensure t
+ :bind (("C-x g" . magit)))
diff --git a/config/packages.el b/config/packages.el
new file mode 100644
index 0000000..b4302cf
--- /dev/null
+++ b/config/packages.el
@@ -0,0 +1,17 @@
+;; -*- lexical-binding: t; -*-
+
+(require 'package)
+
+
+(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
+
+;; Comment/uncomment this line to enable MELPA Stable if desired. See `package-archive-priorities`
+;; and `package-pinned-packages`. Most users will not need or want to do this.
+;; (add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
+
+(package-initialize)
+
+(require 'use-package)
+
+(use-package solarized-theme :ensure t)
+(use-package ag :ensure t)
diff --git a/config/projectile.el b/config/projectile.el
new file mode 100644
index 0000000..2c34633
--- /dev/null
+++ b/config/projectile.el
@@ -0,0 +1,14 @@
+;; -*- lexical-binding: t; -*-
+(use-package projectile
+ :ensure t
+ :init
+ (projectile-mode +1)
+ :bind
+ (:map projectile-mode-map
+ ("s-p" . projectile-command-map)
+ ("C-c p" . projectile-command-map)))
+
+(use-package helm-projectile
+ :ensure t
+ :config
+ (helm-projectile-on))
diff --git a/config/ui.el b/config/ui.el
new file mode 100644
index 0000000..9cf1209
--- /dev/null
+++ b/config/ui.el
@@ -0,0 +1,7 @@
+;; -*- lexical-binding: t; -*-
+
+(scroll-bar-mode -1)
+(tool-bar-mode -1)
+(menu-bar-mode -1)
+
+(global-display-line-numbers-mode t)