(add-hook 'emacs-startup-hook (lambda () (message "tobmacs loaded in %s." (emacs-init-time)))) (set-default-coding-systems 'utf-8) (customize-set-variable 'visible-bell 1) (customize-set-variable 'large-file-warning-threshold 100000000) (add-to-list 'load-path (expand-file-name "modules/" user-emacs-directory)) (setq custom-file (expand-file-name "custom.el" user-emacs-directory)) (load custom-file 'noerror) ;; (add-to-list 'native-comp-eln-load-path (expand-file-name "eln-cache/" user-emacs-directory)) (setq package-archives '(("elpa" . "https://elpa.gnu.org/packages/") ("elpa-devel" . "https://elpa.gnu.org/devel/") ("nongnu" . "https://elpa.nongnu.org/nongnu/") ("melpa" . "https://melpa.org/packages/"))) (setq package-archive-priorities '(("elpa" . 2) ("nongnu" . 1))) (package-initialize) (unless package-archive-contents (package-refresh-contents)) (unless (package-installed-p 'use-package) (package-install 'use-package)) (require 'use-package) (setq use-package-always-ensure t) (use-package exec-path-from-shell) (when (memq window-system '(mac ns x)) (exec-path-from-shell-initialize)) ;; ----------------------------------------------------------------- (use-package avy :bind ("M-j" . 'avy-goto-char-timer)) (use-package cider :defer t) (use-package clj-refactor :hook clojure-mode) (use-package clojure-mode :config (use-package flycheck-clj-kondo) (require 'flycheck-clj-kondo)) (use-package consult :bind (("C-x b" . consult-buffer) ("C-x 4 b" . consult-buffer-other-window) ("C-x r b" . consult-bookmark) ("C-x p b" . consult-project-buffer) ("M-y" . consult-yank-pop) ("M-g g" . consult-goto-line) ("M-g M-g" . consult-goto-line) ("M-i" . consult-imenu) ("M-s l" . consult-line) ("M-s L" . consult-line-multi)) :hook (completion-list-mode . consult-preview-at-point-mode)) (use-package corfu :custom (corfu-cycle t) (corfu-preselect-first nil) (corfu-auto t) :init (global-corfu-mode)) (use-package dired :ensure nil :init (setq dired-dwim-target t)) (use-package dumb-jump :config (add-hook 'xref-backend-functions #'dumb-jump-xref-activate) (setq xref-show-definitions-function #'xref-show-definitions-completing-read)) (use-package ef-themes :config (setq ef-themes-headings '((0 . (variable-pitch light 2.0)) (1 . (variable-pitch light 1.5)) (2 . (variable-pitch semibold 1.2)) (t . (variable-pitch semibold 1.0)))) (setq ef-themes-mixed-fonts t ef-themes-variable-pitch-ui t) (mapc #'disable-theme custom-enabled-themes) (load-theme 'ef-winter :no-confirm)) (use-package emacs :config (global-auto-revert-mode) (minibuffer-electric-default-mode) (electric-pair-mode) (setq auto-save-file-name-transforms `((".*" ,temporary-file-directory t)) backup-directory-alist `((".*" . ,temporary-file-directory)) coding-system-for-read 'utf-8 coding-system-for-write 'utf-8 create-lockfiles nil default-process-coding-system '(utf-8-unix . utf-8-unix) delete-by-moving-to-trash t isearch-allow-motion t locale-coding-system 'utf-8 next-line-add-newlines t sentence-end-double-space nil tab-bar-new-tab-choice "*scratch*" tab-bar-show nil user-full-name "Tobias Ostner" user-mail-address "tobias.ostner@gmail.com") (setq-default indent-tabs-mode nil) (set-charset-priority 'unicode) (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (set-selection-coding-system 'utf-8) (prefer-coding-system 'utf-8) (when (fboundp 'mac-auto-operator-composition-mode) (mac-auto-operator-composition-mode))) (use-package flycheck :init (global-flycheck-mode)) (use-package fontaine :config (setq fontaine-presets '((tiny :default-family "Iosevka Comfy Wide Fixed" :default-height 70) (small :default-family "Iosevka Comfy Fixed" :default-height 90) (regular :default-height 130) (medium :default-height 170) (large :default-weight semilight :default-height 250 :bold-weight extrabold) (presentation :default-weight semilight :default-height 250 :bold-weight extrabold) (jumbo :default-weight semilight :default-height 300 :bold-weight extrabold) (t :default-family "Iosevka Comfy" :default-weight regular :default-height 130 :variable-pitch-family "Iosevka Comfy Duo" :bold-weight bold :italic-slant italic :line-spacing 0.2))) (fontaine-set-preset 'regular)) (use-package lsp-mode :hook (swift-mode . lsp) :commands lsp) (use-package marginalia :init (marginalia-mode)) (use-package modus-themes :config (setq modus-themes-variable-pitch-headings t modus-themes-org-blocks 'tinted-background modus-themes-bold-constructs t modus-themes-italic-constructs t modus-themes-scale-headings t modus-themes-completions 'opinionated modus-themes-mode-line '(accented borderless))) (use-package orderless :custom (completion-styles '(orderless basic)) (completion-category-overrides '((file (styles basic partial-completion))))) (use-package org :defer t :config (setq org-auto-align-tags nil org-tags-column 0 org-special-ctrl-a/e t org-pretty-entities t org-hide-emphasis-markers t org-startup-with-inline-images t)) (use-package org-modern :init (global-org-modern-mode)) (use-package paredit :hook ((lisp-mode emacs-lisp-mode clojure-mode) . paredit-mode)) (use-package rainbow-delimiters :hook ((emacs-lisp-mode . rainbow-delimiters-mode) (clojure-mode . rainbow-delimiters-mode))) (use-package savehist :init (savehist-mode)) (use-package lsp-sourcekit :after lsp-mode :config (setq lsp-sourcekit-executable "/Library/Developer/CommandLineTools/usr/bin/sourcekit-lsp")) (use-package magit :defer t) (use-package swift-mode) (use-package vertico :init (vertico-mode) :config (setq vertico-cycle t))