;;; init.el -*- lexical-binding: t; -*- ;;; Initial phase. ;; Load the custom file if it exists. Among other settings, this will ;; have the list `package-selected-packages', so we need to load that ;; before adding more packages. The value of the `custom-file' ;; variable must be set appropriately, by default the value is nil. ;; This can be done here, or in the early-init.el file. (setq custom-file (expand-file-name "custom.el" user-emacs-directory)) (when (and custom-file (file-exists-p custom-file)) (load custom-file nil 'nomessage)) ;; Add custom modules to the `load-path' (add-to-list 'load-path (expand-file-name "modules" user-emacs-directory)) ;; Adds crafted-emacs modules to the `load-path' (setq crafted-emacs-home (expand-file-name "crafted-emacs" user-emacs-directory)) (add-to-list 'load-path (expand-file-name "modules" crafted-emacs-home)) ;;; Configuration phase ;; Some example modules to configure Emacs. Don't blindly copy these, ;; they are here for example purposes. Find the modules which work ;; for you and add them here. (require 'crafted-completion-config) (require 'crafted-defaults-config) (require 'crafted-ide-config) (require 'crafted-org-config) (require 'crafted-startup-config) (require 'crafted-ui-config) (require 'crafted-workspaces-packages) (require 'crafted-writing-packages) ;;; Optional configuration (setq user-full-name "Evie Litherland-Smith" user-mail-address "evie@xenia.me.uk" display-line-numbers 'relative) ;; Theme settings (load-theme 'doom-tokyo-night t) (add-to-list 'default-frame-alist '(font . "FiraCode Nerd Font-12")) (global-prettify-symbols-mode) (set-frame-parameter nil 'alpha-background 80) (add-to-list 'default-frame-alist '(alpha-background . 80)) ;; Profile emacs startup (defun crafted-startup-example/display-startup-time () "Display the startup time after Emacs is fully initialized." (message "Crafted Emacs loaded in %s." (emacs-init-time))) (add-hook 'emacs-startup-hook #'crafted-startup-example/display-startup-time) ;; Set default coding system (especially for Windows) (set-default-coding-systems 'utf-8) (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) ;; Org-Mode settings (setq org-directory "~/Org" org-agenda-files '("~/Org/") org-agenda-sticky t org-agenda-prefix-format '((agenda . " %i %t %s") (todo . " %i") (tags . " %i") (search . " %i"))) ;; Magit settings (setq magit-clone-default-directory "~/Projects/") ;; ntfy server settings (setq ntfy-server "https://ntfy.xenia.me.uk" ntfy-topic "UhrNGphnSKCpCnk8" ntfy-header "Notification from emacs" ntfy-tags "purple_circle,loudspeaker") ;; Apheleia settings (setq apheleia-remote-algorithm 'local) ;; TRAMP settings (setq tramp-default-method "sshx" tramp-default-remote-shell "/bin/sh" tramp-remote-path '(tramp-own-remote-path tramp-default-remote-path))