blob: 9cbac1243c9ab1d1edcc2fc4950e52422c4a787d (
plain) (
tree)
|
|
;;; init-base.el --- base configuration -*- lexical-binding: t -*-
;; Author: Franck Cuny <franck@fcuny.net>
;;; Commentary:
;; commentary
;;; Code:
(setq sentence-end-double-space nil ;; it matters for filling
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 2 ;; 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 ;; increase history length
history-delete-duplicates t ;; delete duplicate from history
require-final-newline t ;; ensure a new line is present at the bottom of files
auto-save-default nil ;; no auto save
backup-inhibited t ;; no backups
custom-file (expand-file-name "lisp/custom.el" user-emacs-directory))
;; 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
:ensure nil
:hook (after-init . savehist-mode)
:config
(setq savehist-file (locate-user-emacs-file "savehist"))
(setq history-length 100)
(setq history-delete-duplicates t)
(setq savehist-save-minibuffer-history t)
(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
: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
:hook (dired-mode . dired-omit-mode)
:bind (:map dired-mode-map
( "." . dired-omit-mode))
:custom
(dired-omit-files (rx (seq bol ".")))
(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)))
(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
|