2  init.el

;;; init.el --- Emacs Configuration Entry Point

;; Load path for modular config files
(add-to-list 'load-path (expand-file-name "lisp" user-emacs-directory))

;; Load modules
(require 'init-ui)
(require 'init-editing)
(require 'init-org)
(require 'init-roam)
(require 'init-latex)
(require 'init-company)

;; macOS-specific setup
(when (eq system-type 'darwin)
  (require 'init-macos))

;; -----------------------------------------------
;; 📦 Package Manager Setup (package.el + use-package)
;; -----------------------------------------------

(require 'package)
(setq package-archives
      '(("melpa"        . "https://melpa.org/packages/")
        ("melpa-stable" . "https://stable.melpa.org/packages/")
        ("gnu"          . "https://elpa.gnu.org/packages/")
        ("nongnu"       . "https://elpa.nongnu.org/nongnu/")))

;; (package-initialize)

(unless package-archive-contents
  (package-refresh-contents))

;; -----------------------------------
;; Save customization to separate file
;; -----------------------------------
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
(load custom-file 'noerror)

;;; init.el ends here