2022-11-19 04:33:22 +01:00
|
|
|
;;; init-base.el --- Configuración base de emacs -*- lexical-binding: t -*-
|
2022-03-30 01:21:13 +02:00
|
|
|
|
|
|
|
;; Author: kj <webmaster@outcontrol.net>
|
|
|
|
;; URL: https://git.kj2.me/kj/confi-emacs-actual
|
|
|
|
|
|
|
|
;;; Commentary:
|
|
|
|
|
2023-04-14 18:39:19 +02:00
|
|
|
;; Configuración general de Emacs.
|
|
|
|
;; No incluye paquetes/extensiones, solo configuraciones generales.
|
2022-03-30 01:21:13 +02:00
|
|
|
|
|
|
|
;;; Code:
|
|
|
|
|
2022-04-06 17:05:36 +02:00
|
|
|
;; Native compilation
|
|
|
|
(when (and (fboundp 'native-comp-available-p)
|
|
|
|
(native-comp-available-p))
|
|
|
|
(progn
|
|
|
|
(setq native-comp-async-report-warnings-errors nil)
|
|
|
|
(setq comp-deferred-compilation t)
|
|
|
|
(setq package-native-compile t)
|
|
|
|
))
|
|
|
|
|
2022-05-27 23:04:28 +02:00
|
|
|
;; Instalar straight.el (reemplpazando package.el)
|
|
|
|
(defvar bootstrap-version)
|
|
|
|
(let ((bootstrap-file
|
|
|
|
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
|
|
|
|
(bootstrap-version 5))
|
|
|
|
(unless (file-exists-p bootstrap-file)
|
|
|
|
(with-current-buffer
|
|
|
|
(url-retrieve-synchronously
|
2022-08-01 14:43:57 +02:00
|
|
|
"https://raw.githubusercontent.com/radian-software/straight.el/master/install.el"
|
2022-05-27 23:04:28 +02:00
|
|
|
'silent 'inhibit-cookies)
|
|
|
|
(goto-char (point-max))
|
|
|
|
(eval-print-last-sexp)))
|
|
|
|
(load bootstrap-file nil 'nomessage))
|
|
|
|
|
2022-03-30 01:21:13 +02:00
|
|
|
;; Instalar use-package si no está instalado
|
2022-05-27 23:04:28 +02:00
|
|
|
(straight-use-package 'use-package)
|
2022-07-12 22:37:53 +02:00
|
|
|
(setq use-package-always-ensure t)
|
2022-03-30 01:21:13 +02:00
|
|
|
|
|
|
|
;; Theme
|
|
|
|
(use-package dracula-theme
|
2022-05-27 23:04:28 +02:00
|
|
|
:straight t
|
2023-04-18 07:21:36 +02:00
|
|
|
:defer t
|
|
|
|
:hook (after-init . (lambda()
|
|
|
|
(load-theme 'dracula t)
|
|
|
|
(set-face-attribute 'default nil :font "Fira Code Retina" :height 112) ; Font
|
|
|
|
))
|
|
|
|
)
|
2022-03-30 01:21:13 +02:00
|
|
|
|
|
|
|
(defconst private-dir (expand-file-name "private" user-emacs-directory))
|
|
|
|
(defconst temp-dir (format "%s/cache" private-dir)
|
|
|
|
"Hostname-based elisp temp directories.")
|
|
|
|
|
|
|
|
;; UTF-8 please
|
|
|
|
(set-charset-priority 'unicode)
|
|
|
|
(setq locale-coding-system 'utf-8) ; pretty
|
|
|
|
(set-terminal-coding-system 'utf-8) ; pretty
|
|
|
|
(set-keyboard-coding-system 'utf-8) ; pretty
|
|
|
|
(set-selection-coding-system 'utf-8) ; please
|
|
|
|
(prefer-coding-system 'utf-8) ; with sugar on top
|
|
|
|
(setq default-process-coding-system '(utf-8-unix . utf-8-unix))
|
|
|
|
|
|
|
|
;; Emacs customizations
|
2023-04-18 21:49:07 +02:00
|
|
|
(scroll-bar-mode -1) ; Quitar scrollbar.
|
|
|
|
(tooltip-mode -1) ; Disable tooltips.
|
|
|
|
(global-display-line-numbers-mode) ; Mostar número de línea.
|
|
|
|
(show-paren-mode 1) ; Habilitar resaltado de brackets.
|
|
|
|
(pending-delete-mode t) ; Cuando selecciono un texto y escribo, el texto se borra (emacs por defecto solo escribe donde está el cursor).
|
2023-06-23 15:39:27 +02:00
|
|
|
(global-hl-line-mode) ; Resaltar línea actual por defecto.
|
2022-03-30 01:21:13 +02:00
|
|
|
|
|
|
|
(setq-default
|
|
|
|
cursor-type 'bar ; Usar la barrita como cursor
|
|
|
|
cursor-in-non-selected-windows nil ; Desaparecer el cursor en frames no activos.
|
|
|
|
indent-tabs-mode nil ; Cambiar tabs por espacios.
|
2022-04-07 05:29:52 +02:00
|
|
|
inhibit-startup-message t ; Eliminar el mensaje de inicio.
|
2022-03-30 01:21:13 +02:00
|
|
|
)
|
|
|
|
(setq
|
2023-04-18 21:49:07 +02:00
|
|
|
custom-file (concat private-dir "/.custom.el") ; Cabiar la ruta del código que se genera al isntalar un theme o package
|
2022-03-30 01:21:13 +02:00
|
|
|
ac-ignore-case nil ; Desactivar el autocapitalizado.
|
|
|
|
ac-disable-faces nil ; Auto-complete hablitado incluso entre comillas (fuente: https://bit.ly/3a9wCB4).
|
|
|
|
tags-revert-without-query 1 ; Recargar tags (ctags) sin pedir confirmación.
|
|
|
|
)
|
2022-08-01 14:45:56 +02:00
|
|
|
;; Leve transparencia en emacs por defecto.
|
2023-04-27 02:49:35 +02:00
|
|
|
(set-frame-parameter nil 'alpha-background 99)
|
2022-03-30 01:21:13 +02:00
|
|
|
|
|
|
|
;; Backups enabled, use nil to disable
|
|
|
|
(setq
|
|
|
|
history-length 1000
|
|
|
|
backup-inhibited nil
|
|
|
|
make-backup-files nil
|
|
|
|
auto-save-default nil
|
|
|
|
auto-save-list-file-name (concat temp-dir "/autosave")
|
|
|
|
create-lockfiles nil
|
|
|
|
backup-directory-alist `((".*" . ,(concat temp-dir "/backup/")))
|
|
|
|
auto-save-file-name-transforms `((".*" ,(concat temp-dir "/auto-save-list/") t)))
|
|
|
|
|
|
|
|
;; Configuración cuando es un server
|
|
|
|
(defun setup-daemon ()
|
2022-04-21 19:45:31 +02:00
|
|
|
"Carga la configuración del modo daemon."
|
2022-03-30 01:21:13 +02:00
|
|
|
(message "Corriendo en modo daemon.")
|
2022-04-13 06:41:13 +02:00
|
|
|
(set-face-attribute 'default nil :font "Fira Code Retina" :height 112)
|
2022-03-30 01:21:13 +02:00
|
|
|
|
|
|
|
;; Abrir primero el dashboard
|
2023-05-18 16:11:24 +02:00
|
|
|
(setq initial-buffer-choice (lambda ()
|
|
|
|
(get-buffer "*dashboard*")
|
|
|
|
(dashboard-refresh-buffer)))
|
2022-03-30 01:21:13 +02:00
|
|
|
|
|
|
|
;; Cerrar buffers al cerrar emacsclient
|
|
|
|
(add-hook 'delete-frame-functions
|
|
|
|
(lambda (frame)
|
2022-05-18 09:31:22 +02:00
|
|
|
(mapc 'kill-buffer (delq (get-buffer "*dashboard*") (buffer-list)))
|
|
|
|
))
|
|
|
|
)
|
2022-03-30 01:21:13 +02:00
|
|
|
|
|
|
|
(if (daemonp)
|
|
|
|
(add-hook 'after-make-frame-functions
|
|
|
|
(lambda (frame)
|
|
|
|
(with-selected-frame frame
|
|
|
|
(setup-daemon))))
|
|
|
|
(message "Corriendo en modo normal."))
|
|
|
|
|
2022-05-10 03:16:56 +02:00
|
|
|
;(add-hook 'window-setup-hook 'toggle-frame-maximized t)
|
2022-03-30 01:21:13 +02:00
|
|
|
|
|
|
|
(load custom-file)
|
|
|
|
|
2022-11-19 04:33:22 +01:00
|
|
|
(provide 'init-base)
|
|
|
|
;;; init-base.el ends here
|