summaryrefslogtreecommitdiff
path: root/blendoit
diff options
context:
space:
mode:
authorBlendoit <blendoit@gmail.com>2020-07-21 15:07:39 -0700
committerBlendoit <blendoit@gmail.com>2020-07-21 15:07:39 -0700
commitb21a3d195edbf57c99330b04d5635a989ed29609 (patch)
tree1d279d1bc986bc5fb8a88e9aeb4d4ab7196dc793 /blendoit
parent018b065a2744c5be6178e389832f0696bc3778b9 (diff)
Ledger mode + documentation.
Diffstat (limited to 'blendoit')
-rw-r--r--blendoit/custom/custom-file.el38
-rw-r--r--blendoit/init-blendoit.org167
-rw-r--r--blendoit/init-blendoit.pdfbin103105 -> 178409 bytes
3 files changed, 159 insertions, 46 deletions
diff --git a/blendoit/custom/custom-file.el b/blendoit/custom/custom-file.el
index 455c2e8..f61f205 100644
--- a/blendoit/custom/custom-file.el
+++ b/blendoit/custom/custom-file.el
@@ -13,23 +13,57 @@
(quote
("f56eb33cd9f1e49c5df0080a3e8a292e83890a61a89bceeaa481a5f183e8e3ef" default)))
'(fci-rule-color "#383838")
+ '(ledger-reports
+ (quote
+ (("bal" "%(binary) -f %(ledger-file) bal")
+ ("bal-USD" "%(binary) -f %(ledger-file) bal --exchange USD")
+ ("reg" "%(binary) -f %(ledger-file) reg")
+ ("net-worth" "%(binary) -f %(ledger-file) bal ^Assets ^Liabilities --exchange USD")
+ ("net-income" "%(binary) -f %(ledger-file) bal ^Income ^Expenses --exchange USD --depth 2 --invert")
+ ("payee" "%(binary) -f %(ledger-file) reg @%(payee)")
+ ("account" "%(binary) -f %(ledger-file) reg %(account)")
+ ("budget" "%(binary) -f %(ledger-file) budget --exchange USD"))))
'(line-number-mode nil)
+ '(mode-line-format
+ (quote
+ ("%e" mode-line-front-space mode-line-mule-info mode-line-client mode-line-modified mode-line-remote mode-line-frame-identification mode-line-buffer-identification " "
+ (vc-mode vc-mode)
+ " " mode-line-modes mode-line-misc-info mode-line-end-spaces)))
'(nrepl-message-colors
(quote
("#CC9393" "#DFAF8F" "#F0DFAF" "#7F9F7F" "#BFEBBF" "#93E0E3" "#94BFF3" "#DC8CC3")))
'(org-agenda-diary-file "~/org/PERSONAL/diary/diary.org")
- '(org-agenda-files (quote ("~/org/PERSONAL/diary/diary.org")))
+ '(org-agenda-files
+ (quote
+ ("~/org/PERSONAL/workout/workout.org" "~/org/WORK/Safran/programs/MA700/notes/MA700-notes.org_archive" "~/org/WORK/Safran/programs/MA700/notes/MA700-notes.org" "~/org/PERSONAL/diary/log.org" "~/org/WORK/Safran/programs/B787/VIP/timeline.org" "~/org/PERSONAL/diary/diary.org" "~/org/WORK/Safran/programs/WFH/WFH-notes.org_archive" "~/org/WORK/Safran/programs/WFH/WFH-notes.org" "~/org/WORK/Safran/programs/PHM/PHM-notes.org_archive" "~/org/WORK/Safran/programs/MRJ/test-fixture-status.org" "~/org/WORK/Safran/programs/MRJ/MRJ-notes.org" "~/org/WORK/Safran/programs/A220/A220-notes.org" "~/org/PERSONAL/projects/projects.org" "~/org/PERSONAL/schedule-personal.org" "~/org/WORK/Safran/schedule-Safran.org" "~/org/people.org")))
+ '(org-agenda-include-diary t)
+ '(org-agenda-insert-diary-strategy (quote date-tree-last))
+ '(org-agenda-skip-scheduled-if-deadline-is-shown (quote not-today))
+ '(org-babel-load-languages
+ (quote
+ ((shell . t)
+ (python . t)
+ (plantuml . t)
+ (emacs-lisp . t)
+ (awk . t)
+ (ledger . t)
+ (gnuplot . t))))
'(org-file-apps
(quote
((auto-mode . emacs)
("\\.mm\\'" . default)
("\\.x?html?\\'" . default)
("\\.pdf\\'" . "mupdf %s"))))
+ '(org-startup-align-all-tables t)
'(org-time-stamp-custom-formats (quote ("%d %b, %Y (%a)" . "%d %b, %Y (%a), at %H:%M")))
'(package-selected-packages
(quote
- (which-key srefactor-lisp srefactor all-the-icons flycheck ibuffer-sidebar pdf-tools magit rainbow-delimiters smartparens mixed-pitch org-bullets use-package tabbar powerline ivy-hydra flatui-theme evil counsel company benchmark-init)))
+ (gnuplot ledger-mode company-mode wombat-theme wombar-theme which-key srefactor-lisp srefactor all-the-icons flycheck ibuffer-sidebar pdf-tools magit rainbow-delimiters smartparens mixed-pitch org-bullets use-package tabbar powerline ivy-hydra flatui-theme evil counsel company benchmark-init)))
'(pdf-view-midnight-colors (quote ("#DCDCCC" . "#383838")))
+ '(save-place-mode t)
+ '(send-mail-function (quote smtpmail-send-it))
+ '(smtpmail-smtp-server "smtp.gmail.com")
+ '(smtpmail-smtp-service 587)
'(vc-annotate-background "#2B2B2B")
'(vc-annotate-color-map
(quote
diff --git a/blendoit/init-blendoit.org b/blendoit/init-blendoit.org
index a1640a1..7dede3f 100644
--- a/blendoit/init-blendoit.org
+++ b/blendoit/init-blendoit.org
@@ -1,14 +1,20 @@
-#+TITLE: Blendoit's Emacs configuration
+#+TITLE: Blendoit's literate GNU Emacs config
#+AUTHOR: Marius Peter
-#+DATE: <2020-07-19 Sun>
+#+DATE: <2020-07-21 Tue>
#+STARTUP: customtime showall
#+SETUPFILE: ~/org/templates/documents/personal.org
#+INCLUDE: ~/org/templates/documents/personal-title.org
#+BEGIN_abstract
-Emacs enables an unparalleled level of customisation by allowing the
-introspection of every variable and function that can be understood by
-the software. The possibilities are endless.
+GNU Emacs is most often used as a text editor. The utmost level of
+customisation is afforded by enabling the user to rewrite /any/ part of the
+source code and observe the editor's modified behaviour in real time. Since its
+inception in 1984, GNU Emacs has grown to be much more than a full-featured,
+high-productivity text editor---new /modes/ have been written to interact with
+hundreds of file formats, including =.txt=, =.pdf=, =.jpg=, =.csv=, and =.zip= just to
+name a few. This configuration file itself was written in /Org mode/, a
+collection of functions enabling the harmonious mixing of code and comments in
+view of publicaton: this is the endgame of /literate programming/.
#+END_abstract
* Preliminary setup
@@ -34,7 +40,7 @@ customize-group <package>.
(load custom-file)
#+END_SRC
-** Shortcut
+** Customization shortcuts
We begin by defining a user shortcut to this very file:
@@ -47,6 +53,14 @@ We begin by defining a user shortcut to this very file:
(global-set-key (kbd "C-c c") 'find-init-blendoit)
#+END_SRC
+Now, different shortcuts for other customization actions:
+
+#+NAME: shortcuts-customization
+#+BEGIN_SRC emacs-lisp
+ (global-set-key (kbd "C-c v") 'customize-variable)
+#+END_SRC
+
+
** Backups
Backups are so important that they should be described right after the shortcut
@@ -67,19 +81,57 @@ auto-save-file-name-transforms `((".*" ,temporary-file-directory t))
#+INCLUDE: ./secrets.org
+#+BEGIN_SRC emacs-lisp
+ (setq user-full-name "Marius Peter"
+ user-mail-address "blendoit@gmail.com")
+#+END_SRC
+
* Bindings
+** Navigation
+
#+BEGIN_SRC emacs-lisp
-(global-set-key (kbd "C-c e") 'eval-buffer)
(global-set-key (kbd "C-s") 'save-buffer)
(global-set-key (kbd "C-b") 'ibuffer-sidebar-toggle-sidebar)
(global-set-key (kbd "C-w") 'kill-buffer-and-window)
+(global-set-key (kbd "C-q") 'save-buffers-kill-terminal)
+(global-set-key (kbd "C-o") 'menu-find-file-existing)
+(global-set-key (kbd "C-r") 'counsel-recentf)
+#+END_SRC
+
+** =Org=
+
+Quick access to important Org mode functionalities.
+
+*** Agenda
+
+The agenda displays a chronological list of headings across all agenda files
+for which the heading or body contain a matching
+org-time-stamp=[fn::An=org-time-stamp= can be inserted with =C-c .= (period)].
+
+#+BEGIN_SRC emacs-lisp
(global-set-key (kbd "C-c a") 'org-agenda)
#+END_SRC
-** Zoom
+*** Export
- Zoom in/out of selected buffer.
+This creates a shorter binding for the most common Org export: Org to LaTeX.
+
+#+BEGIN_SRC emacs-lisp
+(defun blendoit-org-quick-export ()
+ "Org export to PDF and open.
+ This basically reimplements `C-c C-e l o'."
+ (interactive)
+ (org-latex-export-to-pdf)
+ (org-open-file
+ (concat (substring buffer-file-truename 0 -3) "pdf")))
+
+(global-set-key (kbd "C-c e") 'blendoit-org-quick-export)
+#+END_SRC
+
+** Mouse zoom
+
+ Zoom in/out of selected buffer using Alt + mouse wheel.
#+BEGIN_SRC emacs-lisp
(global-set-key [M-mouse-4] 'text-scale-increase)
@@ -219,12 +271,32 @@ Phew, I can finally introduce Org mode! I am so *excited*.
t ("xelatex" "lualatex")))
#+END_SRC
+** =gnuplot=
+
+#+BEGIN_SRC emacs-lisp
+(use-package gnuplot)
+#+END_SRC
+
+** =company=
+
+# #+BEGIN_SRC emacs-lisp
+# (use-package company)
+# #+END_SRC
+
+** Ledger
+
+#+BEGIN_SRC emacs-lisp
+(use-package ledger-mode
+ :bind
+ ("C-c r" . ledger-report)
+ ("C-c C" . ledger-mode-clean-buffer)
+)
+#+END_SRC
** ibuffer-sidebar
#+BEGIN_SRC emacs-lisp
-(use-package ibuffer-sidebar
- :commands (ibuffer-sidebar-toggle-sidebar))
+(use-package ibuffer-sidebar)
#+END_SRC
** Which-key
@@ -232,11 +304,11 @@ Phew, I can finally introduce Org mode! I am so *excited*.
#+BEGIN_SRC emacs-lisp
(use-package which-key
:init
-(which-key-mode)
-:config
-;; (setq which-key-idle-delay 1000)
-;; (setq which-key-idle-secondary-delay 0.05)
-;; (setq which-key-show-early-on-C-h t)
+ (which-key-mode)
+;; :config
+;; (setq which-key-idle-delay 1000)
+;; (setq which-key-idle-secondary-delay 0.05)
+;; (setq which-key-show-early-on-C-h t)
)
#+END_SRC
@@ -245,36 +317,33 @@ Phew, I can finally introduce Org mode! I am so *excited*.
Auto completion.
#+BEGIN_SRC emacs-lisp
- (use-package ivy
- :config
+(use-package ivy
+ :config
(ivy-mode t)
(setq ivy-use-virtual-buffers t
- ivy-count-format "%d/%d "
- enable-recursive-minibuffers t))
+ ivy-count-format "%d/%d "
+ enable-recursive-minibuffers t))
(use-package ivy-hydra)
- (setq ivy-initial-inputs-alist nil)
- (use-package ivy-hydra)
#+END_SRC
*** Counsel
Wonderful counsellor!
- #+BEGIN_SRC emacs-lisp
- (use-package counsel
- :bind ("M-x" . counsel-M-x)
- :config (counsel-mode))
+#+BEGIN_SRC emacs-lisp
+(use-package counsel
+ :bind ("M-x" . counsel-M-x)
+ :config (counsel-mode))
(global-set-key (kbd "C-f") 'counsel-grep-or-swiper)
-(global-set-key (kbd "C-F") 'counsel-find-file)
- #+END_SRC
+#+END_SRC
*** Swiper
#+BEGIN_SRC emacs-lisp
- (use-package swiper
- :bind (("C-f" . counsel-grep-or-swiper)))
+(use-package swiper
+ :bind (("C-f" . counsel-grep-or-swiper)))
#+END_SRC
** Ido
@@ -290,31 +359,29 @@ Auto completion.
#+NAME: company
#+BEGIN_SRC emacs-lisp
(use-package company
- :config
- (add-hook 'after-init-hook 'global-company-mode))
+ :config (add-hook 'after-init-hook 'global-company-mode))
#+END_SRC
** Flycheck
- #+NAME: flycheck
- #+BEGIN_SRC emacs-lisp
-(use-package flycheck
- :init (global-flycheck-mode))
- #+END_SRC
+#+NAME: flycheck
+#+BEGIN_SRC emacs-lisp
+; (use-package flycheck
+; :init (global-flycheck-mode))
+#+END_SRC
** Magit
#+BEGIN_SRC emacs-lisp
(use-package magit
- :bind ("C-c g" . magit-status))
+ :bind ("C-c g" . magit-status))
#+END_SRC
** PDF-tools
#+BEGIN_SRC emacs-lisp
(use-package pdf-tools
- :config
- (pdf-loader-install))
+ :config (pdf-loader-install))
#+END_SRC
* Cosmetics
@@ -336,10 +403,10 @@ Fixed-pitch and variable-pitch fonts will be used intelligently in all text
modes.
#+BEGIN_SRC emacs-lisp
- (use-package mixed-pitch
- :hook
- ;; If you want it in all text modes:
- (text-mode . mixed-pitch-mode))
+(use-package mixed-pitch
+ :hook
+ ;; If you want it in all text modes:
+ (org-mode . mixed-pitch-mode))
#+END_SRC
** All the icons
@@ -355,6 +422,7 @@ modes.
;; :config
;; (load-theme 'zenburn)
;; )
+ (load-theme 'wombat)
#+END_SRC
** Transparency
@@ -371,11 +439,22 @@ modes.
* Editing preferences
+These customizations enhance editor usability.
+
#+BEGIN_SRC emacs-lisp
(setq-default fill-column 79)
(defalias 'yes-or-no-p 'y-or-n-p)
#+END_SRC
+** Initial & subsequent frame size
+
+# #+BEGIN_SRC emacs-lisp
+# (add-to-list 'initial-frame-alist '((width . 79) (height . 60)))
+# (add-to-list 'default-frame-alist '((width . 60) (height . 20)))
+# #+END_SRC
+
+** Better parentheses
+
#+BEGIN_SRC emacs-lisp
(use-package smartparens
:config
diff --git a/blendoit/init-blendoit.pdf b/blendoit/init-blendoit.pdf
index dbaed0e..c8927d4 100644
--- a/blendoit/init-blendoit.pdf
+++ b/blendoit/init-blendoit.pdf
Binary files differ
Copyright 2019--2024 Marius PETER