From 0ff230052bfa92b02cb09efc5bf59840398e50a5 Mon Sep 17 00:00:00 2001 From: Armaan Bhojwani Date: Thu, 13 May 2021 20:45:53 -0400 Subject: [PATCH] Major cleanup --- config.org | 183 ++++++++++++++--------------------------------------- 1 file changed, 47 insertions(+), 136 deletions(-) diff --git a/config.org b/config.org index 5f3f826..cddf865 100644 --- a/config.org +++ b/config.org @@ -84,20 +84,6 @@ Great programming font with ligatures. "~~>" "~>" "~-" "~@" "$>" "^=" "]#")) (global-ligature-mode t)) #+end_src -*** Emoji -#+begin_src emacs-lisp - (use-package emojify - :config (global-emojify-mode)) - - ;; http://ergoemacs.org/emacs/emacs_list_and_set_font.html - (set-fontset-font - t - '(#x1f300 . #x1fad0) - (cond - ((member "Twitter Color Emoji" (font-family-list)) "Twitter Color Emoji") - ((member "Noto Color Emoji" (font-family-list)) "Noto Color Emoji") - ((member "Noto Emoji" (font-family-list)) "Noto Emoji"))) -#+end_src ** Line numbers Display relative line numbers except in some modes #+begin_src emacs-lisp @@ -132,15 +118,10 @@ Show current column and file size. (use-package minions :config (minions-mode)) #+end_src -** Word count -#+begin_src emacs-lisp - (use-package wc-mode - :straight (wc-mode :type git :host github :repo "bnbeckwith/wc-mode") - :hook (text-mode-hook . wc-mode)) -#+end_src ** Ruler Show a ruler at a certain number of chars depending on mode. #+begin_src emacs-lisp + (setq display-fill-column-indicator-column 80) (global-display-fill-column-indicator-mode) #+end_src ** Keybinding hints @@ -163,7 +144,7 @@ Whenever starting a key chord, show possible future steps. ** Visual line mode Soft wrap words and do operations by visual lines. #+begin_src emacs-lisp - (add-hook 'text-mode-hook 'turn-on-visual-line-mode) + (add-hook 'text-mode-hook 'visual-line-mode 1) #+end_src ** Display number of matches in search #+begin_src emacs-lisp @@ -174,10 +155,9 @@ Soft wrap words and do operations by visual lines. Inverts modeline instead of audible bell or the standard visual bell. #+begin_src emacs-lisp (setq visible-bell nil - ring-bell-function 'flash-mode-line) - (defun flash-mode-line () - (invert-face 'mode-line) - (run-with-timer 0.1 nil #'invert-face 'mode-line)) + ring-bell-function + (lambda () (invert-face 'mode-line) + (run-with-timer 0.1 nil #'invert-face 'mode-line))) #+end_src * Evil mode ** General @@ -246,8 +226,7 @@ Add back C-a/C-x (use-package evil-org-agenda :straight (:type built-in) :after evil-org - :config - (evil-org-agenda-set-keys)) + :config (evil-org-agenda-set-keys)) #+end_src *** Leader maps #+begin_src emacs-lisp @@ -295,11 +274,6 @@ Add back C-a/C-x (add-to-list 'org-structure-template-alist '("ff2" . "src css :tangle ~/.mozilla/firefox/armaan-release/chrome/userContent.css")) (add-to-list 'org-structure-template-alist '("xr" . "src conf :tangle ~/.Xresources"))) #+end_src -** Presentations -#+begin_src emacs-lisp - (use-package org-present - :straight (org-present :type git :host github :repo "rlister/org-present")) -#+end_src * Autocompletion ** Ivy Simple, but not too simple autocompletion. @@ -447,13 +421,16 @@ Some EWW enhancements. ;; From https://protesilaos.com/dotemacs/ (defun prot-eww--rename-buffer () "Rename EWW buffer using page title or URL. - To be used by `eww-after-render-hook'." + To be used by `eww-after-render-hook'." (let ((name (if (eq "" (plist-get eww-data :title)) (plist-get eww-data :url) (plist-get eww-data :title)))) (rename-buffer (format "*%s # eww*" name) t))) - (add-hook 'eww-after-render-hook #'prot-eww--rename-buffer) + (use-package eww + :straight (:type built-in) + :bind (("C-c w" . eww)) + :hook (eww-after-render-hook prot-eww--rename-buffer)) #+end_src *** Better entrypoint #+begin_src emacs-lisp @@ -492,8 +469,7 @@ Some EWW enhancements. :config (erc-hl-nicks-mode 1)) #+end_src ** Emacs Anywhere -Use Emacs globally. Use the Emacs daemon and bind a key in your wm to -=emacsclient --eval "(emacs-everywhere)"=. +Use Emacs globally. Use the Emacs daemon and bind a key in your wm to =emacsclient --eval "(emacs-everywhere)"=. #+begin_src emacs-lisp (use-package emacs-everywhere) #+end_src @@ -502,19 +478,16 @@ Use Emacs globally. Use the Emacs daemon and bind a key in your wm to #+begin_src emacs-lisp (use-package blacken :hook (python-mode . blacken-mode) - :config - (setq blacken-line-length 79)) + :config (setq blacken-line-length 79)) ;; Purge whitespace (use-package ws-butler - :config - (ws-butler-global-mode)) + :config (ws-butler-global-mode)) #+end_src ** Flycheck #+begin_src emacs-lisp (use-package flycheck - :config - (global-flycheck-mode)) + :config (global-flycheck-mode)) #+end_src ** Project management #+begin_src emacs-lisp @@ -538,19 +511,17 @@ Use Emacs globally. Use the Emacs daemon and bind a key in your wm to :straight (:type built-in) :commands (dired dired-jump) :custom ((dired-listing-switches "-agho --group-directories-first")) - :config - (evil-collection-define-key 'normal 'dired-mode-map - "h" 'dired-single-up-directory - "l" 'dired-single-buffer)) + :config (evil-collection-define-key 'normal 'dired-mode-map + "h" 'dired-single-up-directory + "l" 'dired-single-buffer)) (use-package dired-single :commands (dired dired-jump)) (use-package dired-open :commands (dired dired-jump) - :custom - (dired-open-extensions '(("png" . "feh") - ("mkv" . "mpv")))) + :custom (dired-open-extensions '(("png" . "feh") + ("mkv" . "mpv")))) (use-package dired-hide-dotfiles :hook (dired-mode . dired-hide-dotfiles-mode) @@ -600,10 +571,6 @@ Spell check in text mode, and in prog-mode comments. (interactive) (x-select-text (current-kill 0))) #+end_src -** Browse kill ring -#+begin_src emacs-lisp - (use-package browse-kill-ring) -#+end_src ** Save place Opens file where you left it. #+begin_src emacs-lisp @@ -619,7 +586,7 @@ Distraction free writing a la junegunn/goyo. ** Abbreviations Abbreviate things! #+begin_src emacs-lisp - (setq abbrev-file-name "~/.emacs.d/abbrevs") + (setq abbrev-file-name "~/.emacs.d/abbrevs.el") (setq save-abbrevs 'silent) (setq-default abbrev-mode t) #+end_src @@ -635,43 +602,6 @@ Abbreviate things! #+begin_src emacs-lisp (setq ispell-silently-savep t) #+end_src -* Functions -** Easily convert splits -Converts splits from horizontal to vertical and vice versa. Lifted from EmacsWiki. -#+begin_src emacs-lisp - (defun toggle-window-split () - (interactive) - (if (= (count-windows) 2) - (let* ((this-win-buffer (window-buffer)) - (next-win-buffer (window-buffer (next-window))) - (this-win-edges (window-edges (selected-window))) - (next-win-edges (window-edges (next-window))) - (this-win-2nd (not (and (<= (car this-win-edges) - (car next-win-edges)) - (<= (cadr this-win-edges) - (cadr next-win-edges))))) - (splitter - (if (= (car this-win-edges) - (car (window-edges (next-window)))) - 'split-window-horizontally - 'split-window-vertically))) - (delete-other-windows) - (let ((first-win (selected-window))) - (funcall splitter) - (if this-win-2nd (other-window 1)) - (set-window-buffer (selected-window) this-win-buffer) - (set-window-buffer (next-window) next-win-buffer) - (select-window first-win) - (if this-win-2nd (other-window 1)))))) - - (define-key ctl-x-4-map "t" 'toggle-window-split) -#+end_src -** Insert date -#+begin_src emacs-lisp - (defun insert-date () - (interactive) - (insert (format-time-string "%Y-%m-%d"))) -#+end_src * Keybindings ** Switch windows #+begin_src emacs-lisp @@ -685,13 +615,8 @@ Makes "C-x k" binding faster. #+end_src * Other settings ** OpenSCAD -Render OpenSCAD files, and add a preview window. - -Personal fork just merges a PR. #+begin_src emacs-lisp (use-package scad-mode) - (use-package scad-preview - :straight (scad-preview :type git :host github :repo "Armaanb/scad-preview")) #+end_src ** Control backup files Stop backup files from spewing everywhere. @@ -808,7 +733,7 @@ No more clogging up init.el. program[catgirl] = alacritty --hold -e sh -c "while : ; do ssh root@armaanb.net -t abduco -A irc catgirl freenode; sleep 2; done" program[emacs] = emacsclient -c program[firefox] = firefox - program[calc] = alacritty -e bc + program[calc] = alacritty -e because -l program[emacs-anywhere] = emacsclient --eval "(emacs-everywhere)" bind[aerc] = MOD+Control+1 @@ -821,6 +746,7 @@ No more clogging up init.el. **** Quirks #+begin_src conf :tangle ~/.spectrwm.conf quirk[Castle Menu] = FLOAT + quirk[momen] = FLOAT #+end_src ** Zsh *** Settings @@ -831,16 +757,6 @@ No more clogging up init.el. setopt no_case_glob unsetopt glob_complete - - # Fragment completions - zstyle ':completion:*' list-suffixes
zstyle ':completion:*' expand prefix suffix - - # Menu completions - zstyle ':completion:*' menu select - zmodload zsh/complist - bindkey -M menuselect '^n' expand-or-complete - bindkey -M menuselect '^p' reverse-menu-complete - #+end_src **** Vim bindings #+begin_src shell :tangle ~/.config/zsh/zshrc @@ -1021,27 +937,27 @@ Right now, I'm only using fast-syntax-highlighting. It's a really nice visual ad alias redoas='doas $(fc -ln -1)' alias crontab='crontab-argh' alias sudo='doas ' # allows aliases to be run with doas - alias pasc='pass -c' - alias pasu='\pass git push' + alias pasu='git -C ~/.password-store push' alias yadu='yadm add -u && yadm commit -m "Updated `date -Iseconds`" && \ yadm push' #+end_src **** Networking #+begin_src shell :tangle ~/.config/zsh/zshrc - alias ping='ping -c 10' - alias speed='speedtest-cli' - alias ip='ip --color=auto' - alias cip='curl https://armaanb.net/ip' - alias gps='gpg --keyserver keyserver.ubuntu.com --search-keys' - alias gpp='gpg --keyserver keyserver.ubuntu.com --recv-key' - alias plan='T=$(mktemp) && \ - rsync root@armaanb.net:/etc/finger/plan.txt "$T" && \ - TT=$(mktemp) && \ - head -n -2 $T > $TT && \ - vim $TT && \ - echo "\nLast updated: $(date -R)" >> "$TT" && \ - rsync "$TT" root@armaanb.net:/etc/finger/plan.txt' - alias wttr='curl -s "wttr.in/02445?n" | head -n -3' + alias ping='ping -c 10' + alias speed='speedtest-cli' + alias ip='ip --color=auto' + alias cip='curl https://armaanb.net/ip' + alias gps='gpg --keyserver keyserver.ubuntu.com --search-keys' + alias gpp='gpg --keyserver keyserver.ubuntu.com --recv-key' + alias plan='T=$(mktemp) && \ + rsync root@armaanb.net:/etc/finger/plan.txt "$T" && \ + TT=$(mktemp) && \ + head -n -2 $T > $TT && \ + vim $TT && \ + echo "\nLast updated: $(date -R)" >> "$TT" && \ + fold -sw 72 "$TT" > "$T"| \ + rsync "$T" root@armaanb.net:/etc/finger/plan.txt' + alias wttr='curl -s "wttr.in/02445?n" | head -n -3' #+end_src **** Other #+begin_src shell :tangle ~/.config/zsh/zshrc @@ -1258,24 +1174,24 @@ For any GNU Readline programs ** Git *** User #+begin_src conf :tangle ~/.gitconfig -[user] + [user] name = Armaan Bhojwani email = me@armaanb.net signingkey = 0FEB9471E19C49C60CFBEB133C9ED82FFE788E4A #+end_src *** Init #+begin_src conf :tangle ~/.gitconfig -[init] + [init] defaultBranch = main #+end_src *** GPG #+begin_src conf :tangle ~/.gitconfig -[gpg] + [gpg] program = gpg #+end_src *** Sendemail #+begin_src conf :tangle ~/.gitconfig -[sendemail] + [sendemail] smtpserver = smtp.mailbox.org smtpuser = me@armaanb.net smtpencryption = ssl @@ -1284,12 +1200,12 @@ For any GNU Readline programs #+end_src *** Submodules #+begin_src conf :tangle ~/.gitconfig -[submodule] + [submodule] recurse = true #+end_src *** Aliases #+begin_src conf :tangle ~/.gitconfig -[alias] + [alias] stat = diff --stat sclone = clone --depth 1 sclean = clean -dfX @@ -1300,10 +1216,11 @@ For any GNU Readline programs subup = submodule update --remote loc = diff --stat 4b825dc642cb6eb9a060e54bf8d69288fbee4904 # Empty hash mirror = git config --global alias.mirrormirror + pushnc = push -o skip-ci #+end_src *** Commits #+begin_src conf :tangle ~/.gitconfig -[commit] + [commit] gpgsign = true verbose = true #+end_src @@ -1435,12 +1352,6 @@ Lightweight notification daemon. } #+end_src ** Xresources -*** Font -#+begin_src conf :tangle ~/.Xresources - XTerm.vt100.translations: #override \n\ - Ctrl minus: smaller-vt-font() \n\ - Ctrl plus: larger-vt-font() -#+end_src *** Color scheme Modus operandi. #+begin_src conf :tangle ~/.Xresources -- 2.39.2