From 38593df6bb457fc3940fcef1d93976cd56b0a2d0 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Sun, 26 May 2024 14:00:34 -0700 Subject: massive cleanup --- config/init-base.el | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 config/init-base.el (limited to 'config/init-base.el') diff --git a/config/init-base.el b/config/init-base.el new file mode 100644 index 0000000..799dce6 --- /dev/null +++ b/config/init-base.el @@ -0,0 +1,143 @@ +;;; init-base.el --- base configuration -*- lexical-binding: t -*- +;; Author: Franck Cuny + +;;; Commentary: + +;; commentary + +;;; Code: + +(setq sentence-end-double-space nil + create-lockfiles nil ;; don't use a lock file + tab-always-indent 'complete ;; when using TAB, always indent + initial-major-mode 'fundamental-mode ;; default mode for the scratch buffer + initial-scratch-message "" ;; makes the scratch buffer empty + confirm-kill-emacs #'yes-or-no-p ;; ask before killing emacs + use-short-answers t ;; use y-or-n + minibuffer-message-timeout 0.5 ;; How long to display an echo-area message + ring-bell-function 'ignore ;; really no bell + visible-bell nil ;; no bell + indent-tabs-mode nil ;; turn off tab indentation + delete-by-moving-to-trash t ;; delete files by moving them to the trash + user-full-name "Franck Cuny" + user-mail-address "franck@fcuny.net" + history-length 200 + history-delete-duplicates t + require-final-newline t + auto-save-default nil ;; no autosave + backup-inhibited t ;; no backups + completion-ignored-extensions '(".class" ".cp" ".elc" ".fmt" ".git/" ".pyc" ".so" "~")) + +;; Use UTF-8 everywhere +(prefer-coding-system 'utf-8) +(set-default-coding-systems 'utf-8) +(set-terminal-coding-system 'utf-8) +(set-keyboard-coding-system 'utf-8) + +(use-package recentf + :custom + (recentf-max-saved-items 2000) + (recentf-max-menu-items 200) + (recentf-exclude + '("~\\'" "\\`out\\'" "\\.log\\'" "^/[^/]*:" "\\.el\\.gz\\'" "\\.gz\\'")) + :config + (recentf-mode t)) + +(use-package savehist + :config + (savehist-mode t)) + +(use-package saveplace + :config + (save-place-mode t)) + +(use-package autorevert + :custom + (auto-revert-use-notify nil) + :config + (global-auto-revert-mode t)) + +(global-set-key (kbd "M-j") 'join-line) + +(use-package which-key + :diminish + :ensure t + :hook (after-init . which-key-mode)) + +(use-package imenu + :config + (setq imenu-auto-rescan t)) + +(when (memq window-system '(mac ns)) + (add-to-list 'default-frame-alist '(fullscreen . maximized)) + (add-to-list 'default-frame-alist '(ns-appearance . nil)) + (add-to-list 'default-frame-alist '(ns-transparent-titlebar . nil))) + +(use-package exec-path-from-shell + :ensure t + :demand t + :if (memq window-system '(mac ns)) + :config + (exec-path-from-shell-initialize) + :custom + (exec-path-from-shell-variables '("ASPELL_CONF"))) + +(use-package ibuffer + :defer t + :bind ("C-x C-b" . ibuffer) + :custom + (ibuffer-expert t) + (ibuffer-show-empty-filter-groups nil) + (ibuffer-jump-offer-only-visible-buffers t) + (ibuffer-maybe-show-predicates '("^\\*.*\\*$")) + (ibuffer-never-show-predicates '("^ ")) + (ibuffer-use-other-window t)) + +(use-package midnight + :defer t + :custom + ;; every 6 hours + (midnight-period (* 3600 6))) + +(use-package dired + :ensure nil + :defer t + :config + (setq dired-omit-files "^__pycache__$") + :custom + (dired-use-ls-dired t) + (insert-directory-program "/etc/profiles/per-user/fcuny/bin/ls") + (dired-clean-up-buffers-too nil) + (dired-dwim-target t) + (dired-hide-details-hide-information-lines nil) + (dired-hide-details-hide-symlink-targets nil) + (dired-recursive-copies 'always) + (dired-recursive-deletes 'always) + (dired-no-confirm + '(byte-compile chgrp chmod chown copy hardlink symlink touch))) + +(use-package dired-x + :after dired + :hook ((dired-mode . dired-omit-mode))) + +(defun my/rename-this-buffer-and-file () + "Renames current buffer and file it is visiting." + (interactive) + (let ((name (buffer-name)) + (filename (buffer-file-name)) + (read-file-name-function 'read-file-name-default)) + (if (not (and filename (file-exists-p filename))) + (error "Buffer '%s' is not visiting a file!" name) + (let ((new-name (read-file-name "New name: " filename))) + (cond ((get-buffer new-name) + (error "A buffer named '%s' already exists!" new-name)) + (t + (rename-file filename new-name 1) + (rename-buffer new-name) + (set-visited-file-name new-name) + (set-buffer-modified-p nil) + (message "File '%s' successfully renamed to '%s'" name (file-name-nondirectory new-name)))))))) + +(provide 'init-base) + +;;; init-base.el ends here -- cgit 1.4.1