From ad28d8ff88c97dbd7cb78e795cbf819ac330cdfd Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Sun, 26 Jul 2020 14:36:43 +0200 Subject: [PATCH] Simplify init file --- bundle/bundle--calendar.el | 22 ++++ bundle/bundle--coding.el | 6 ++ bundle/bundle--customfile.el | 15 +++ bundle/bundle--keys.el | 11 ++ bundle/bundle--mk.el | 9 ++ bundle/bundle--package.el | 110 ++++++++++++++++++++ bundle/bundle--server.el | 5 + init.el | 194 ++--------------------------------- 8 files changed, 186 insertions(+), 186 deletions(-) create mode 100644 bundle/bundle--calendar.el create mode 100644 bundle/bundle--coding.el create mode 100644 bundle/bundle--customfile.el create mode 100644 bundle/bundle--keys.el create mode 100644 bundle/bundle--mk.el create mode 100644 bundle/bundle--package.el create mode 100644 bundle/bundle--server.el diff --git a/bundle/bundle--calendar.el b/bundle/bundle--calendar.el new file mode 100644 index 00000000..2eb69fe9 --- /dev/null +++ b/bundle/bundle--calendar.el @@ -0,0 +1,22 @@ +(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"))))) diff --git a/bundle/bundle--coding.el b/bundle/bundle--coding.el new file mode 100644 index 00000000..f9efc25d --- /dev/null +++ b/bundle/bundle--coding.el @@ -0,0 +1,6 @@ +;; 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) diff --git a/bundle/bundle--customfile.el b/bundle/bundle--customfile.el new file mode 100644 index 00000000..2779acb2 --- /dev/null +++ b/bundle/bundle--customfile.el @@ -0,0 +1,15 @@ +;; OS SETTINGS +(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") + (add-to-list 'load-path (expand-file-name "~/AppData/Roaming/__secrets")) + (cd "~/opt") + (when (string= (system-name) "EVG02667NB") + (add-to-list 'Info-default-directory-list "~/Info") + (setq custom-file "~/.emacs.d/bundle/custom_win32_EVG02667NB.el")) + (when (string= (system-name) "XPS-8930"))) + +;; CUSTOM_FILE +(load custom-file :noerror) diff --git a/bundle/bundle--keys.el b/bundle/bundle--keys.el new file mode 100644 index 00000000..c9467f97 --- /dev/null +++ b/bundle/bundle--keys.el @@ -0,0 +1,11 @@ +;; 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) diff --git a/bundle/bundle--mk.el b/bundle/bundle--mk.el new file mode 100644 index 00000000..0676e65b --- /dev/null +++ b/bundle/bundle--mk.el @@ -0,0 +1,9 @@ +(defun mk-write-mode-enable () + (setq olivetti-body-width 73) + (setq mode-line-format nil) + (olivetti-mode)) +(defun mk-write-mode-disable () + (setq mode-line-format '(("-" mode-line-mule-info mode-line-modified mode-line-frame-identification mode-line-buffer-identification " " mode-line-position mode-line-modes (which-func-mode ("" which-func-format "--")) (global-mode-string ("--" global-mode-string)) "-%-"))) + (olivetti-mode) + (defvar mode-line-format-current + (symbol-value 'mode-line-format))) diff --git a/bundle/bundle--package.el b/bundle/bundle--package.el new file mode 100644 index 00000000..802b7a54 --- /dev/null +++ b/bundle/bundle--package.el @@ -0,0 +1,110 @@ +;; 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) + + +;; PACKAGES +(use-package company + :ensure t + :init + (global-company-mode)) + +(use-package ivy + :ensure t + :init + (ivy-mode 1)) + +(use-package nov + :ensure t + :config + (setq nov-text-width 80)) + +(use-package projectile + :ensure t + :init + (projectile-mode +1)) + +(define-key projectile-mode-map (kbd "s-p") 'projectile-command-map) +(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) + +(use-package elpy + :ensure t) + +(use-package eglot + :ensure t + :hook ((python-mode . eglot-ensure))) + +(use-package js2-mode + :ensure t + :interpreter (("node" . js2-mode)) + :bind (:map js2-mode-map ("C-c C-p" . js2-print-json-path)) + :mode "\\.\\(js\\|json\\)$" + :config + (add-hook 'js-mode-hook 'js2-minor-mode) + (setq js2-basic-offset 2 + js2-highlight-level 3 + js2-mode-show-parse-errors nil + js2-mode-show-strict-warnings nil)) + +(use-package web-mode + :ensure t + :mode "\\.html?\\'" + :init + (dolist (hook '(emmet-mode ac-emmet-html-setup ac-emmet-css-setup)) + (add-hook 'web-mode-hook hook)) + :config + (setq web-mode-markup-indent-offset 2 + web-mode-css-indent-offset 2 + web-mode-code-indent-offset 2 + web-mode-enable-auto-pairing nil + web-mode-enable-auto-closing t + web-mode-enable-current-element-highlight t + web-mode-enable-current-column-highlight t + web-mode-ac-sources-alist + '(("css" . (ac-source-css-property ac-source-emmet-css-snippets)) + ("html" . (ac-source-emmet-html-aliases + ac-source-emmet-html-snippets)))) + (add-hook 'web-mode-before-auto-complete-hooks + '(lambda () + (let ((web-mode-cur-language (web-mode-language-at-pos))) + (if (string= web-mode-cur-language "css") + (setq emmet-use-css-transform t) + (setq emmet-use-css-transform nil)))))) + +(use-package slime + :ensure t + :config (setq inferior-lisp-program (executable-find "sbcl"))) + +(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode)) + +(use-package org + :ensure t + :config + (setq org-agenda-dim-blocked-tasks nil + org-agenda-inhibit-startup nil + org-babel-shell-names (quote ("sh" "bash" "csh" "ash" "dash" "ksh" "mksh" "posh")) + org-clock-persist t + org-confirm-babel-evaluate nil + org-html-doctype "html5" + org-html-html5-fancy t + org-log-done (quote time) + org-startup-folded t + org-startup-truncated nil + org-todo-keywords (quote ((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED"))) + org-use-property-inheritance nil)) diff --git a/bundle/bundle--server.el b/bundle/bundle--server.el new file mode 100644 index 00000000..5c2e248a --- /dev/null +++ b/bundle/bundle--server.el @@ -0,0 +1,5 @@ +(require 'server) +;; Start a server if (server-running-p) does not return t (e.g. if it +;; returns nil or :other) +(or (eq (server-running-p) t) + (server-start)) diff --git a/init.el b/init.el index 385fddd4..9c653ec4 100755 --- a/init.el +++ b/init.el @@ -1,159 +1,12 @@ -(require 'server) -;; Start a server if (server-running-p) does not return t (e.g. if it -;; returns nil or :other) -(or (eq (server-running-p) t) - (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 -(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") - (add-to-list 'load-path (expand-file-name "~/AppData/Roaming/__secrets")) - (cd "~/opt") - (when (string= (system-name) "EVG02667NB") - (add-to-list 'Info-default-directory-list "~/Info") - (setq custom-file "~/.emacs.d/bundle/custom_win32_EVG02667NB.el")) - (when (string= (system-name) "XPS-8930"))) - -;; CUSTOM_FILE -(load custom-file :noerror) - +(add-to-list 'load-path (expand-file-name "~/.emacs.d/bundle/")) +(load "bundle--server") +(load "bundle--package") +(load "bundle--customfile") +(load "bundle--keys") +(load "bundle--coding") ;; (load-theme 'nord t) (require 'color-theme-sanityinc-tomorrow) - -;; 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) - -;; PACKAGES -(use-package company - :ensure t - :init - (global-company-mode)) - -(use-package ivy - :ensure t - :init - (ivy-mode 1)) - -(use-package nov - :ensure t - :config - (setq nov-text-width 80)) - -(use-package projectile - :ensure t - :init - (projectile-mode +1)) - -(define-key projectile-mode-map (kbd "s-p") 'projectile-command-map) -(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) - -(use-package elpy - :ensure t) - -(use-package eglot - :ensure t - :hook ((python-mode . eglot-ensure))) - -(use-package js2-mode - :ensure t - :interpreter (("node" . js2-mode)) - :bind (:map js2-mode-map ("C-c C-p" . js2-print-json-path)) - :mode "\\.\\(js\\|json\\)$" - :config - (add-hook 'js-mode-hook 'js2-minor-mode) - (setq js2-basic-offset 2 - js2-highlight-level 3 - js2-mode-show-parse-errors nil - js2-mode-show-strict-warnings nil)) - -(use-package web-mode - :ensure t - :mode "\\.html?\\'" - :init - (dolist (hook '(emmet-mode ac-emmet-html-setup ac-emmet-css-setup)) - (add-hook 'web-mode-hook hook)) - :config - (setq web-mode-markup-indent-offset 2 - web-mode-css-indent-offset 2 - web-mode-code-indent-offset 2 - web-mode-enable-auto-pairing nil - web-mode-enable-auto-closing t - web-mode-enable-current-element-highlight t - web-mode-enable-current-column-highlight t - web-mode-ac-sources-alist - '(("css" . (ac-source-css-property ac-source-emmet-css-snippets)) - ("html" . (ac-source-emmet-html-aliases - ac-source-emmet-html-snippets)))) - (add-hook 'web-mode-before-auto-complete-hooks - '(lambda () - (let ((web-mode-cur-language (web-mode-language-at-pos))) - (if (string= web-mode-cur-language "css") - (setq emmet-use-css-transform t) - (setq emmet-use-css-transform nil)))))) - -(use-package slime - :ensure t - :config (setq inferior-lisp-program (executable-find "sbcl"))) - -(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode)) - -(use-package org - :ensure t - :config - (setq org-agenda-dim-blocked-tasks nil - org-agenda-inhibit-startup nil - org-babel-shell-names (quote ("sh" "bash" "csh" "ash" "dash" "ksh" "mksh" "posh")) - org-clock-persist t - org-confirm-babel-evaluate nil - org-html-doctype "html5" - org-html-html5-fancy t - org-log-done (quote time) - org-startup-folded t - org-startup-truncated nil - org-todo-keywords (quote ((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED"))) - org-use-property-inheritance nil)) - (org-clock-persistence-insinuate) ;; HOOKS @@ -170,30 +23,7 @@ There are two things you can do about this warning: (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) +(load "bundle--calendar") (put 'narrow-to-region 'disabled nil) (put 'narrow-to-page 'disabled nil) @@ -210,12 +40,4 @@ There are two things you can do about this warning: (when (eq system-type 'windows-nt) (win-set-sbcl)) -(defun mk-write-mode-enable () - (setq olivetti-body-width 73) - (setq mode-line-format nil) - (olivetti-mode)) -(defun mk-write-mode-disable () - (setq mode-line-format '(("-" mode-line-mule-info mode-line-modified mode-line-frame-identification mode-line-buffer-identification " " mode-line-position mode-line-modes (which-func-mode ("" which-func-format "--")) (global-mode-string ("--" global-mode-string)) "-%-"))) - (olivetti-mode) - (defvar mode-line-format-current - (symbol-value 'mode-line-format))) +(load "bundle--mk")