(require 'server) (unless (server-running-p) (server-start)) ;; PACKAGE (require 'package) (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) ;; OS SETTINGS (defun evo-load-paths () (unless (file-directory-p (expand-file-name "~/Documents")) (defvar *docs-path* (getenv "DOCS_PATH")))) (when (eq system-type 'gnu/linux) (setq custom-file "~/.emacs.d/bundle/custom_gnu.el")) (when (eq system-type 'windows-nt) (setq custom-file "~/.emacs.d/bundle/custom_win32.el") (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) (setq custom-file "~/.emacs.d/bundle/custom_win32_EVG02667NB.el")) (when (string= (system-name) "XPS-8930"))) ;; CUSTOM_FILE (load custom-file :noerror) ;; 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)) (load-theme 'nord 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) ;; 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)) ;; PACKAGES (ivy-mode 1) (use-package elpy :ensure t :init (elpy-enable)) ;; 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: