.emacs.d/init.el

65 lines
1.7 KiB
EmacsLisp

;; Load essentials.
(load "~/.emacs.d/essential.el")
;; Packages.
(load "~/.emacs.d/packages.el")
;; Correct bad defaults.
(load "~/.emacs.d/tweaks.el")
;; Additional functions, keybinds.
(load "~/.emacs.d/custom.el")
;; Start an emacs server from this session, if it isn't already running.
;; This is useful for stuff like Nyxt where we can launch and emacsclient to
;; evaluate forms.
(when (not (server-running-p))
(server-start))
;; Tab width.
(setq-default tab-width 4)
;; Use spaces by default.
(setq-default indent-tabs-mode nil)
;;; Appearance
;; The font is set in fontconfig. Usually it's UW Ttyp0 or Gohufont
(set-frame-font "monospace 12")
(setq default-frame-alist '((font . "monospace 12")))
;; Highlight current line.
(when window-system (global-hl-line-mode t))
;; Highlight matching parentheses.
(show-paren-mode t)
;; Mode line
(line-number-mode t)
(column-number-mode t)
(setq display-time-24hr-format t)
(display-time-mode t)
;; "lambda" => λ
;; Apparently messes up indentation or something? be wary of use.
(setq-default prettify-symbols-alist '(("lambda" . 955)))
(global-prettify-symbols-mode 1)
;; Electric pair mode
(setq electric-pair-pairs '((?\( . ?\))
(?\[ . ?\])
(?\{ . ?\})
(?\" . ?\")))
(electric-pair-mode t)
;; C configuration
(setq c-default-style "linux"
c-basic-offset 4)
;; Scheme configuration
(setq geiser-active-implementations '(guile))
(setq geiser-guile-binary "/usr/bin/guile")
;; for ncurses development, uncomment this:
;; (setq geiser-guile-binary "/usr/local/bin/guile-ncurses-shell")
;; (setq geiser-active-implementations '(mit))
;; (setq geiser-active-implementations '(chez))