| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- ;;; packages.el --- chicken-dotfiles layer packages file for Spacemacs.
- ;;
- ;; Copyright (c) 2012-2017 Sylvain Benner & Contributors
- ;;
- ;; Author: Eiyeron <eiyeron@Ducktop>
- ;; URL: https://github.com/syl20bnr/spacemacs
- ;;
- ;; This file is not part of GNU Emacs.
- ;;
- ;;; License: GPLv3
- ;;; Commentary:
- ;; See the Spacemacs documentation and FAQs for instructions on how to implement
- ;; a new layer:
- ;;
- ;; SPC h SPC layers RET
- ;;
- ;;
- ;; Briefly, each package to be installed or configured by this layer should be
- ;; added to `chicken-dotfiles-packages'. Then, for each package PACKAGE:
- ;;
- ;; - If PACKAGE is not referenced by any other Spacemacs layer, define a
- ;; function `chicken-dotfiles/init-PACKAGE' to load and initialize the package.
- ;; - Otherwise, PACKAGE is already referenced by another Spacemacs layer, so
- ;; define the functions `chicken-dotfiles/pre-init-PACKAGE' and/or
- ;; `chicken-dotfiles/post-init-PACKAGE' to customize the package as it is loaded.
- ;;; Code:
- (defconst chicken-dotfiles-packages
- '(
- org
- org-agenda
- org-bullets
- org-brain
- all-the-icons
- modern-cpp-font-lock
- )
- "The list of Lisp packages required by the chicken-dotfiles layer.
- Each entry is either:
- 1. A symbol, which is interpreted as a package to be installed, or
- 2. A list of the form (PACKAGE KEYS...), where PACKAGE is the
- name of the package to be installed or loaded, and KEYS are
- any number of keyword-value-pairs.
- The following keys are accepted:
- - :excluded (t or nil): Prevent the package from being loaded
- if value is non-nil
- - :location: Specify a custom installation location.
- The following values are legal:
- - The symbol `elpa' (default) means PACKAGE will be
- installed using the Emacs package manager.
- - The symbol `local' directs Spacemacs to load the file at
- `./local/PACKAGE/PACKAGE.el'
- - A list beginning with the symbol `recipe' is a melpa
- recipe. See: https://github.com/milkypostman/melpa#recipe-format"
- )
- (defun chicken-dotfiles/init-org-brain()
- (use-package org-brain
- :defer t
- :init
- (setq org-brain-path "D:/Notes/Brain")
- :config
- (setq org-id-locations-file "~/.emacs.d/.org-id-locations")
- (evil-set-initial-state 'org-brain-visualize-mode 'emacs)
- ;; See https://github.com/Kungsgeten/org-brain#all-the-icons
- (defun org-brain-insert-resource-icon (link)
- "Insert an icon, based on content of org-mode LINK."
- (insert (format "%s "
- (cond
- ;; File extensions
- ((string-suffix-p ".pdf" link)
- (all-the-icons-octicon "file-pdf"))
- ((string-match ".cpp" link)
- (all-the-icons-alltheicon "cplusplus"))
- ((string-match ".h" link)
- (all-the-icons-alltheicon "cplusplus-line"))
- ((string-match ".hpp" link)
- (all-the-icons-alltheicon "cplusplus-line"))
- ;; URL
- ((string-prefix-p "http" link)
- (cond ((string-match "wikipedia\\.org" link)
- (all-the-icons-faicon "wikipedia-w"))
- ((string-match "github\\.com" link)
- (all-the-icons-octicon "mark-github"))
- ((string-match "vimeo\\.com" link)
- (all-the-icons-faicon "vimeo"))
- ((string-match "youtube\\.com" link)
- (all-the-icons-faicon "youtube"))
- ((string-match "bitbucket\\.org" link)
- (all-the-icons-faicon "bitbucket"))
- ((string-match "stackoverflow\\.com" link)
- (all-the-icons-faicon "stack-overflow"))
- (t
- (all-the-icons-faicon "globe"))))
- ((string-prefix-p "brain:" link)
- (all-the-icons-fileicon "brain"))
- (t
- (all-the-icons-icon-for-file link))))))
- (add-hook 'org-brain-after-resource-button-functions #'org-brain-insert-resource-icon)
- ))
- (defun chicken-dotfiles/init-modern-cpp-font-lock()
- (add-hook 'c++-mode-hook #'modern-c++-font-lock-mode))
- (defun chicken-dotfiles/post-init-org-bullets()
- (use-package org-bullets
- :defer t
- :init
- (setq org-bullets-bullet-list '("◼"))
- )
- )
- (defun chicken-dotfiles/post-init-org-agenda()
- (use-package org-agenda
- :defer t
- :init
- (setq org-agenda-to-appt t)
- (setq org-agenda-include-diary t)
- (setq org-agenda-files (list
- "C:/Notes/Agenda/birthdays.org"
- ;; GTD
- "C:/Notes/inbox.org" "c:/Notes/inbox_work.org" "C:/Notes/gtd.org" "C:/Notes/gtd_work.org" "C:/Notes/tickler_work.org"))
- ))
- (defun chicken-dotfiles/post-init-org()
- (use-package org
- :defer t
- :init
- (setq org-cycle-level-faces nil)
- (setq org-modules
- '(org-bbdb org-bibtex org-docview org-gnus org-info org-irc org-mhe org-mouse org-rmail org-w3m org-drill))
- (setq org-todo-keywords '((sequence "TODO" "WAITING" "IN PROGRESS" "|" "DONE" "CANCELLED")))
- ; GTD inspired by https://emacs.cafe/emacs/orgmode/gtd/2017/06/30/orgmode-gtd.html
- (setq org-capture-templates '(("t" "Todo [inbox]" entry
- (file+headline "C:/Notes/inbox.org" "Tasks")
- "* TODO %i%?")
- ("T" "Todo [tickler]" entry
- (file+headline "C:/Notes/tickler.org" "Tasks")
- "* %i%? \n %U")
- ;; Media
- ("A" "Artist" entry
- (file+headline "C:/Notes/inbox.org" "Music")
- "* TODO %i%? \n %U")
- ("S" "Series" entry
- (file+headline "C:/Notes/inbox.org" "Series")
- "* TODO %i%? \n %U")
- ;; Work
- ("W" "Work [inbox]" entry
- (file+headline "C:/Notes/inbox_work.org" "Tasks")
- "* TODO %i%?")
- ))
- (setq org-directory "C:/Notes")
- (setq org-default-notes-file "C:/Notes/inbox.org" )
- (setq org-refile-targets '(("C:/Notes/gtd.org" :maxlevel . 3)
- ("C:/Notes/gtd_work.org" :maxlevel . 3)
- ("C:/Notes/backlog.org" :level . 2)
- ))
- (defun wild-git-url(path)
- (shell-command (concat "start " (concat "https://github.com/WildSheepStudio/Wild/commit/" path))))
- ;; TODO Replace with org-link-abbrev-alist or attempt to make a completion routine as seen here : https://orgmode.org/manual/Completion.html#Completion
- :config
- (org-link-set-parameters "wild-git" :follow 'wild-git-url)
- (set-face-attribute 'org-table nil :family "Iosevka")
- (set-face-attribute 'org-block nil :family "Iosevka")
- (set-face-attribute 'org-code nil :family "Iosevka" :weight 'light :height 0.8)
- (set-face-attribute 'org-default nil :family "ETBembo")
- ;; TODO Use Spacemacs' utilities instead?
- (add-hook 'org-mode-hook 'buffer-face-mode)
- (setq org-bullets-bullet-list '(" "))
- )
- )
- ;;; packages.el ends here
|