diff --git a/emacs/auto/-custom.el b/emacs/auto/-custom.el new file mode 100644 index 0000000..cdf1356 --- /dev/null +++ b/emacs/auto/-custom.el @@ -0,0 +1,4 @@ +(setq custom-file "~/.emacs.d/custom.el") +(load custom-file) + +;; EOF diff --git a/emacs/auto/-defaults.el b/emacs/auto/-defaults.el new file mode 100644 index 0000000..6ccb4d7 --- /dev/null +++ b/emacs/auto/-defaults.el @@ -0,0 +1,6 @@ +(defvaralias 'c-basic-offset 'tab-width) +(defvaralias 'rust-indent-offset 'tab-width) + +(add-to-list 'default-frame-alist '(font . "Go Mono-12")) + +;; EOF diff --git a/emacs/auto/-keys.el b/emacs/auto/-keys.el new file mode 100644 index 0000000..0479d77 --- /dev/null +++ b/emacs/auto/-keys.el @@ -0,0 +1,31 @@ +(defvar agw-mode-map (make-sparse-keymap) + "Global keymap for `agw-mode'.") + +(define-minor-mode agw-key-map + "Minor mode for key bindings." + :global t + :keymap agw-mode-map) + +(defun agw-set-key (key def) + (define-key agw-mode-map (kbd (concat "C- " key)) def)) + +(agw-set-key "b d" 'kill-this-buffer) +(agw-set-key "b e" 'ibuffer) + +(agw-set-key "f" 'dired) + +(agw-set-key "w" 'deadgrep) + +(agw-set-key "h" 'windmove-left) +(agw-set-key "j" 'windmove-down) +(agw-set-key "k" 'windmove-up) +(agw-set-key "l" 'windmove-right) + +(agw-set-key "s" 'sort-lines) + +(agw-key-map) + +; just in case - bind for disabling key map mode +(global-set-key (kbd "C-x C-") 'agw-key-map) + +;; EOF diff --git a/emacs/auto/-macro.el b/emacs/auto/-macro.el new file mode 100644 index 0000000..a5dc324 --- /dev/null +++ b/emacs/auto/-macro.el @@ -0,0 +1,19 @@ +(defun agw-lisp-mode () + (setq-local indent-tabs-mode nil) + (setq-local standard-indent 2) + (setq-local tab-width 2)) + +(defun agw-org-mode () + (variable-pitch-mode) + (org-bullets-mode) + (flyspell-mode) + (setq-local indent-tabs-mode nil)) + +(add-hook 'org-mode-hook 'agw-org-mode) + +(add-hook 'emacs-lisp-mode 'agw-lisp-mode) +(add-hook 'lisp-mode 'agw-lisp-mode) +(add-hook 'reb-lisp-mode 'agw-lisp-mode) +(add-hook 'scheme-mode 'agw-lisp-mode) + +;; EOF diff --git a/emacs/auto/-packages.el b/emacs/auto/-packages.el new file mode 100644 index 0000000..048cca4 --- /dev/null +++ b/emacs/auto/-packages.el @@ -0,0 +1,31 @@ +(require 'paradox) +(paradox-enable) + +(require 'rust-mode) + +(require 'evil) + +(require 'powerline) +(powerline-center-evil-theme) + +(require 'all-the-icons) + +(require 'org) +(dolist (face '(org-block-begin-line + org-block-end-line + org-block + org-code + org-date + org-document-info-keyword + org-verbatim)) + (set-face-attribute face nil :inherit 'fixed-pitch)) + +(require 'smart-tabs-mode) +(smart-tabs-add-language-support rust rust-mode-hook + ((rust-mode-indent-line . rust-indent-offset))) +(smart-tabs-insinuate + 'c + 'javascript + 'rust) + +;; EOF diff --git a/emacs/auto/-pkgdb.el b/emacs/auto/-pkgdb.el new file mode 100644 index 0000000..3e31b44 --- /dev/null +++ b/emacs/auto/-pkgdb.el @@ -0,0 +1,6 @@ +(require 'package) + +(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) +(package-initialize) + +;; EOF diff --git a/emacs/custom.el b/emacs/custom.el new file mode 100644 index 0000000..7d29532 --- /dev/null +++ b/emacs/custom.el @@ -0,0 +1,91 @@ +(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. + '(auto-save-default nil) + '(backup-directory-alist (quote ((".*" . "~/.emacs.d/backup")))) + '(before-save-hook (quote (copyright-update delete-trailing-whitespace))) + '(create-lockfiles nil) + '(current-language-environment "UTF-8") + '(custom-enabled-themes (quote (base16-atelier-cave))) + '(custom-safe-themes + (quote + ("1d079355c721b517fdc9891f0fda927fe3f87288f2e6cc3b8566655a64ca5453" default))) + '(dired-listing-switches "-alhp --si") + '(dired-mode-hook (quote (all-the-icons-dired-mode))) + '(diredfl-global-mode t nil (diredfl)) + '(evil-cjk-emacs-word-boundary t) + '(evil-cross-lines t) + '(evil-lion-mode t) + '(evil-lookup-func (quote man)) + '(evil-mode t) + '(evil-shift-width 3) + '(evil-vsplit-window-right t) + '(fill-column 80) + '(gc-cons-threshold 20000000) + '(global-mark-ring-max 1024) + '(global-whitespace-mode nil) + '(horizontal-scroll-bar-mode nil) + '(indent-tabs-mode t) + '(inhibit-startup-screen t) + '(initial-buffer-choice "~/org/init.org") + '(initial-frame-alist (quote ((width . 80) (height . 30)))) + '(initial-scratch-message nil) + '(line-move-ignore-invisible nil) + '(mark-ring-max 1024) + '(menu-bar-mode nil) + '(mouse-wheel-progressive-speed nil) + '(org-fontify-whole-heading-line t) + '(org-hide-emphasis-markers t) + '(org-hide-leading-stars t) + '(org-hide-macro-markers t) + '(org-log-done (quote note)) + '(org-pretty-entities t) + '(org-return-follows-link t) + '(org-startup-folded nil) + '(package-enable-at-startup nil) + '(package-selected-packages + (quote + (deadgrep smart-tabs-mode evil-lion dired-sidebar diredfl rainbow-delimiters all-the-icons-dired org-bullets markdown-mode all-the-icons rust-mode base16-theme powerline evil ## undo-tree paradox))) + '(prog-mode-hook + (quote + (flyspell-prog-mode prettify-symbols-mode subword-mode rainbow-delimiters-mode whitespace-mode))) + '(repeat-too-dangerous nil) + '(require-final-newline t) + '(scroll-bar-mode nil) + '(scroll-step 1) + '(sentence-end-double-space nil) + '(show-paren-delay 0.0) + '(show-paren-mode t) + '(show-paren-style (quote parenthesis)) + '(standard-indent 3) + '(tab-always-indent nil) + '(tab-width 3) + '(tool-bar-mode nil) + '(transient-mark-mode t) + '(vc-follow-symlinks t) + '(whitespace-style + (quote + (face trailing tabs spaces space-before-tab space-mark tab-mark)))) +(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. + '(mode-line ((t (:background "#0a0a0a" :foreground "#92ebf0" :box (:line-width -1 :style released-button) :height 65 :family "Dina")))) + '(mode-line-buffer-id ((t (:foreground "#2a9292" :box (:line-width -1 :style released-button) :height 65 :family "Dina")))) + '(mode-line-emphasis ((t (:foreground "#e2dfe7" :box (:line-width -1 :style released-button) :slant italic :height 65 :family "Dina")))) + '(mode-line-highlight ((t (:foreground "#955ae7" :box (:line-width -1 :style released-button) :weight bold :height 65 :family "Dina")))) + '(mode-line-inactive ((t (:background "#26232a" :foreground "#655f6d" :box (:line-width -1 :style released-button) :height 65 :family "Dina")))) + '(org-document-title ((t (:foreground "#aa573c" :weight bold :height 1.6)))) + '(org-level-1 ((t (:inherit outline-1 :height 1.35)))) + '(org-level-2 ((t (:inherit outline-2 :height 1.3)))) + '(org-level-3 ((t (:inherit outline-3 :height 1.25)))) + '(org-level-4 ((t (:inherit outline-4 :foreground "dark slate blue" :height 1.2)))) + '(org-level-5 ((t (:height 1.15)))) + '(org-level-6 ((t (:inherit outline-6 :height 1.1)))) + '(org-level-7 ((t (:inherit outline-7 :height 1.05)))) + '(variable-pitch ((t (:height 120 :family "Noto Sans")))) + '(whitespace-space ((t (:background "#00000000" :foreground "#7e4594")))) + '(whitespace-tab ((t (:background "#00000000" :foreground "#7e4594"))))) diff --git a/emacs/init.el b/emacs/init.el new file mode 100644 index 0000000..29765ca --- /dev/null +++ b/emacs/init.el @@ -0,0 +1,15 @@ +(add-to-list 'load-path "~/.emacs.d/auto/") + +(defgroup agw nil + "Alison G. Watson's customizations." + :prefix "agw-" + :group 'convenience) + +(load "-pkgdb") +(load "-defaults") +(load "-custom") +(load "-packages") +(load "-macro") +(load "-keys") + +;; EOF