Browse Source

First tries to improve startup time. currently 1.05 from 1.44

master
Marc 3 years ago
parent
commit
376438b94e
1 changed files with 48 additions and 8 deletions
  1. 56
      init.org

56
init.org

@ -63,6 +63,23 @@ This function updates init.el whenever changes in init.org are made. The update
(add-hook 'after-save-hook 'me/tangle-init)
#+END_SRC
A small function to measure start up time.
Compare that to
emacs -q --eval='(message "%s" (emacs-init-time))'
(roughly 0.27s)
https://blog.d46.us/advanced-emacs-startup/
#+begin_src emacs-lisp
(add-hook 'emacs-startup-hook
(lambda ()
(message "Emacs ready in %s with %d garbage collections."
(format "%.2f seconds"
(float-time
(time-subtract after-init-time before-init-time)))
gcs-done)))
(setq gc-cons-threshold (* 50 1000 1000))
#+end_src
#+BEGIN_SRC emacs-lisp
(require 'package)
@ -71,8 +88,8 @@ This function updates init.el whenever changes in init.org are made. The update
(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
(when (< emacs-major-version 27)
(package-initialize))
;(when (< emacs-major-version 27)
; (package-initialize))
#+END_SRC
#+BEGIN_SRC emacs-lisp
@ -80,12 +97,12 @@ This function updates init.el whenever changes in init.org are made. The update
(package-refresh-contents)
(package-install 'use-package))
(setq use-package-verbose nil)
(eval-when-compile
(require 'use-package))
(require 'bind-key)
(setq use-package-verbose nil)
(use-package diminish
:ensure t)
#+END_SRC
@ -96,7 +113,6 @@ Maybe turn it on again at some point before the next major emacs upgrade
#+begin_src emacs-lisp
(setq byte-compile-warnings '(cl-functions))
#+end_src
* Default settings
:PROPERTIES:
:ID: 3512d679-d111-4ccd-8372-6fc2acbc0374
@ -346,6 +362,7 @@ Windows Theme:
#+BEGIN_SRC emacs-lisp
(use-package imenu-list
:ensure t
:defer t
:config
(setq imenu-list-focus-after-activation t
imenu-list-auto-resize t
@ -363,6 +380,7 @@ Windows Theme:
(use-package which-key
:ensure t
:diminish which-key-mode
:defer t
:config
(which-key-mode)
(which-key-setup-side-window-right-bottom)
@ -409,6 +427,7 @@ Windows Theme:
:ensure t
:diminish
(ivy-mode . "")
:defer t
:init
(ivy-mode 1)
:bind
@ -423,11 +442,13 @@ Windows Theme:
; make counsel-M-x more descriptive
(use-package ivy-rich
:ensure t
:defer t
:init
(ivy-rich-mode 1))
(use-package counsel
:ensure t
:defer t
:bind
(("M-x" . counsel-M-x)
("C-x C-f" . counsel-find-file)
@ -463,6 +484,7 @@ Windows Theme:
(use-package company
:defer 1
:diminish
:defer t
:bind
(("C-<tab>" . company-complete)
:map company-active-map
@ -483,6 +505,7 @@ Windows Theme:
(use-package company-statistics
:ensure t
:after company
:defer t
:init
(setq company-statistics-file (concat MY--PATH_USER_LOCAL "company-statistics-cache.el"));~/.emacs.d/user-dir/company-statistics-cache.el")
:config
@ -491,12 +514,14 @@ Windows Theme:
(use-package company-dabbrev
:ensure nil
:after company
:defer t
:config
(setq-default company-dabbrev-downcase nil))
(use-package company-box
:ensure t
:diminish
:defer t
:init
(add-hook 'company-mode-hook 'company-box-mode))
#+END_SRC
@ -532,6 +557,7 @@ Windows Theme:
:ensure org-plus-contrib
:mode (("\.org$" . org-mode))
:diminish org-indent-mode
:defer t
:init
(add-hook 'org-mode-hook 'company/org-mode-hook)
(add-hook 'org-src-mode-hook 'smartparens-mode)
@ -707,7 +733,8 @@ Vorerst deaktiviert, Nutzen evtl. nicht vorhanden
** misc
#+begin_src emacs-lisp
(use-package eldoc
:diminish eldoc-mode)
:diminish eldoc-mode
:defer t)
#+end_src
** Magit / Git
:PROPERTIES:
@ -775,6 +802,7 @@ TODO Unterverzeichnisse wurden noch nicht getestet
(use-package lsp-ui
:after lsp-mode
:ensure t
:defer t
:diminish
:commands lsp-ui-mode
:config
@ -813,6 +841,7 @@ For useful snippet either install yasnippet-snippets or get them from here
#+begin_src emacs-lisp
(use-package yasnippet
:ensure t
:defer t
:diminish yas-minor-mode
:config
(setq yas-snippet-dirs (list (concat MY--PATH_USER_GLOBAL "snippets")))
@ -847,6 +876,7 @@ With hippie expand I am able to use yasnippet and emmet at the same time with th
((css-mode . flycheck-mode)
(emacs-lisp-mode . flycheck-mode)
(python-mode . flycheck-mode))
:defer 1.0
:init
(setq flycheck-emacs-lisp-load-path 'inherit)
:config
@ -865,7 +895,7 @@ Manage projects and jump quickly between its files
#+BEGIN_SRC emacs-lisp
(use-package projectile
:ensure t
:defer t
:defer 1.0
:diminish
:hook (projectile-after-switch-project . (lambda () (set-workon_home))) ;; for pyvenv to auto activate environment
:bind-keymap
@ -979,12 +1009,14 @@ Default completion is C-j
(use-package yaml-mode
:if *sys/linux*
:ensure t
:defer t
:mode ("\\.yml$" . yaml-mode))
#+end_src
** R
#+BEGIN_SRC emacs-lisp
(use-package ess
:ensure t
:defer t
:init
(if *work_remote*
(setq exec-path (append exec-path '("P:/Tools/R/bin/x64"))
@ -1007,18 +1039,20 @@ apt install build-essential python3-dev
(use-package lsp-python-ms
:if *sys/linux*
:ensure t
:defer 0.3
:defer t
:custom (lsp-python-ms-auto-install-server t))
(use-package python
:if *sys/linux*
:delight "π "
:defer t
:bind (("M-[" . python-nav-backward-block)
("M-]" . python-nav-forward-block)))
(use-package pyvenv
:if *sys/linux*
:ensure t
:defer t
:after python
:hook ((python-mode . pyvenv-mode)
(python-mode . (lambda ()
@ -1131,3 +1165,9 @@ Start fava with fava my_file.beancount
It is accessable on this URL: [[http://127.0.0.1:5000][Fava]]
Beancount-mode can start fava and open the URL right away.
* Stuff after everything else
Set garbage collector to a smaller value to let it kick in faster.
Maybe a problem on Windows?
#+begin_src emacs-lisp
(setq gc-cons-threshold (* 2 1000 1000))
#+end_src
Loading…
Cancel
Save