]> git.armaanb.net Git - config.org.git/blobdiff - config.org
ash: update plan alias
[config.org.git] / config.org
index 7bd50a1b381cd5f08209962a3389376981a6a592..24f55680ebc25d25c900f628a7c1856ef167628e 100644 (file)
@@ -19,15 +19,10 @@ Lastly, I use Evil mode. Modal keybindings are simpler and more ergonomic than s
 ** License
 Released under the [[https://opensource.org/licenses/MIT][MIT license]] by Armaan Bhojwani, 2021. Note that many snippets are taken from online, and other sources, who are credited for their work near their contributions.
 * Package management
-** Emacs 28 fix
-This is temporary until some stuff gets fixed upstream
-#+begin_src emacs-lisp
-  (setq straight-repository-branch "develop")
-  (setq straight-disable-native-compile t)
-#+end_src
 ** Bootstrap straight.el
 straight.el is really nice for managing package, and it integrates nicely with use-package. It uses the bootstrapping system defined here for installation.
 #+begin_src emacs-lisp
+  (defvar native-comp-deferred-compilation-deny-list ())
   (defvar bootstrap-version)
   (let ((bootstrap-file
          (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
@@ -125,13 +120,6 @@ Show a ruler at a certain number of chars depending on mode.
   (setq display-fill-column-indicator-column 80)
   (global-display-fill-column-indicator-mode)
 #+end_src
-** Keybinding hints
-When starting a key chord, show possible future steps after 0.3 seconds.
-#+begin_src emacs-lisp
-  (use-package which-key
-    :config (which-key-mode)
-    :custom (which-key-idle-delay 0.3))
-#+end_src
 ** Highlight todo items in comments
 #+begin_src emacs-lisp
   (use-package hl-todo
@@ -145,13 +133,20 @@ When starting a key chord, show possible future steps after 0.3 seconds.
 ** Visual line mode
 Soft wrap words and do operations by visual lines except in programming modes.
 #+begin_src emacs-lisp
-  (visual-line-mode 1)
-  (add-hook 'prog-mode-hook 'visual-line-mode 0)
+  (global-visual-line-mode 1)
+  (dolist (hook '(prog-mode-hook
+                  calc-trail-mode-hook
+                  org-agenda-mode-hook
+                  mu4e-headers-mode-hook))
+    (add-hook hook (lambda () (visual-line-mode -1))))
 #+end_src
 ** Display number of matches in search
 #+begin_src emacs-lisp
   (use-package anzu
-    :config (global-anzu-mode))
+    :config (global-anzu-mode)
+    :bind
+    ([remap query-replace] . anzu-query-replace)
+    ([remap query-replace-regexp] . anzu-query-replace-regexp))
 #+end_src
 ** Visual bell
 Invert modeline color instead of audible bell or the standard visual bell.
@@ -253,7 +248,6 @@ Define templates for lots of common structure elements. Mostly just used within
     (add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
     (add-to-list 'org-structure-template-alist '("sp" . "src conf :tangle ~/.spectrwm.conf"))
     (add-to-list 'org-structure-template-alist '("ash" . "src shell :tangle ~/.config/ash/ashrc"))
-    (add-to-list 'org-structure-template-alist '("ipy" . "src python :tangle ~/.ipython/"))
     (add-to-list 'org-structure-template-alist '("pi" . "src conf :tangle ~/.config/picom/picom.conf"))
     (add-to-list 'org-structure-template-alist '("git" . "src conf :tangle ~/.gitconfig"))
     (add-to-list 'org-structure-template-alist '("du" . "src conf :tangle ~/.config/dunst/dunstrc"))
@@ -400,10 +394,11 @@ Discourage Gnus from displaying HTML emails
     (add-to-list 'mm-discouraged-alternatives "text/richtext"))
 #+end_src
 ** Default browser
-Set EWW as default browser except for videos which should open in MPV.
+Set EWW as default browser except for multimedia which should open in MPV.
 #+begin_src emacs-lisp
   (defun browse-url-mpv (url &optional new-window)
     "Open URL in MPV."
+    (interactive)
     (start-process "mpv" "*mpv*" "mpv" url))
 
   (setq browse-url-handlers
@@ -412,6 +407,9 @@ Set EWW as default browser except for videos which should open in MPV.
           ("peertube.*" . browse-url-mpv)
           ("vid.*" . browse-url-mpv)
           ("vid.*" . browse-url-mpv)
+          ("*.mp4" . browse-url-mpv)
+          ("*.mp3" . browse-url-mpv)
+          ("*.ogg" . browse-url-mpv)
           ("." . eww-browse-url)
           )))
 #+end_src
@@ -454,40 +452,39 @@ Circe is a really nice IRC client that claims to be above RCIRC and below ERC in
     :config
     (enable-lui-track)
     (enable-circe-color-nicks)
-    (circe "libera")
-    (circe "oftc")
-    (circe "tilde")
-    (setq circe-networks '(("libera"
-                            :host "irc.armaanb.net"
-                            :nick "emacs"
-                            :user "emacs"
-                            :use-tls t
-                            :port "6698"
-                            :pass (lambda (null) (fetch-password
-                                                  :login "emacs"
-                                                  :machine "irc.armaanb.net"
-                                                  :port 6698)))
-                           ("oftc"
-                            :host "irc.armaanb.net"
-                            :nick "emacs"
-                            :user "emacs"
-                            :use-tls t
-                            :port "6699"
-                            :pass (lambda (null) (fetch-password
-                                                  :login "emacs"
-                                                  :machine "irc.armaanb.net"
-                                                  :port 6699)))
-                           ("tilde"
-                            :host "irc.armaanb.net"
-                            :nick "emacs"
-                            :user "emacs"
-                            :use-tls t
-                            :port "6696"
-                            :pass (lambda (null) (fetch-password
-                                                  :login "emacs"
-                                                  :machine "irc.armaanb.net"
-                                                  :port 6696)))
-                           ))
+    (setq circe-network-defaults '(("libera"
+                                    :host "irc.armaanb.net"
+                                    :nick "emacs"
+                                    :user "emacs"
+                                    :use-tls t
+                                    :port 6698
+                                    :pass (lambda (null) (fetch-password
+                                                          :login "emacs"
+                                                          :machine "irc.armaanb.net"
+                                                          :port 6698)))
+                                   ("oftc"
+                                    :host "irc.armaanb.net"
+                                    :nick "emacs"
+                                    :user "emacs"
+                                    :use-tls t
+                                    :port 6699
+                                    :pass (lambda (null) (fetch-password
+                                                          :login "emacs"
+                                                          :machine "irc.armaanb.net"
+                                                          :port 6699)))
+                                   ("tilde"
+                                    :host "irc.armaanb.net"
+                                    :nick "emacs"
+                                    :user "emacs"
+                                    :use-tls t
+                                    :port 6696
+                                    :pass (lambda (null) (fetch-password
+                                                          :login "emacs"
+                                                          :machine "irc.armaanb.net"
+                                                          :port 6696)))
+                                   (circe "libera")
+                                   (circe "oftc")
+                                   (circe "tilde")))
     :custom (circe-default-part-message "goodbye!")
     :bind (:map circe-mode-map ("C-c C-r" . circe-reconnect-all)))
 #+end_src
@@ -497,7 +494,7 @@ Still experimenting with this setup. Not sure if I will keep it, but it works we
   (defun sync-calendar ()
     "Sync calendars with vdirsyncer"
     (interactive)
-    (shell-command "vdirsyncer -vcritical sync"))
+    (async-shell-command "vdirsyncer sync"))
 
   (use-package calfw
     :bind (:map cfw:calendar-mode-map ("C-S-u" . sync-calendar)))
@@ -526,6 +523,11 @@ Still experimenting with this setup. Not sure if I will keep it, but it works we
 
   (global-set-key (kbd "C-c c") 'acheam-calendar)
 #+end_src
+** PDF reader
+#+begin_src emacs-lisp
+  (use-package pdf-tools
+    :hook (pdf-view-mode . pdf-view-midnight-minor-mode))
+#+end_src
 * Emacs IDE
 ** Python formatting
 #+begin_src emacs-lisp
@@ -666,6 +668,10 @@ Abbreviate things! I just use this for things like my email address and copyrigh
 
     (global-set-key (kbd "C-x C-r") #'doas-edit)
 #+end_src
+** Markdown mode
+#+begin_src emacs-lisp
+  (use-package markdown-mode)
+#+end_src
 * Keybindings
 ** Switch windows
 #+begin_src emacs-lisp
@@ -732,10 +738,10 @@ No more clogging up init.el.
 ** Automatically clean buffers
 Automatically close unused buffers (except those of Circe) at midnight.
 #+begin_src emacs-lisp
+  (midnight-mode)
   (add-to-list 'clean-buffer-list-kill-never-regexps (lambda (buffer-name)
                                                        (with-current-buffer buffer-name
                                                          (derived-mode-p 'lui-mode))))
-  (midnight-mode)
 #+end_src
 * Tangles
 ** Spectrwm
@@ -828,53 +834,6 @@ Use the vi editing mode. I still haven't found a good way to show visual feedbac
   set -o vi
 #+end_src
 *** Functions
-**** Update all packages
-#+begin_src shell :tangle ~/.config/ash/ashrc
-  color=$(tput setaf 5)
-  reset=$(tput sgr0)
-
-  apu() {
-      doas echo "${color}== upgrading with yay ==${reset}"
-      yay
-      echo ""
-      echo "${color}== checking for pacnew files ==${reset}"
-      doas pacdiff
-      echo
-      echo "${color}== upgrading flatpaks ==${reset}"
-      flatpak update
-      echo ""
-      echo "${color}== updating nvim plugins ==${reset}"
-      nvim +PlugUpdate +PlugUpgrade +qall
-      echo "Updated nvim plugins"
-      echo ""
-      echo "${color}You are entirely up to date!${reset}"
-  }
-#+end_src
-**** Clean all packages
-#+begin_src shell :tangle ~/.config/ash/ashrc
-  apap() {
-      doas echo "${color}== cleaning pacman orphans ==${reset}"
-      (pacman -Qtdq | doas pacman -Rns - 2> /dev/null) || echo "No orphans"
-      echo ""
-      echo "${color}== cleaning flatpaks ==${reset}"
-      flatpak remove --unused
-      echo ""
-      echo "${color}== cleaning nvim plugins ==${reset}"
-      nvim +PlugClean +qall
-      echo "Cleaned nvim plugins"
-      echo ""
-      echo "${color}All orphans cleaned!${reset}"
-  }
-#+end_src
-**** Interact with 0x0
-#+begin_src shell :tangle ~/.config/ash/ashrc
-  zxz="https://envs.sh"
-  ufile() { curl -F"file=@$1" "$zxz" ; }
-  upb() { curl -F"file=@-;" "$zxz" ; }
-  uurl() { curl -F"url=$1" "$zxz" ; }
-  ushort() { curl -F"shorten=$1" "$zxz" ; }
-  uclip() { xclip -out | curl -F"file=@-;" "$zxz" ; }
-#+end_src
 **** Finger
 #+begin_src shell :tangle ~/.config/ash/ashrc
   finger() {
@@ -885,9 +844,26 @@ Use the vi editing mode. I still haven't found a good way to show visual feedbac
 #+end_src
 **** Upload to ftp.armaanb.net
 #+begin_src shell :tangle ~/.config/ash/ashrc
-  pubup() {
-      rsync "$1" "root@armaanb.net:/var/ftp/pub/${2}"
-      echo "https://ftp.armaanb.net/pub/"$(basename "$1") | tee /dev/tty | xclip -sel c
+  _uprint() {
+      echo "https://l.armaanb.net/$(basename "$1")" | tee /dev/tty | xclip -sel c
+  }
+
+  _uup() {
+      rsync "$1" "root@armaanb.net:/var/ftp/pub/$2" --chmod 644
+  }
+
+  ufile() {
+      _uup "$1" "$2"
+      _uprint "$1"
+  }
+
+  uclip() {
+      tmp=$(mktemp)
+      xclip -o -sel c >> "$tmp"
+      basetmp=$(echo "$tmp" | tail -c +5)
+      _uup "$tmp" "$basetmp"
+      _uprint "$basetmp"
+      rm -f "$tmp"
   }
 #+end_src
 *** Exports
@@ -920,6 +896,7 @@ Use the vi editing mode. I still haven't found a good way to show visual feedbac
   export KISS_PATH="$KISS_PATH:/home/armaa/Clone/repo-main/xorg"
   export KISS_PATH="$KISS_PATH:/home/armaa/Clone/repo-main/testing"
   export KISS_PATH="$KISS_PATH:/home/armaa/Clone/repo-community/community"
+  export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig"
 #+end_src
 *** Aliases
 **** SSH
@@ -940,12 +917,12 @@ Use the vi editing mode. I still haven't found a good way to show visual feedbac
   alias la='ls -A'
   alias df='df -h / /boot'
   alias du='du -h'
-  alias free='free -h'
+  alias free='free -m'
   alias cp='cp -riv'
   alias rm='rm -iv'
   alias mv='mv -iv'
   alias ln='ln -v'
-  alias grep='grep -in --color=auto'
+  alias grep='grep -in'
   alias mkdir='mkdir -pv'
   alias lanex='java -jar ~/.local/share/lxc/lanxchange.jar'
   emacs() { $EDITOR "$@" & }
@@ -965,13 +942,15 @@ Use the vi editing mode. I still haven't found a good way to show visual feedbac
   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 && \
-        /bin/nvim $TT && \
-        echo "\nLast updated: $(date -R)" >> "$TT" && \
-        fold -sw 72 "$TT" > "$T"| \
-        rsync "$T" root@armaanb.net:/etc/finger/plan.txt'
+          rsync root@armaanb.net:/etc/finger/plan.txt "$T" && \
+          TT=$(mktemp) && \
+          head -n -2 $T > $TT && \
+          /bin/nvim $TT && \
+          echo >> "$TT" && \
+          echo "Last updated: $(date -R)" >> "$TT" && \
+          fold -sw 72 "$TT" > "$T"| \
+          rsync "$T" root@armaanb.net:/etc/finger/plan.txt && \
+          rm -f "$T"'
 #+end_src
 **** Virtual machines, chroots
 #+begin_src shell :tangle ~/.config/ash/ashrc
@@ -989,48 +968,21 @@ Use the vi editing mode. I still haven't found a good way to show visual feedbac
     -net user,smb=/home/armaa/Public \
     -drive format=qcow2,file=/home/armaa/Virtual/windows.qcow2'
 #+end_src
-**** Python
-#+begin_src shell :tangle ~/.config/ash/ashrc
-  alias pip="python -m pip"
-  alias black="black -l 79"
-#+end_src
 **** Latin
 #+begin_src shell :tangle ~/.config/ash/ashrc
   alias words='gen-shell -c "words"'
   alias words-e='gen-shell -c "words ~E"'
 #+end_src
-**** Devour
-#+begin_src shell :tangle ~/.config/ash/ashrc
-  alias zathura='devour zathura'
-  alias cad='devour openscad'
-  alias feh='devour feh'
-#+end_src
-**** Pacman
-#+begin_src shell :tangle ~/.config/ash/ashrc
-  alias aps='yay -Ss'
-  alias api='yay -Syu'
-  alias apii='doas pacman -S'
-  alias app='yay -Rns'
-  alias azf='pacman -Q | fzf'
-  alias favorites='pacman -Qe | cut -d " " -f 1 > ~/Documents/favorites'
-#+end_src
 **** Other
 #+begin_src shell :tangle ~/.config/ash/ashrc
   alias bigrandomfile='dd if=/dev/urandom of=1GB-urandom bs=1M count=1024 \
-    iflag=fullblock status=progress'
+    iflag=fullblock'
   alias bigboringfile='dd if=/dev/zero of=1GB-zero bs=1M count=1024 \
-    iflag=fullblock status=progress'
+    iflag=fullblock'
   alias ytmusic="youtube-dl -x --add-metadata  --audio-format aac \
     --restrict-filenames -o '%(title)s.%(ext)s'"
-  alias cal="cal -3 --color=auto"
   alias bc='bc -l'
 #+end_src
-** IPython
-#+begin_src python :tangle ~/.ipython/profile_default/ipython_config.py
-  c.TerminalInteractiveShell.editing_mode = 'vi'
-  c.InteractiveShell.colors = 'linux'
-  c.TerminalInteractiveShell.confirm_exit = False
-#+end_src
 ** MPV
 Make MPV play a little bit smoother.
 #+begin_src conf :tangle ~/.config/mpv/mpv.conf