[Emacs Lisp] Personal ~/.emacs.d/ configuration folder.
Dashboard and README!
Changed files
.gitignore
@@ -15,6 +15,7 @@
15
15
blendoit/*.el
16
16
17
17
# Misc
18
Added:
*.eld
18
19
ido.last
19
20
recentf
20
21
srecode-map.el
README.org
@@ -1,40 +1,64 @@
1
1
#+TITLE: GNU Emacs Configuration
2
2
#+AUTHOR: Marius Peter
3
Removed:
#+DATE: <2020-07-20 Mon>
3
Added:
#+DATE: <2020-07-23 Thu>
4
Added:
#+SETUPFILE: ~/org/templates/documents/personal.org
4
5
5
6
* Installation
7
Added:
8
Added:
** GNU Emacs
9
Added:
10
Added:
*** Linux
11
Added:
12
Added:
Use your package manager.
13
Added:
14
Added:
/Use Arch Linux. Dunaát make me say it twice./
15
Added:
16
Added:
*** Windows
17
Added:
18
Added:
Head on over to https://www.gnu.org/savannah-checkouts/gnu/emacs/download.html
19
Added:
and download yourself a /fresh/ copy of GNU Emacs.
20
Added:
21
Added:
** My distribution
6
22
7
Removed:
** Linux
23
Added:
*** Linux
8
24
9
25
Backup your current =~/.emacs.d= with the following command:
10
26
11
Removed:
#+BEGIN_SRC: emacs-lisp
27
Added:
#+BEGIN_SRC shell
12
28
mv ~/.emacs.d ~/.emacs.d.bkp
13
29
#+END_SRC
14
30
15
31
Clone my configuration folder to your home directory:
16
32
17
Removed:
#+BEGIN_SRC: emacs-lisp
33
Added:
#+BEGIN_SRC shell
18
34
cd ~
19
35
git clone https://github.com/Blendoit/.emacs.d.git
20
36
#+END_SRC
21
37
38
Added:
*** Windows
39
Added:
40
Added:
Download a =.zip= of the files in this repository. Then, extract the =.zip=, and
41
Added:
rename the extracted folder to =.emacs.d=. Place this folder it in your home
42
Added:
folder (one level up from =Documents=, =Pictures= or =Desktop=).
43
Added:
22
44
* Main Files
23
45
24
46
** =init.el=
25
47
26
Removed:
- This file's only purpose is to load my literate configuration.
48
Added:
This is the first editable file that GNU Emacs loads on startup. This file's
49
Added:
only purpose is to load my literate configuration =blendoit/init-blendoit.org=.
50
Added:
51
Added:
** =init-custom.el=
27
52
53
Added:
All customization options available in Emacs' GUI that can be saved with
54
Added:
=Options - Save Options= are saved here.
55
Added:
56
Added:
This is useful to fool around with GUI customization options, without breaking
57
Added:
our manually written code.
58
Added:
28
59
** =blendoit/init-blendoit.org=
29
60
30
Removed:
- Load my personal literate configuration files.
31
Removed:
32
Removed:
** =blendoit/custom-file.el=
33
Removed:
34
Removed:
- By default, all customization options available in Emacs' GUI that can be
35
Removed:
saved with =Options - Save Options= are saved here.
36
Removed:
- This is useful to fool around with GUI customization options, without
37
Removed:
breaking our manually written code.
61
Added:
This is my personal literate configuration files.
38
62
39
63
* Usage
40
64
README.pdf
Binary files differ
blendoit/img/logo-blendux.png
Binary files differ
blendoit/img/logo-blendux.png.bkp
Binary files differ
blendoit/img/logo-blendux_small.png
Binary files differ
blendoit/init-blendoit.org
@@ -1,23 +1,30 @@
1
1
#+TITLE: Blendoit's literate GNU Emacs config
2
2
#+AUTHOR: Marius Peter
3
Removed:
#+DATE: <2020-07-21 Tue>
3
Added:
#+DATE: <2020-07-23 Thu>
4
Added:
4
5
#+STARTUP: customtime showall
5
6
#+SETUPFILE: ~/org/templates/documents/personal.org
7
Added:
6
8
#+INCLUDE: ~/org/templates/documents/personal-title.org
7
9
8
10
#+BEGIN_abstract
9
11
GNU Emacs is most often used as a text editor. The utmost level of
10
Removed:
customisation is afforded by enabling the user to rewrite /any/ part of
11
Removed:
the source code and observe the editor's modified behaviour in real
12
Removed:
time. Since its inception in 1984, GNU Emacs has grown to be much more
13
Removed:
than a full-featured, high-productivity text editor---new /modes/ have
14
Removed:
been written to interact with hundreds of file formats, including
15
Removed:
=.txt=, =.pdf=, =.jpg=, =.csv=, and =.zip= just to name a few. This
16
Removed:
configuration file itself was written in /Org mode/, a collection of
17
Removed:
functions enabling the harmonious mixing of code and comments in view
18
Removed:
of publication: this is the endgame of /literate programming/.
12
Added:
customisation is afforded by enabling the user to rewrite /any/ part of the
13
Added:
source code and observe the editor's modified behaviour in real time. Since its
14
Added:
inception in 1984, GNU Emacs has grown to be much more than a full-featured,
15
Added:
high-productivity text editor---new /modes/ have been written to interact with
16
Added:
hundreds of file formats, including =.txt=, =.pdf=, =.jpg=, =.csv=, and =.zip= just to
17
Added:
name a few. This configuration file itself was written in /Org mode/, a
18
Added:
collection of functions enabling the harmonious mixing of code and comments in
19
Added:
view of publication: this is the endgame of /literate programming/.
19
20
#+END_abstract
20
21
22
Added:
# ** Test
23
Added:
24
Added:
# #+BEGIN_SRC emacs-lisp
25
Added:
# (org-babel-load-file "~/.emacs.d/blendoit/test.org")
26
Added:
# #+END_SRC
27
Added:
21
28
* Preliminary setup
22
29
23
30
** Garbage collection
@@ -39,6 +46,16 @@
39
46
(server-start)
40
47
#+END_SRC
41
48
49
Added:
** Profiling --- start
50
Added:
51
Added:
We start the profiler now , and will interrupt it in section [[Profiling ---
52
Added:
stop]]. We will then present profiling report in [[Profiling --- report]].
53
Added:
54
Added:
#+NAME: server-start
55
Added:
#+BEGIN_SRC emacs-lisp
56
Added:
; (profiler-start)
57
Added:
#+END_SRC
58
Added:
42
59
** Custom file
43
60
44
61
Load settings created automatically by GNU Emacs Custom. (For example, any
@@ -105,6 +122,7 @@
105
122
** Navigation
106
123
107
124
#+BEGIN_SRC emacs-lisp
125
Added:
(global-set-key (kbd "C-`") 'delete-other-windows)
108
126
(global-set-key (kbd "C-s") 'save-buffer)
109
127
(global-set-key (kbd "C-b") 'ibuffer-sidebar-toggle-sidebar)
110
128
(global-set-key (kbd "C-o") 'menu-find-file-existing)
@@ -129,25 +147,28 @@
129
147
130
148
* Packages
131
149
150
Added:
** Package archives
151
Added:
132
152
List of package archives.
133
153
134
154
#+NAME: packages
135
155
#+BEGIN_SRC emacs-lisp
136
156
(require 'package)
137
Removed:
(add-to-list 'package-archives '("melpa" . "https://melpa.milkbox.net/packages/") t)
157
Added:
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
138
158
(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
139
159
(package-initialize)
140
160
#+END_SRC
141
161
142
Removed:
#+RESULTS: packages
162
Added:
** use-package
143
163
144
Removed:
Ensure =use-package= is installed.
164
Added:
Ensure =use-package= is installed, as well as all packages described in this
165
Added:
configuration file.
145
166
146
167
#+BEGIN_SRC emacs-lisp
147
168
(unless (package-installed-p 'use-package)
148
Removed:
(package-refresh-contents)
149
Removed:
(package-install 'use-package)
150
Removed:
(eval-when-compile (require 'use-package)))
169
Added:
(package-refresh-contents)
170
Added:
(package-install 'use-package)
171
Added:
(eval-when-compile (require 'use-package)))
151
172
(setq use-package-always-ensure t)
152
173
#+END_SRC
153
174
@@ -325,13 +346,13 @@
325
346
(global-set-key (kbd "C-c e") 'blendoit-org-quick-export)
326
347
#+END_SRC
327
348
328
Removed:
** =gnuplot=
349
Added:
** gnuplot
329
350
330
351
#+BEGIN_SRC emacs-lisp
331
352
(use-package gnuplot)
332
353
#+END_SRC
333
354
334
Removed:
** =company=
355
Added:
** company
335
356
336
357
# #+BEGIN_SRC emacs-lisp
337
358
# (use-package company)
@@ -350,7 +371,9 @@
350
371
SCHEDULED: <2020-07-21 Tue>
351
372
352
373
#+BEGIN_SRC emacs-lisp
353
Removed:
; (use-package ibuffer-sidebar
374
Added:
(use-package ibuffer-sidebar)
375
Added:
(ibuffer-sidebar-show-sidebar)
376
Added:
354
377
; :bind ("mouse-1" . ibuffer-mouse-visit-buffer)
355
378
; :bind ("mouse-3" . ibuffer-mouse-toggle-mark))
356
379
@@ -380,14 +403,12 @@
380
403
Auto completion.
381
404
382
405
#+BEGIN_SRC emacs-lisp
383
Removed:
(use-package ivy
384
Removed:
:config
406
Added:
(use-package ivy
407
Added:
:config
408
Added:
(setq ivy-use-virtual-buffers t
409
Added:
ivy-count-format "%d/%d "
410
Added:
enable-recursive-minibuffers t))
385
411
(ivy-mode t)
386
Removed:
(setq ivy-use-virtual-buffers t
387
Removed:
ivy-count-format "%d/%d "
388
Removed:
enable-recursive-minibuffers t))
389
Removed:
390
Removed:
(use-package ivy-hydra)
391
412
#+END_SRC
392
413
393
414
*** Counsel
@@ -395,11 +416,11 @@
395
416
Wonderful counsellor!
396
417
397
418
#+BEGIN_SRC emacs-lisp
398
Removed:
(use-package counsel
399
Removed:
:bind ("M-x" . counsel-M-x)
400
Removed:
:config (counsel-mode))
419
Added:
(use-package counsel
420
Added:
:bind ("M-x" . counsel-M-x)
421
Added:
:config (counsel-mode t))
401
422
402
Removed:
(global-set-key (kbd "C-f") 'counsel-grep-or-swiper)
423
Added:
(global-set-key (kbd "C-f") 'counsel-grep-or-swiper)
403
424
#+END_SRC
404
425
405
426
*** Swiper
@@ -409,14 +430,6 @@
409
430
:bind (("C-f" . counsel-grep-or-swiper)))
410
431
#+END_SRC
411
432
412
Removed:
** Ido
413
Removed:
414
Removed:
# #+BEGIN_SRC emacs-lisp
415
Removed:
# (setq ido-enable-flex-matching t)
416
Removed:
# (setq ido-everywhere t)
417
Removed:
# (ido-mode 1)
418
Removed:
# #+END_SRC
419
Removed:
420
433
** Company
421
434
422
435
#+NAME: company
@@ -447,17 +460,46 @@
447
460
:config (pdf-loader-install))
448
461
#+END_SRC
449
462
463
Added:
** Dashboard
464
Added:
465
Added:
We replace the standard welcome screen with our own.
466
Added:
467
Added:
#+BEGIN_SRC emacs-lisp
468
Added:
(setq inhibit-startup-message t)
469
Added:
(use-package dashboard
470
Added:
:config
471
Added:
(dashboard-setup-startup-hook)
472
Added:
(setq dashboard-startup-banner "~/.emacs.d/blendoit/img/logo-blendux_small.png")
473
Added:
(setq dashboard-items '((recents . 5)
474
Added:
(projects . 5)))
475
Added:
(setq dashboard-banner-logo-title "The editor for the 2nd millenium."))
476
Added:
#+END_SRC
477
Added:
478
Added:
** Projectile
479
Added:
480
Added:
This enables us to better manage our =.git= projects.
481
Added:
482
Added:
#+BEGIN_SRC emacs-lisp
483
Added:
(use-package projectile
484
Added:
:bind ("C-c p" . 'projectile-command-map)
485
Added:
:init (projectile-mode 1)
486
Added:
(setq projectile-completion-system 'ivy))
487
Added:
#+END_SRC
488
Added:
450
489
* Cosmetics
451
490
452
491
** Faces & cursors
453
492
454
493
In order to imitate other modern text editors, we'll resort to a blinking bar
455
Removed:
cursor.
494
Added:
cursor. The default cursor already blinks.
456
495
457
496
*** Default cursor
458
497
498
Added:
In files containing only fixed-pitch fonts (i.e. files containing only code),
499
Added:
the cursor becomes more visible box.
500
Added:
459
501
#+BEGIN_SRC emacs-lisp
460
Removed:
(setq-default cursor-type (quote bar))
502
Added:
(setq-default cursor-type (quote box))
461
503
#+END_SRC
462
504
463
505
*** Mixed pitch in Org mode
@@ -467,16 +509,37 @@
467
509
468
510
#+BEGIN_SRC emacs-lisp
469
511
(use-package mixed-pitch
470
Removed:
:hook ((org-mode
471
Removed:
info-mode) . mixed-pitch-mode))
512
Added:
:hook ((org-mode . mixed-pitch-mode)
513
Added:
(Info-mode . mixed-pitch-mode)))
472
514
#+END_SRC
473
515
474
Removed:
** All the icons
516
Added:
** Initial frame
475
517
518
Added:
These settings affect the first and subsequent frames spawned by Emacs.
519
Added:
476
520
#+BEGIN_SRC emacs-lisp
477
Removed:
(use-package all-the-icons)
521
Added:
(if (display-graphic-p)
522
Added:
(progn
523
Added:
(setq initial-frame-alist
524
Added:
'(
525
Added:
(tool-bar-lines . 1)
526
Added:
(width . 80) ; chars
527
Added:
(height . 52) ; lines
528
Added:
(alpha . (90 . 50))))
529
Added:
(setq default-frame-alist
530
Added:
'(
531
Added:
(tool-bar-lines . 1)
532
Added:
(width . 80)
533
Added:
(height . 52)
534
Added:
(alpha . (90 . 50))))))
478
535
#+END_SRC
479
536
537
Added:
** Scrollbars
538
Added:
539
Added:
#+BEGIN_SRC emacs-lisp
540
Added:
(set-window-scroll-bars (minibuffer-window) nil nil)
541
Added:
#+END_SRC
542
Added:
480
543
** Theme
481
544
482
545
#+BEGIN_SRC emacs-lisp
@@ -484,21 +547,15 @@
484
547
;; :config
485
548
;; (load-theme 'zenburn))
486
549
487
Removed:
(load-theme 'wombat)
550
Added:
; (load-theme 'wombat)
488
551
#+END_SRC
489
552
490
Removed:
** Transparency
553
Added:
** All the icons
491
554
492
555
#+BEGIN_SRC emacs-lisp
493
Removed:
(add-to-list 'default-frame-alist '(alpha . (90 . 50)))
556
Added:
(use-package all-the-icons)
494
557
#+END_SRC
495
558
496
Removed:
** Scrollbars
497
Removed:
498
Removed:
#+BEGIN_SRC emacs-lisp
499
Removed:
(set-window-scroll-bars (minibuffer-window) nil nil)
500
Removed:
#+END_SRC
501
Removed:
502
559
* Editing preferences
503
560
504
561
These customizations enhance editor usability.
@@ -515,21 +572,35 @@
515
572
c-basic-offset 4)
516
573
#+END_SRC
517
574
518
Removed:
** Initial & subsequent frame size
575
Added:
** Recent files
519
576
520
Removed:
# #+BEGIN_SRC emacs-lisp
521
Removed:
# (add-to-list 'initial-frame-alist '((width . 79) (height . 60)))
522
Removed:
# (add-to-list 'default-frame-alist '((width . 60) (height . 20)))
523
Removed:
# #+END_SRC
577
Added:
#+BEGIN_SRC emacs-lisp
578
Added:
(recentf-mode 1)
579
Added:
(setq recentf-max-menu-items 25)
580
Added:
(setq recentf-max-saved-items 25)
581
Added:
(run-at-time nil (* 1 60) 'recentf-save-list)
582
Added:
#+END_SRC
524
583
525
584
** Better parentheses
526
585
527
586
#+BEGIN_SRC emacs-lisp
528
587
(use-package smartparens
529
588
:config
530
Removed:
(add-hook 'prog-mode-hook 'smartparens-mode))
589
Added:
(add-hook 'prog-mode-hook #'smartparens-mode))
531
590
532
591
(use-package rainbow-delimiters
533
592
:config
534
Removed:
(add-hook 'prog-mode-hook 'rainbow-delimiters-mode))
593
Added:
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode))
594
Added:
#+END_SRC
595
Added:
596
Added:
* Profiling --- stop
597
Added:
598
Added:
#+BEGIN_SRC emacs-lisp
599
Added:
;; (profiler-stop)
600
Added:
#+END_SRC
601
Added:
602
Added:
* Profiling --- report
603
Added:
604
Added:
#+BEGIN_SRC emacs-lisp
605
Added:
;; (profiler-report)
535
606
#+END_SRC
blendoit/init-blendoit.pdf
Binary files differ
blendoit/test.org
@@ -0,0 +1,7 @@
1
Added:
** hl-line
2
Added:
3
Added:
Highlight line at point.
4
Added:
5
Added:
#+BEGIN_SRC emacs-lisp
6
Added:
(when window-system (add-hook 'prog-mode-hook 'hl-line-mode))
7
Added:
#+END_SRC
init-custom.el
@@ -1,3 +1,9 @@
1
Added:
;;; init-custom.el --- Where Emacs saves gui-settable customizations.
2
Added:
3
Added:
;;; Commentary:
4
Added:
5
Added:
;;; Code:
6
Added:
1
7
(custom-set-variables
2
8
;; custom-set-variables was added by Custom.
3
9
;; If you edit it by hand, you could mess it up, so be careful.
@@ -15,7 +21,7 @@
15
21
'(fci-rule-color "#383838")
16
22
'(ibuffer-sidebar-display-column-titles t)
17
23
'(ibuffer-sidebar-display-summary t)
18
Removed:
'(ibuffer-sidebar-width 22)
24
Added:
'(ibuffer-sidebar-width 18)
19
25
'(ledger-reports
20
26
(quote
21
27
(("bal" "%(binary) -f %(ledger-file) bal")
@@ -27,11 +33,12 @@
27
33
("account" "%(binary) -f %(ledger-file) reg %(account)")
28
34
("budget" "%(binary) -f %(ledger-file) budget --exchange USD"))))
29
35
'(line-number-mode nil)
36
Added:
'(mixed-pitch-variable-pitch-cursor (quote bar))
30
37
'(mode-line-format
31
38
(quote
32
39
("%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 " "
33
40
(vc-mode vc-mode)
34
Removed:
" " mode-line-modes mode-line-misc-info mode-line-end-spaces)))
41
Added:
" " mode-line-misc-info mode-line-end-spaces)))
35
42
'(nrepl-message-colors
36
43
(quote
37
44
("#CC9393" "#DFAF8F" "#F0DFAF" "#7F9F7F" "#BFEBBF" "#93E0E3" "#94BFF3" "#DC8CC3")))
@@ -94,11 +101,12 @@
94
101
'(org-latex-pdf-process
95
102
(quote
96
103
("latexmk -pdf -f -interaction=nonstopmode -pdflatex=\"%latex\" -outdir=%o %f")))
104
Added:
'(org-latex-toc-command "\\tableofcontents\\clearpage")
97
105
'(org-startup-align-all-tables t)
98
106
'(org-time-stamp-custom-formats (quote ("%d %b, %Y (%a)" . "%d %b, %Y (%a), at %H:%M")))
99
107
'(package-selected-packages
100
108
(quote
101
Removed:
(minimap 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)))
109
Added:
(projectile minimap 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)))
102
110
'(pdf-view-midnight-colors (quote ("#DCDCCC" . "#383838")))
103
111
'(save-place-mode t)
104
112
'(send-mail-function (quote smtpmail-send-it))
@@ -132,7 +140,8 @@
132
140
;; Your init file should contain only one such instance.
133
141
;; If there is more than one, they won't work right.
134
142
'(default ((t (:family "Hack" :foundry "SRC" :slant normal :weight normal :height 142 :width normal))))
135
Removed:
'(fixed-pitch ((t (:family "Hack"))))
143
Added:
'(cursor ((t (:background "red"))))
144
Added:
'(fixed-pitch ((t (:family "Dejavu Serif"))))
136
145
'(org-document-title ((t (:inherit default :weight bold :font "Liberation Sans" :height 2.0 :underline nil))))
137
146
'(org-level-1 ((t (:inherit default :weight bold :font "Liberation Sans" :height 1.75))))
138
147
'(org-level-2 ((t (:inherit default :weight bold :font "Liberation Sans" :height 1.5))))
init.el
@@ -1,6 +1,9 @@
1
Removed:
;;; init.el
1
Added:
;;; init.el --- First file ran by GNU Emacs.
2
2
3
3
;; Load literate configuration file I created for GNU Emacs.
4
4
;; The ultimate goal is to transition most of the custom settings
5
5
;; to explicitly defined customisations.
6
Added:
7
Added:
;;; Code:
8
Added:
6
9
(org-babel-load-file "~/.emacs.d/blendoit/init-blendoit.org")