]> git.armaanb.net Git - config.org.git/blobdiff - config.org
Simplify ivy config
[config.org.git] / config.org
index 58575bfbee8d484243ace6468939234cc7b36f10..7cda77f377082886ab477b5bc2f9c3f6e7402e2b 100644 (file)
@@ -235,7 +235,10 @@ Add back C-a/C-x bindings.
     (org-startup-indented t)
     (org-hide-emphasis-markers t)
     (org-fontify-whole-block-delimiter-line nil)
-    :bind ("C-c a" . org-agenda))
+    (org-archive-default-command 'org-archive-to-archive-sibling)
+    :bind
+    ("C-c a" . org-agenda)
+    (:map evil-normal-state-map ("ga" . org-archive-subtree-default)))
 #+end_src
 ** Tempo
 Define templates for lots of common structure elements. Mostly just used within this file.
@@ -244,31 +247,27 @@ Define templates for lots of common structure elements. Mostly just used within
     :after org
     :straight (:type built-in)
     :config
-    ;; TODO: There's gotta be a more efficient way to write this
-    (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 '("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"))
-    (add-to-list 'org-structure-template-alist '("za" . "src conf :tangle ~/.config/zathura/zathurarc"))
-    (add-to-list 'org-structure-template-alist '("ff1" . "src css :tangle ~/.mozilla/firefox/armaan-release/chrome/userChrome.css"))
-    (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"))
-    (add-to-list 'org-structure-template-alist '("tm" . "src conf :tangle ~/.tmux.conf"))
-    (add-to-list 'org-structure-template-alist '("gp" . "src conf :tangle ~/.gnupg/gpg.conf"))
-    (add-to-list 'org-structure-template-alist '("ag" . "src conf :tangle ~/.gnupg/gpg-agent.conf")))
+    (dolist (addition '(("el" . "src emacs-lisp")
+                        ("el" . "src emacs-lisp")
+                        ("sp" . "src conf :tangle ~/.spectrwm.conf")
+                        ("ash" . "src shell :tangle ~/.config/ash/ashrc")
+                        ("pi" . "src conf :tangle ~/.config/picom/picom.conf")
+                        ("git" . "src conf :tangle ~/.gitconfig")
+                        ("du" . "src conf :tangle ~/.config/dunst/dunstrc")
+                        ("za" . "src conf :tangle ~/.config/zathura/zathurarc")
+                        ("ff1" . "src css :tangle ~/.mozilla/firefox/armaan-release/chrome/userChrome.css")
+                        ("ff2" . "src css :tangle ~/.mozilla/firefox/armaan-release/chrome/userContent.css")
+                        ("xr" . "src conf :tangle ~/.Xresources")
+                        ("tm" . "src conf :tangle ~/.tmux.conf")
+                        ("gp" . "src conf :tangle ~/.gnupg/gpg.conf")
+                        ("ag" . "src conf :tangle ~/.gnupg/gpg-agent.conf")))
+      (add-to-list 'org-structure-template-alist addition)))
 #+end_src
 * Autocompletion
 ** Ivy
 A well balanced completion framework.
 #+begin_src emacs-lisp
   (use-package ivy
-    :bind (("C-s" . swiper)
-           :map ivy-minibuffer-map
-           ("TAB" . ivy-alt-done)
-           :map ivy-switch-buffer-map
-           ("M-d" . ivy-switch-buffer-kill))
     :config (ivy-mode))
 #+end_src
 ** Ivy-rich
@@ -281,26 +280,16 @@ A well balanced completion framework.
 Ivy everywhere.
 #+begin_src emacs-lisp
   (use-package counsel
-    :bind (("C-M-j" . 'counsel-switch-buffer)
-           :map minibuffer-local-map
-           ("C-r" . 'counsel-minibuffer-history))
-    :custom (counsel-linux-app-format-function #'counsel-linux-app-format-function-name-only)
     :config (counsel-mode))
 #+end_src
 ** Remember frequent commands
 #+begin_src emacs-lisp
   (use-package ivy-prescient
     :after counsel
-    :custom (ivy-prescient-enable-filtering nil)
     :config
     (prescient-persist-mode)
     (ivy-prescient-mode))
 #+end_src
-** Swiper
-Better search utility.
-#+begin_src emacs-lisp
-  (use-package swiper)
-#+end_src
 * Emacs OS
 ** RSS
 Use elfeed for reading RSS. I have another file with all the feeds in it that I'd rather keep private.
@@ -481,12 +470,20 @@ Circe is a really nice IRC client that claims to be above RCIRC and below ERC in
                                     :pass (lambda (null) (fetch-password
                                                           :login "emacs"
                                                           :machine "irc.armaanb.net"
-                                                          :port 6696)))
-                                   (circe "libera")
-                                   (circe "oftc")
-                                   (circe "tilde")))
+                                                          :port 6696)))))
     :custom (circe-default-part-message "goodbye!")
     :bind (:map circe-mode-map ("C-c C-r" . circe-reconnect-all)))
+
+  (defun acheam-irc ()
+    "Open circe"
+    (interactive)
+    (if (get-buffer "irc.armaanb.net:6696")
+        (switch-to-buffer "irc.armaanb.net:6696")
+      (progn (circe "libera")
+             (circe "oftc")
+             (circe "tilde"))))
+
+  (global-set-key (kbd "C-c i") 'acheam-irc)
 #+end_src
 ** Calendar
 Still experimenting with this setup. Not sure if I will keep it, but it works well for seeing my calendar events. I use =vdirsyncer= to sync my calendar events which I'm really not happy with.
@@ -806,7 +803,7 @@ I'm not a huge fan of how spectrwm handles keybindings, probably my biggest grip
 **** Programs
 #+begin_src conf :tangle ~/.spectrwm.conf
   program[email] = emacsclient -ce "(mu4e)"
-  program[irc] = emacsclient -ce '(switch-to-buffer "irc.armaanb.net:6698")'
+  program[irc] = emacsclient -ce '(acheam-irc)'
   program[rss] = emacsclient -ce '(elfeed)'
   program[calendar] = emacsclient -ce '(acheam-calendar)'
   program[calc] = emacsclient -ce '(progn (calc) (windmove-up) (delete-window))'
@@ -834,15 +831,6 @@ Use the vi editing mode. I still haven't found a good way to show visual feedbac
   set -o vi
 #+end_src
 *** Functions
-**** 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() {
@@ -853,9 +841,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
@@ -934,13 +939,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