;; Package management (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (package-initialize) ;; Install use-package if missing (unless (package-installed-p 'use-package) (package-refresh-contents) (package-install 'use-package)) ;; Core setup (setq inhibit-startup-screen t) (electric-pair-mode 1) (show-paren-mode 1) ;; Packages (use-package eglot :ensure t :hook ((c-mode c++-mode) . eglot-ensure)) (use-package company :ensure t :config (global-company-mode) (setq company-idle-delay 0.1)) (use-package flycheck :ensure t :init (global-flycheck-mode)) (use-package clang-format :ensure t :bind ("C-c f" . clang-format-buffer)) (use-package projectile :ensure t :init (projectile-mode)) (use-package which-key :ensure t :init (which-key-mode)) ;; C-specific settings (add-hook 'c-mode-hook (lambda () (setq c-basic-offset 4) (setq tab-width 4) (setq indent-tabs-mode nil)))