(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 it’s 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)