summaryrefslogtreecommitdiff
path: root/config/init-base.el
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--config/init-base.el143
1 files changed, 143 insertions, 0 deletions
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 <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