You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
228 lines
6.4 KiB
228 lines
6.4 KiB
(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)
|
|
|