blob: 799dce6cebcbc4e688e9f6b8a0f5db2ce985a0c7 (
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
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
|