new fancy config

This commit is contained in:
Grigory Shipunov 2023-05-01 11:02:23 +02:00
parent b9188d14cc
commit b45712de26
Signed by: 0xa
GPG key ID: 91FA5E5BF9AA901C
7 changed files with 254 additions and 457 deletions

12
lisp/oxa/latex.el Normal file
View file

@ -0,0 +1,12 @@
(oxa/insure 'auctex)
(require 'tex-site)
(require 'reftex)
(add-hook 'LaTeX-mode-hook 'TeX-PDF-mode)
(add-hook 'LaTeX-mode-hook 'reftex-mode)
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
(setq TeX-parse-self t)
(setq reftex-plug-into-AUCTeX t)
(provide 'oxa/latex)

16
lisp/oxa/misc.el Normal file
View file

@ -0,0 +1,16 @@
;; Stolen from https://github.com/rexim/dotfiles
(defun rc/duplicate-line ()
"Duplicate current line"
(interactive)
(let ((column (- (point) (point-at-bol)))
(line (let ((s (thing-at-point 'line t)))
(if s (string-remove-suffix "\n" s) ""))))
(move-end-of-line 1)
(newline)
(insert line)
(move-beginning-of-line 1)
(forward-char column)))
(global-set-key (kbd "C-,") 'rc/duplicate-line)
(provide 'oxa/misc)

67
lisp/oxa/org.el Normal file
View file

@ -0,0 +1,67 @@
;;; Monday is the fist day of the week
(require 'calendar)
(setq calendar-week-start-day 1)
(require 'org)
(oxa/insure 'org-roam)
(require 'org-roam)
;; expose org functions
(global-set-key (kbd "C-c a") 'org-agenda)
(global-set-key (kbd "C-c c") 'org-capture)
(global-set-key (kbd "C-c l") 'org-store-link)
(define-key org-mode-map (kbd "C-c 1") 'org-time-stamp-inactive)
;; autosave advises for agenda and org-capture
(advice-add 'org-agenda-quit :before 'org-save-all-org-buffers)
(advice-add 'org-capture-finalize :after 'org-save-all-org-buffers)
(advice-add 'org-capture-refile :after 'org-save-all-org-buffers)
;; latex preview settings
(setq org-preview-latex-image-directory "~/.emacs.d/org-latex-preview/") ; Hide all previews in one place
;; habits support
(require 'org-habit)
(add-to-list 'org-modules 'org-habit)
;; babel
(org-babel-do-load-languages
'org-babel-load-languages
'((R . t)))
;; org-id - link by UUID
(require 'org-id)
(setq org-id-method 'uuid
org-id-link-to-org-use-id t)
;; abbrev expansion in org-mode
(require 'org-tempo)
;; we need indentation
(setq org-startup-indented nil
org-indent-mode-turns-on-hiding-stars nil
org-hide-leading-stars nil
org-startup-folded 'content)
;; default agenda files
(setq org-agenda-files '("~/org/"))
;; default agenda view
(setq org-agenda-start-day "-3d"
org-agenda-span 13)
;; templates
(setq org-capture-templates
'(("n" "note" entry
(file+headline "~/org/inbox.org" "Notes")
"** %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n\n")
("t" "TODO" entry
(file+headline "~/org/inbox.org" "Tasks")
"** TODO %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n\n")
("j" "Journal" entry
(file+olp+datetree "~/org/log.org.gpg")
"**** %U %?\n")
("b" "Bookmark" entry
(file+headline "~/org/bookmarks.org" "bookmarks-inbox")
"** TODO %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n[[%x]]\n")))
;; TODO: roam config
(provide 'oxa/org)

56
lisp/oxa/sane-defaults.el Normal file
View file

@ -0,0 +1,56 @@
;;; basic interface stuff
(menu-bar-mode 1)
(global-display-line-numbers-mode -1)
(column-number-mode 1)
(setq inhibit-startup-screen t)
(setq-default indicate-buffer-boundaries 'left)
(setq auto-save-default nil)
(setq visible-bell t)
;; (setq-default fill-column 80)
;; TODO Proper graphical setup
(add-hook 'after-make-frame-functions
(lambda (frame)
(toggle-scroll-bar -1)
(tool-bar-mode -1)))
;;; improvements to compilation buffer
(require 'compile)
(setq compilation-scroll-output t)
(require 'ansi-color)
(add-hook 'compilation-filter-hook 'ansi-color-compilation-filter)
;;; override default annoyances
;; I'm the only cowboy on this mainframe
;; (setq create-lockfiles nil)
;; X is dead
(setq inhibit-x-resources t)
;; use ibuffer instead of standard buffer list
(global-set-key (kbd "C-x C-b") 'ibuffer)
(fset 'yes-or-no-p 'y-or-n-p)
(setq confirm-nonexistent-file-or-buffer nil)
;; let's delete a tab as a whole...
(setq backward-delete-char-untabify-method 'nil)
;;; identation holywar contribution
(setq-default indent-tabs-mode 'nil)
;; highlight the parens
(setq show-paren-delay 0)
(show-paren-mode 1)
;; follow symlinks to version-controlled files
(setq vc-follow-symlinks t)
;; backup management
(setq backup-directory-alist `(("." . "~/.emacs.d/backups")))
(setq delete-old-versions t
kept-new-versions 6
kept-old-versions 2
version-control t)
;; default frame size
(add-to-list 'default-frame-alist '(height . 50))
(add-to-list 'default-frame-alist '(width . 107))
(provide 'oxa/sane-defaults)

20
lisp/oxa/utils.el Normal file
View file

@ -0,0 +1,20 @@
;;; Package management
(require 'package)
(defvar oxa/package-archive-refreshed nil)
(defun oxa/refresh-archive ()
(when (not oxa/package-archive-refreshed)
(package-refresh-contents)
(setq oxa/package-archive-refreshed t)))
;; ensure package
(defun oxa/insure (package)
(when (not (package-installed-p package))
(oxa/refresh-archive)
(package-install package)))
;; Macro to simplify setting mode-local vars
(defmacro oxa/hook (hook-name &rest body)
`(add-hook ',hook-name '(lambda nil ,@body)))
(provide 'oxa/utils)