184 lines
7.1 KiB
EmacsLisp
Executable file
184 lines
7.1 KiB
EmacsLisp
Executable file
(require 'server)
|
|
(unless (server-running-p) (server-start))
|
|
|
|
;; DISPLAY SETTINGS
|
|
;; General userinterface and appearance
|
|
(tool-bar-mode -1) ; No toolbar
|
|
(menu-bar-mode -1) ; No Menubar
|
|
(set-scroll-bar-mode 'right) ; Scrollbar on the right
|
|
(scroll-bar-mode -1) ; No scrollbar
|
|
(global-font-lock-mode t) ; Color enabled
|
|
(global-prettify-symbols-mode t) ; Prettify symbols
|
|
(global-hl-line-mode 1) ; Highlight cursor line
|
|
(global-whitespace-mode -1) ; Show whitespace globally
|
|
(show-paren-mode 1) ; Visual matching parens
|
|
(global-display-line-numbers-mode -1) ; Display line numbers
|
|
;; Mode line specific
|
|
(column-number-mode 1) ; Display column number in the mode line
|
|
(size-indication-mode -1) ; Display buffer size in the mode line
|
|
(line-number-mode 1) ; Display line number in the mode line
|
|
(display-battery-mode -1) ; Display battery status in the mode line
|
|
(display-time-mode 1) ; Display time in the mode line
|
|
|
|
(add-to-list 'default-frame-alist '(fullscreen . maximized)) ; Maximize Window
|
|
(add-to-list 'default-frame-alist '(font . "Iosevka Term-12"))
|
|
(add-to-list 'default-frame-alist '(undecorated . t))
|
|
(when (eq system-type 'gnu/linux)
|
|
(add-to-list 'default-frame-alist '(undecorated . t)))
|
|
|
|
;; GLOBAL KEYS
|
|
(global-set-key (kbd "C-c l") 'org-store-link)
|
|
(global-set-key (kbd "C-c a") 'org-agenda)
|
|
(global-set-key (kbd "C-c c") 'org-capture)
|
|
(global-set-key (kbd "C-c b") 'org-switchb)
|
|
;; (global-set-key (kbd "C-c C-x m") 'org-pomodoro)
|
|
(global-set-key (kbd "C-x g") 'magit-status)
|
|
(global-set-key (kbd "C-x M-g") 'magit-dispatch)
|
|
(global-set-key (kbd "M-i") 'imenu)
|
|
(global-set-key (kbd "C-c n") 'newsticker-start)
|
|
(global-set-key (kbd "M-o") 'ace-window)
|
|
|
|
;; OS SETTINGS
|
|
(defun evo-load-paths ()
|
|
(unless (file-directory-p (expand-file-name "~/Documents"))
|
|
(defvar *docs-path* (getenv "DOCS_PATH"))))
|
|
|
|
(when (eq system-type 'windows-nt)
|
|
(setq python-shell-interpreter "python")
|
|
(add-to-list 'load-path (expand-file-name "~/AppData/Roaming/__secrets"))
|
|
(cd "~/opt")
|
|
(when (string= (system-name) "EVG02667NB")
|
|
(evo-load-paths))
|
|
(when (string= (system-name) "XPS-8930")))
|
|
|
|
|
|
;; UTF-8 FTW
|
|
(prefer-coding-system 'utf-8)
|
|
(set-default-coding-systems 'utf-8)
|
|
(set-terminal-coding-system 'utf-8)
|
|
(set-keyboard-coding-system 'utf-8)
|
|
(setq default-buffer-file-coding-system 'utf-8)
|
|
(defalias 'yes-or-no-p 'y-or-n-p)
|
|
(with-current-buffer "*scratch*" (emacs-lock-mode 'kill))
|
|
|
|
;; CUSTOM_FILE
|
|
(when (eq system-type 'windows-nt)
|
|
(setq custom-file "~/.emacs.d/bundle/custom_win32.el"))
|
|
(when (eq system-type 'gnu/linux)
|
|
(setq custom-file "~/.emacs.d/bundle/custom_gnu.el"))
|
|
(load custom-file :noerror)
|
|
|
|
;; PACKAGE
|
|
(require 'package)
|
|
;; Added by Package.el. This must come before configurations of
|
|
;; installed packages. Don't delete this line. If you don't want it,
|
|
;; just comment it out by adding a semicolon to the start of the line.
|
|
;; You may delete these explanatory comments.
|
|
|
|
(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))
|
|
(not (gnutls-available-p))))
|
|
(proto (if no-ssl "http" "https")))
|
|
(when no-ssl
|
|
(warn "\
|
|
Your version of Emacs does not support SSL connections,
|
|
which is unsafe because it allows man-in-the-middle attacks.
|
|
There are two things you can do about this warning:
|
|
1. Install an Emacs version that does support SSL and be safe.
|
|
2. Remove this warning from your init file so you won't see it again."))
|
|
;; Comment/uncomment these two lines to enable/disable MELPA and MELPA Stable as desired
|
|
(add-to-list 'package-archives (cons "melpa" (concat proto "://melpa.org/packages/")) t)
|
|
;;(add-to-list 'package-archives (cons "melpa-stable" (concat proto "://stable.melpa.org/packages/")) t)
|
|
(when (< emacs-major-version 24)
|
|
;; For important compatibility libraries like cl-lib
|
|
(add-to-list 'package-archives (cons "gnu" (concat proto "://elpa.gnu.org/packages/")))))
|
|
(package-initialize)
|
|
(ivy-mode 1)
|
|
|
|
;; ORG_MODE SETTINGS
|
|
(setq org-agenda-dim-blocked-tasks nil
|
|
org-agenda-files (quote
|
|
("~/Documents/Journal"))
|
|
org-agenda-inhibit-startup nil
|
|
org-babel-load-languages (quote
|
|
((js . t)
|
|
(gnuplot . t)
|
|
(emacs-lisp . t)
|
|
(python . t)
|
|
(sqlite . t)
|
|
(lisp . t)
|
|
(shell . t)
|
|
(css . t)
|
|
(calc . t)
|
|
(plantuml . t)
|
|
(dot . t)))
|
|
org-babel-shell-names (quote ("sh" "bash" "csh" "ash" "dash" "ksh" "mksh" "posh"))
|
|
org-clock-persist t
|
|
org-confirm-babel-evaluate nil
|
|
org-default-notes-file "~/Documents/Journal/notes.org"
|
|
org-html-doctype "html5"
|
|
org-html-html5-fancy t
|
|
org-log-done (quote time)
|
|
org-startup-folded nil
|
|
org-startup-truncated nil
|
|
org-babel-python-command "python3"
|
|
org-todo-keywords (quote ((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED"))))
|
|
(setq org-use-property-inheritance nil)
|
|
(org-clock-persistence-insinuate)
|
|
(org-display-inline-images)
|
|
(when (eq system-type 'windows-nt)
|
|
(setq org-duration-format (quote h:mm))
|
|
(setq org-babel-python-command "python")
|
|
(setq org-plantuml-jar-path (expand-file-name
|
|
"~/AppData/Local/Programs/plantuml/plantuml.jar"))
|
|
(when (string= (system-name) "EVG02667NB")
|
|
(when *docs-path*
|
|
(setq org-agenda-files `(,(concat *docs-path* "\\Journal")))
|
|
(setq org-default-notes-file (concat *docs-path* "\\Journal\\notes.org")))))
|
|
(when (eq system-type 'gnu/linux)
|
|
(setq org-plantuml-jar-path
|
|
(expand-file-name "~/.local/bin/plantuml.jar")))
|
|
|
|
;; HOOKS
|
|
(add-hook 'diary-display-hook 'fancy-diary-display)
|
|
(add-hook 'today-visible-calendar-hook 'calendar-mark-today)
|
|
(add-hook 'write-file-hooks 'delete-trailing-whitespace)
|
|
(add-hook 'org-mode-hook 'turn-on-auto-fill)
|
|
(add-hook 'rst-mode-hook 'turn-on-orgstruct)
|
|
(setq my-hooks '(python-mode-hook emacs-lisp-mode-hook json-mode-hook))
|
|
(while my-hooks (add-hook (car my-hooks)
|
|
(lambda ()
|
|
(display-line-numbers-mode 1)))
|
|
(setq my-hooks (cdr my-hooks)))
|
|
(add-hook 'newsticker-mode-hook 'imenu-add-menubar-index)
|
|
(add-to-list 'auto-mode-alist '("\\.tmpl\\'" . web-mode))
|
|
|
|
;; DIARY
|
|
(setq cal-html-directory "~/Documents/Diary"
|
|
view-diary-entries-initially t
|
|
mark-diary-entries-in-calendar t
|
|
number-of-diary-entries 7
|
|
calendar-date-style (quote iso)
|
|
calendar-week-start-day 1)
|
|
(setq calendar-intermonth-text
|
|
(quote
|
|
(propertize
|
|
(format "%2d"
|
|
(car
|
|
(calendar-iso-from-absolute
|
|
(calendar-absolute-from-gregorian
|
|
(list month day year)))))
|
|
(quote font-lock-face)
|
|
(quote font-lock-function-name-face))))
|
|
(when (string= (system-name) "EVG02667NB")
|
|
(unless (file-directory-p (expand-file-name "~/Documents"))
|
|
(let ((docs-path (getenv "DOCS_PATH")))
|
|
(setq cal-html-directory (concat docs-path "\\Diary")
|
|
diary-file (concat docs-path "\\Diary\\diary")
|
|
timeclock-file (concat docs-path "\\Diary\\timelog")))))
|
|
(provide 'calendar-settings)
|
|
|
|
;; Local Variables:
|
|
;; mode: emacs-lisp
|
|
;; coding: utf-8
|
|
;; fill-column: 79
|
|
;; End:
|