Files
dotfiles/emacs
T
2022-09-14 15:24:49 -07:00

229 lines
6.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/") t)
(package-initialize)
(setq-default cursor-type 'bar)
(global-hl-line-mode 1)
(toggle-scroll-bar -1)
(scroll-bar-mode -1)
(menu-bar-mode -1)
(tool-bar-mode -1)
(column-number-mode t)
(set-fringe-mode 5)
(setq doc-view-scale-internally nil)
(setq visible-bell t)
(setq vc-handled-backends nil)
(fset 'yes-or-no-p 'y-or-n-p)
(show-paren-mode t)
(setq show-paren-style 'expression)
(save-place-mode t)
(setq-default indent-tabs-mode nil
tab-width 4)
(setq custom-file (concat user-emacs-directory "custom.el"))
(load custom-file 'noerror)
(setq interprogram-cut-function nil)
(setq backup-directory-alist '(("" . "~/.emacs.d/backup")))
; lets you move windows with shift
(when (fboundp 'windmove-default-keybindings)
(windmove-default-keybindings))
(setq package-check-signature nil)
(defun ensure-package-installed (&rest packages)
"Assure every package is installed, ask for installation if its not.
Return a list of installed packages or nil for every skipped package."
(mapcar
(lambda (package)
;; (package-installed-p 'evil)
(if (package-installed-p package)
nil
(if (y-or-n-p (format "Package %s is missing. Install it? " package))
(package-install package)
package)))
packages))
(ensure-package-installed 'use-package 'ivy 'centaur-tabs 'company 'all-the-icons 'smex 'counsel 'swiper 'dashboard 'org-super-agenda 'origami 'verb 'org-roam'kaolin-themes)
(eval-when-compile
(require 'use-package))
(use-package all-the-icons)
(use-package company
:custom
(company-minimum-prefix-length 1)
(company-idle-delay 0.0)
(company-tooltip-align-annotations t)
:config
(global-company-mode)
)
(use-package ivy :ensure t
:diminish ivy-mode
:config
(ivy-mode 1)
(setq ivy-height 13)
(setq ivy-wrap t)
(setq ivy-use-virtual-buffers t)
(setq ivy-count-format "(%d/%d) "))
(use-package counsel
:ensure t
:bind*
(("M-x" . counsel-M-x)
("C-c d d" . counsel-descbinds)
("C-x C-f" . counsel-find-file)
("C-x r f" . counsel-recentf)
("C-c g g" . counsel-git)
("C-c g G" . counsel-git-grep)
("C-x l" . counsel-locate)
("C-c g s" . counsel-grep-or-swiper)
("C-M-y" . counsel-yank-pop)
("C-c C-r" . ivy-resume)
("C-c i m" . counsel-imenu)
("C-c i M" . ivy-imenu-anywhere)
("C-c d s" . describe-symbol)))
(use-package swiper
:bind*
(("C-s" . swiper)))
(setq search-default-mode #'char-fold-to-regexp)
(use-package centaur-tabs
:init
(setq centaur-tabs-enable-key-bindings t
centaur-tabs-set-icons t
centaur-tabs-set-modified-marker t
centaur-tabs-style "chamfer"
centaur-tabs-gray-out-icons 'buffer)
:config
(centaur-tabs-group-by-projectile-project)
(centaur-tabs-headline-match)
(centaur-tabs-mode 1))
(use-package dashboard
:after org
:init
(setq dashboard-set-footer nil
dashboard-org-agenda-categories '("Tasks" "appointments")
dashboard-center-content t
dashboard-set-heading-icons t
dashboard-set-file-icons t
initial-buffer-choice (lambda () (get-buffer "*dashboard*")))
:ensure t
:config (dashboard-setup-startup-hook))
(use-package org
:mode ("\\.org\\'" . org-mode)
:bind
(:map org-mode-map
("C-c C-r" . verb-command-map))
(:map global-map
("C-c a" . org-agenda)
("C-c l" . org-store-link))
:config
(setq org-replace-disputed-keys t
org-enforce-todo-dependencies t
org-enforce-todo-checkbox-dependencies t
org-log-done nil
org-clock-idle-time 10
org-startup-with-inline-images t
org-startup-folded t
org-pretty-entities t
org-hide-leading-stars t
org-hide-emphasis-markers t
org-fontify-whole-heading-line t
org-fontify-done-headline t
org-fontify-quote-and-verse-blocks t
org-startup-with-latex-preview t
org-src-tab-acts-natively t
org-src-fontify-natively t
org-confirm-elisp-link-function nil
org-display-custom-times t
org-time-stamp-custom-formats '("<%a %b %e %Y>" . "<%a %b %e %Y %H:%M>")
org-tag-alist '(("bug" . ?b) ("feature" . ?f) ("polish" . ?p) ("optimization" . ?o) ("devops" . ?d) ("reading" . ?r) ("writing" . ?w))
org-agenda-custom-commands
'(("p" "Projects" todo "TODO"
((org-agenda-files '("~/Documents/org-mode/projects.org"))
(org-agenda-sorting-strategy '(priority-down)))
))
org-agenda-skip-scheduled-if-done t
org-agenda-skip-deadline-if-done t
org-agenda-todo-ignore-deadlines t
org-agenda-todo-ignore-with-date t
org-agenda-todo-ignore-scheduled t
org-agenda-start-on-weekday nil
org-agenda-skip-additional-timestamps-same-entry nil
org-agenda-compact-blocks t
org-agenda-block-separator nil
org-agenda-start-day "+0d")
:hook
(org-agenda-mode . origami-mode)
)
(use-package org-alert
:ensure t
:config
(org-alert-enable)
(setq alert-default-style 'libnotify
org-alert-notify-cutoff 300
))
(setq org-agenda-files
(list
"~/Documents/org-mode/school.org"
"~/Documents/org-mode/personal.org"
"~/Documents/org-mode/tweaking.org"
"~/Documents/org-mode/projects.org"
)
)
(use-package org-super-agenda
:after org
:ensure t
:config
(setq org-super-agenda-groups
'(
(:auto-category t)
)
)
)
;;(use-package org-roam
;; :ensure t
;; :after org
;; :init
;; (setq org-roam-v2-ack t)
;; :bind* (("C-c n l" . org-roam-buffer-toggle)
;; ("C-c n f" . org-roam-node-find)
;; ("C-c n c" . org-roam-dailies-capture-today))
;; :bind (:map org-mode-map
;; ("C-c n i" . org-roam-node-insert))
;; :custom
;; (org-roam-directory "~/Documents/slipbox")
;; (org-roam-capture-templates
;; '(("d" "default" plain
;; "%?"
;; :if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}\n")
;; :unnarrowed t)
;; ("e" "encrypted" plain "%?"
;; :target (file+head "${slug}.org.gpg"
;; "#+title: ${title}\n")
;; :unnarrowed t)
;; )
;; )
;; (org-roam-completion-everywhere t)
;; (org-roam-completion-system 'default)
;; (org-roam-dailies-directory "daily/")
;; :config
;; (use-package org-roam-dailies)
;; (org-roam-setup)
;; (org-roam-db-autosync-mode))
(add-hook 'org-mode-hook 'flyspell-mode)