summaryrefslogblamecommitdiff
path: root/init.el
blob: 35eb65188e679cf695f956ad25314b5663a4c8bd (plain) (tree)
1
2
3
4
5
6
7
8





                                                                         

                                          



                                                                         
 
                                                                    
 

                                     
 


                                                                             
 

                    








                                                     
                         
                                                                         
                                                                       
 
                    
                  
 


                          
                           
                      
                       
                      
                     
                      
 
                    
                        
 




                                                            
;;; init.el --- This is where all emacs start. -*- lexical-binding: t -*-

;;; Commentary:

;;; Code:

(defconst emacs-start-time (current-time))

(defun report-time-since-load ()
  "Report how long it takes to load my Emacs configuration."
  (message "[after-init ]Loading init...done (%.3fs)"
	   (float-time (time-subtract (current-time) emacs-start-time))))

(add-hook 'after-init-hook #'(lambda () (report-time-since-load)) t)

;;; Configure how to install packages
(require 'package)

(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
(add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/"))
(add-to-list 'package-archives '("elpa" . "https://elpa.nongnu.org/nongnu/"))

(package-initialize)

;; Auto-install use-package.
(unless (package-installed-p 'use-package)
  (package-refresh-contents)
  (package-install 'use-package))

;; This is only needed once, near the top of the file
(eval-when-compile
  (require 'use-package))

;;; Custom configurations
(add-to-list 'load-path (expand-file-name "config" user-emacs-directory))
(add-to-list 'load-path (expand-file-name "lisp" user-emacs-directory))

(require 'init-base)
(require 'init-ui)

(require 'init-project)
(require 'init-snippets)
(require 'init-completion)
(require 'init-programming)
(require 'init-eshell)
(require 'init-writing)
(require 'init-window)
(require 'init-notes)
(require 'init-elfeed)

(require 'my-uptime)
(require 'network-utils)

(report-time-since-load)

;; Local Variables:
;; byte-compile-warnings: (not docstrings lexical noruntime)
;; End: