nixos-dotfiles

nixos-dotfiles

https://git.tonybtw.com/nixos-dotfiles.git git://git.tonybtw.com/nixos-dotfiles.git
1,296 bytes raw
1
;;; init.el --- Main entry point -*- lexical-binding: t -*-
2
3
(setq byte-compile-warnings '(not obsolete))
4
(setq warning-suppress-log-types '((comp) (bytecomp)))
5
(setq native-comp-async-report-warnings-errors 'silent)
6
7
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
8
(package-initialize)
9
10
(add-to-list 'package-archives
11
             '("melpa" . "https://melpa.org/packages/") t)
12
13
(defvar rc/package-contents-refreshed nil)
14
15
(defun rc/package-refresh-contents-once ()
16
  (when (not rc/package-contents-refreshed)
17
    (setq rc/package-contents-refreshed t)
18
    (package-refresh-contents)))
19
20
(defun rc/require-one-package (package)
21
  (when (not (package-installed-p package))
22
    (rc/package-refresh-contents-once)
23
    (package-install package)))
24
25
(defun rc/require (&rest packages)
26
  (dolist (package packages)
27
    (rc/require-one-package package)))
28
29
(defun rc/require-theme (theme)
30
  (let ((theme-package (intern (concat (symbol-name theme) "-theme"))))
31
    (rc/require theme-package)
32
    (load-theme theme t)))
33
34
; Load config files
35
(load (expand-file-name "packages.el" user-emacs-directory))
36
(load (expand-file-name "config.el" user-emacs-directory))
37
(load (expand-file-name "keybinds.el" user-emacs-directory))
38
39
(when (file-exists-p custom-file)
40
  (load-file custom-file))