;;; configuration --- Une configuration Emacs ;;; Commentary: ;;; configuration piochee sur le net ;;; Code: (setq max-lisp-eval-depth 10000) (setq max-specpdl-size 10000) (setq forge-alist nil) (require 'package) (setq package-enable-at-startup nil) (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/")) (add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/")) ;; positionner is-standalone à true pour utiliser l'archive elpa ;; locale, ou la récupérer en faisant 'git submodule update --init' (defvar is-standalone (file-exists-p "~/.emacs.d/myelpa/archive-contents")) (if is-standalone (setq package-archives '(("myelpa" . "~/.emacs.d/myelpa/"))) nil) ;; initialise la liste des paquets (package-initialize) ;; Bootstrap `use-package' (unless (package-installed-p 'use-package) (package-refresh-contents) (package-install 'use-package)) ;; Indique où sont stockés les paquets téléchargés (add-to-list 'load-path (expand-file-name "~/.emacs.d/elpa")) (use-package auto-async-byte-compile :ensure t :hook (emacs-lisp-mode-hook . 'enable-auto-async-byte-compile-mode)) (org-babel-load-file (expand-file-name "~/.emacs.d/Configuration.org")) ;;; Ajout de configuration personnelle (setq custom-file "~/.emacs.d/custom.el") ;;; Charge la configuration et éventuellement la sauve si le fichier ;;; de customization n'existe pas (if (file-exists-p "~/.emacs.d/custom.el") (load-file "~/.emacs.d/custom.el") ;; else (load-file "~/.emacs.d/.init-custom.el") (customize-save-customized)) ;;; Charge la configuration et éventuellement la sauve si le fichier ;;; de customization n'existe pas (let ((home-dot-clang-format "~/.clang-format")) (unless (file-exists-p home-dot-clang-format) (with-temp-file home-dot-clang-format (insert "--- Language: Cpp DisableFormat: true SortIncludes: false --- ")))) ;;; Crée un fichier ~/.gitignore (s'il n'y en a pas) pour éviter des ;;; pollutions des dépôts git liés à la création des fichiers ;;; temporaires générés par clangd (let ((home-dot-gitignore (or (magit-get "core.excludesFile") '"~/.gitignore"))) (unless (string-equal (magit-get "core.excludesFile") home-dot-gitignore) (magit-git-success "config" "--global" "core.excludesFile" home-dot-gitignore) ) (if (file-exists-p home-dot-gitignore) (with-temp-buffer (insert-file-contents home-dot-gitignore) (buffer-string) (unless (search-forward-regexp "^\\.cache$" nil t nil) (write-region ".cache " nil home-dot-gitignore 'append t) ) ) (with-temp-file home-dot-gitignore (insert ".cache ")) )) ;;; Local Variables: ;;; byte-compile-warnings: (not free-vars) ;;; End: (provide 'init) ;;; init.el ends here