minor fixes, added json support

This commit is contained in:
Ian Griffin 2023-09-28 18:45:12 +08:00
parent 2a73871d40
commit 0b04c73071
5 changed files with 34 additions and 111 deletions

View File

@ -1,27 +0,0 @@
#+TITLE: Font Configuration
This config uses Mozilla's Fira Set of fonts and the related Fira Code fonts with added Nerd fonts.
So for this to run, Fira Sans and FiraCode Nerd Font needs to be installed in the system.
* Configuration
** default fonts
#+begin_src emacs-lisp
(custom-set-faces
;; set default font
'(default ((t (:inherit nil :extend nil :stipple nil
:inverse-video nil :box nil
:strike-through nil :overline nil :underline nil
:slant normal :weight normal
:height 100 :width normal
:foundry "CTDB" :family "FiraCode Nerd Font Mono"))))
'(fixed-pitch ((t (:family "FiraCode Nerd Font Mono"))))
'(fixed-pitch-serif ((t (:family "FiraCode Nerd Font Mono"))))
'(variable-pitch ((t (:inherit default :height 1.1 :family "Cantarell")))))
#+end_src
** Chinese Font
#+begin_src emacs-lisp
;; (dolist (charset '(kana han symbol cjk-misc bopomofo))
;; (set-fontset-font (frame-parameter nil 'font)
;; charset (font-spec :family "Noto Sans Mono CJK TC Regular"
;; :size 10)))
#+end_src

View File

@ -1,75 +0,0 @@
#+TITLE: Org Mode
This the Mode with multitude of useful features like this configuration being a literate document,
scheduling, and loads of other stuff
* General Settings
#+begin_src emacs-lisp
(defun org-config-setup ()
(variable-pitch-mode)
(visual-line-mode) ;; wrap line
(org-indent-mode) ;; fake indentations
(setq org-hide-leading-stars nil)
(display-line-numbers-mode -1)
(display-fill-column-indicator-mode -1))
#+end_src
* Font Setup
Set different types of fonts for differents elements of Org-mode files, like variable pitch for regular text, and fixed pitch for code blocks
#+begin_src emacs-lisp
(defun org-config-font-setup ()
"set org mode element fonts"
(custom-set-faces
'(org-block ((t (:inherit fixed-pitch :height 0.91))))
;; '(org-block-begin-line ((t (:inherit fixed-pitch))))
;; '(org-block-end-line ((t (:inherit fixed-pitch))))
'(org-checkbox ((t (:inherit fixed-pitch :height 0.91))))
'(org-code ((t (:inherit (shadow fixed-pitch) :height 0.91))))
'(org-document-info ((t (:foreground "dark orange"))))
'(org-document-info-keyword ((t (:inherit (shadow fixed-pitch) :height 0.91))))
'(org-indent ((t (:inherit (org-hide fixed-pitch) :height 0.91))))
'(org-link ((t (:foreground "royal blue" :underline t))))
'(org-meta-line ((t (:inherit (font-lock-comment-face fixed-pitch) :height 0.91))))
'(org-property-value ((t (:inherit fixed-pitch :height 0.91))) t)
'(org-special-keyword ((t (:inherit (font-lock-comment-face fixed-pitch) :height 0.91))))
'(org-table ((t (:inherit fixed-pitch :foreground "#83a598" :height 0.91))))
'(org-tag ((t (:inherit (shadow fixed-pitch) :height 0.91 :weight bold :height 0.8))))
'(org-verbatim ((t (:inherit (shadow fixed-pitch) :height 0.91))))))
#+end_src
** Header Font Setup
Make header and document title fonts bigger for better visibility.
#+begin_src emacs-lisp
(defun org-config-level-font-setup ()
"set header/level and document title fonts"
(custom-set-faces
'(org-document-title ((t
(:inherit (bold variable-pitch)
:height 2.2))))
'(org-level-1 ((t (:inherit outline-1 :weight bold
:height 1.5))))
'(org-level-2 ((t (:inherit outline-2 :weight bold
:height 1.4))))
'(org-level-3 ((t (:inherit outline-3 :weight bold
:height 1.3))))
'(org-level-4 ((t (:inherit variable-pitch :weight bold
:height 1.2))))
'(org-level-5 ((t (:inherit variable-pitch :weight bold
:height 1.1))))))
#+end_src
* Load Package
#+begin_src emacs-lisp
(use-package org
:custom
(org-hide-emphasis-markers nil)
(org-agenda-files
`(,(expand-file-name "shared/org" (safe-getenv "HOME" user-home-path))))
:config
;; font setup
(org-config-font-setup)
(org-config-level-font-setup)
;;other settings
:hook (org-mode . org-config-setup))
#+end_src

View File

@ -62,11 +62,10 @@ run the function at startup of a frame
sets the tab size 5 spaces
#+begin_src emacs-lisp
(defvar default-custom-tab-size 5 "set the main tab size for all configs")
(setq-default default-tab-width default-custom-tab-size
tab-width default-custom-tab-size
c-basic-offset default-custom-tab-size)
(let ((custom-tab-size 5))
(setq-default default-tab-width custom-tab-size
tab-width custom-tab-size
c-basic-offset custom-tab-size))
#+end_src
* Line numbers

View File

@ -65,12 +65,32 @@
(setq markdown-command "multimarkdown"))
#+end_src
** Python Pyenv
** JSON
#+begin_src emacs-lisp
(use-package json-mode
:mode (("\\.json\\'" . json-mode)
("\\.jsonl\\'" . json-mode)))
#+end_src
** Python
*** Pyenv
python venv manager
#+begin_src emacs-lisp
(use-package pyvenv
:commands (pyvenv-mode pyvenv-activate pyvenv-workon pyvenv-exec-shell pyvenv-virtual-env)
:hook (python-mode . pyvenv-mode))
(use-package pyvenv
:commands (pyvenv-mode pyvenv-activate pyvenv-workon pyvenv-exec-shell pyvenv-virtual-env)
:hook (python-mode . pyvenv-mode))
#+end_src
*** Tab Size
Python code is recomendded to set the tab size to 4
#+begin_src emacs-lisp
(add-hook 'python-mode-hook
(lambda ()
(let ((custom-tab-size 4))
(setq-default default-tab-width custom-tab-size
tab-width custom-tab-size
c-basic-offset custom-tab-size))))
#+end_src

View File

@ -78,6 +78,12 @@ a visualizer for Emacs' cool but confusing undo/history system
(global-undo-tree-mode))
#+end_src
* Password store
#+begin_src emacs-lisp
; (use-package password-store)
; (use-package pass)
#+end_src
* Elgrep
a built in grep command in emacs