;; ;; emacs configuration ;; ;; Made by Némunaire (require 'site-gentoo) (require 'package) (add-to-list 'package-archives '("MELPA Stable" . "https://stable.melpa.org/packages/") t) ;; Added by Package.el. This must come before configurations of ;; installed packages. Don't delete this line. If you don't want it, ;; just comment it out by adding a semicolon to the start of the line. ;; You may delete these explanatory comments. ;; Initialize package system but don't activate packages yet (setq package-enable-at-startup nil) (package-initialize) ;; Register system-installed vterm in package-alist ;; (site-gentoo only adds to load-path, not package-alist) (unless (assq 'vterm package-alist) (let ((desc (package-desc-create :name 'vterm :version '(0 0 2) :summary "Emulation of a terminal" :reqs '((emacs (25 1))) :kind 'dir :dir "/usr/share/emacs/site-lisp/vterm"))) (push (cons 'vterm (list desc)) package-alist))) ;; Now activate all packages (including claude-code which will find vterm) (package-activate-all) ;; Bootstrap use-package (unless (package-installed-p 'use-package) (package-refresh-contents) (package-install 'use-package)) (require 'use-package) (setq use-package-always-ensure t) (setq flymake-allowed-file-name-masks nil) (defun may-load (path) "Load a file if it exists." (when (file-readable-p path) (load-file path))) (defun reload () "Reload configuration file" (interactive) (load-file "~/.emacs.d/init.elc")) ;; Compile init file when it is modified (defun byte-compile-current-buffer () "`byte-compile' current buffer if it's emacs-lisp-mode and compiled file exists." (interactive) (when (and (eq major-mode 'emacs-lisp-mode) (file-exists-p (byte-compile-dest-file buffer-file-name))) (byte-compile-file buffer-file-name))) (add-hook 'after-save-hook 'byte-compile-current-buffer) ;; default emacs configuration directory (defconst toc:emacs-config-dir "~/.emacs.d/configs/" "") ;; utility fonction to auto-load my package configurations (defun toc:load-config-file (filelist) (dolist (file filelist) (message "Loading config file: %s..." file) (load (expand-file-name (concat toc:emacs-config-dir file))) )) (add-to-list 'load-path "~/.emacs.d/stuff/") (require 'my-autoload) (require 'my-c-mode) (require 'my-elisp) (require 'my-font) (require 'my-layout) (require 'my-lisp-mode) (require 'my-python-mode) ;; load my configuration files (toc:load-config-file '("packages" ; Modern package management (load first) "key-binding" "editing" "coding-style" "tags" "hooks" "modes" "mail" "custom" "perso" )) (custom-set-variables '(package-selected-packages nil) '(python-indent 4) '(query-user-mail-address nil) '(user-mail-address "nemunaire@nemunai.re"))