]> git.armaanb.net Git - config.org.git/blobdiff - config.org
Add doas-edit function
[config.org.git] / config.org
index 5f90f1cceaf3c6dcb491128332dfbd5250f74dd9..3d8019686d626433b8c726938d760d8d3a94698c 100644 (file)
@@ -608,6 +608,24 @@ Abbreviate things!
 #+begin_src emacs-lisp
   (setq ispell-silently-savep t)
 #+end_src
+** Open file as root
+#+begin_src emacs-lisp
+  (defun doas-edit (&optional arg)
+    "Edit currently visited file as root.
+
+    With a prefix ARG prompt for a file to visit.
+    Will also prompt for a file to visit if current
+    buffer is not visiting a file.
+
+    Modified from Emacs Redux."
+    (interactive "P")
+    (if (or arg (not buffer-file-name))
+        (find-file (concat "/doas:root@localhost:"
+                           (ido-read-file-name "Find file(as root): ")))
+      (find-alternate-file (concat "/doas:root@localhost:" buffer-file-name))))
+
+    (global-set-key (kbd "C-x C-r") #'doas-edit)
+#+end_src
 * Keybindings
 ** Switch windows
 #+begin_src emacs-lisp
@@ -735,15 +753,15 @@ No more clogging up init.el.
 #+end_src
 **** Programs
 #+begin_src conf :tangle ~/.spectrwm.conf
-  program[aerc] = alacritty -e aerc
-  program[catgirl] = alacritty --hold -e sh -c "while : ; do ssh root@armaanb.net -t abduco -A irc catgirl freenode; sleep 2; done"
+  program[email] = emacsclient -c --eval "(mu4e)"
+  program[irc] = emacsclient -c --eval '(switch-to-buffer "irc.armaanb.net:6697")'
   program[emacs] = emacsclient -c
   program[firefox] = firefox
   program[calc] = alacritty -e because -l
   program[emacs-anywhere] = emacsclient --eval "(emacs-everywhere)"
 
-  bind[aerc] = MOD+Control+1
-  bind[catgirl] = MOD+Control+2
+  bind[email] = MOD+Control+1
+  bind[irc] = MOD+Control+2
   bind[firefox] = MOD+Control+3
   bind[emacs-anywhere] = MOD+Control+4
   bind[calc] = MOD+Control+5
@@ -766,11 +784,11 @@ No more clogging up init.el.
   reset=$(tput sgr0)
 
   apu() {
-      sudo echo "${color}== upgrading with yay ==${reset}"
+      doas echo "${color}== upgrading with yay ==${reset}"
       yay
       echo ""
       echo "${color}== checking for pacnew files ==${reset}"
-      sudo pacdiff
+      doas pacdiff
       echo
       echo "${color}== upgrading flatpaks ==${reset}"
       flatpak update
@@ -788,8 +806,8 @@ No more clogging up init.el.
 **** Clean all packages
 #+begin_src shell :tangle ~/.config/ash/ashrc
   apap() {
-      sudo echo "${color}== cleaning pacman orphans ==${reset}"
-      (pacman -Qtdq | sudo pacman -Rns - 2> /dev/null) || echo "No orphans"
+      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
@@ -828,6 +846,37 @@ No more clogging up init.el.
       echo "https://ftp.armaanb.net/pub/"$(basename "$1") | tee /dev/tty | xclip -sel c
   }
 #+end_src
+*** Exports
+#+begin_src shell :tangle ~/.config/ash/ashrc
+  export EDITOR="emacsclient -c"
+  export VISUAL="$EDITOR"
+  export TERM=xterm-256color # for compatability
+
+  export GPG_TTY="$(tty)"
+  export MANPAGER='nvim +Man!'
+  export PAGER='less'
+
+  export GTK_USE_PORTAL=1
+
+  export PATH="/home/armaa/.local/bin:$PATH" # prioritize .local/bin
+  export PATH="/home/armaa/Code/scripts:$PATH" # prioritize my scripts
+  export PATH="/home/armaa/Code/scripts/bin:$PATH" # prioritize my bins
+  export PATH="$PATH:/home/armaa/.cargo/bin"
+  export PATH="$PATH:/home/armaa/.local/share/gem/ruby/2.7.0/bin"
+  export PATH="$PATH:/usr/sbin"
+  export PATH="$PATH:/opt/FreeTube/freetube"
+
+  export LC_ALL="en_US.UTF-8"
+  export LC_CTYPE="en_US.UTF-8"
+  export LANGUAGE="en_US.UTF-8"
+
+  export KISS_PATH="/home/armaa/Virtual/kiss/home/armaa/kiss-repo"
+  export KISS_PATH="$KISS_PATH:/home/armaa/Clone/repo-main/core"
+  export KISS_PATH="$KISS_PATH:/home/armaa/Clone/repo-main/extra"
+  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"
+#+end_src
 *** Aliases
 **** SSH
 #+begin_src shell :tangle ~/.config/ash/ashrc
@@ -858,7 +907,8 @@ No more clogging up init.el.
   alias unar='atool -x'
   alias wget='wget -e robots=off'
   alias lanex='~/.local/share/lxc/lxc'
-  alias vim='nvim'
+  alias vim=$EDITOR
+  alias emacs=$EDITOR
 #+end_src
 **** System management
 #+begin_src shell :tangle ~/.config/ash/ashrc
@@ -908,8 +958,8 @@ No more clogging up init.el.
 #+end_src
 **** Virtual machines, chroots
 #+begin_src shell :tangle ~/.config/ash/ashrc
-  alias ckiss="sudo chrooter ~/Virtual/kiss"
-  alias cdebian="sudo chrooter ~/Virtual/debian bash"
+  alias ckiss="doas chrooter ~/Virtual/kiss"
+  alias cdebian="doas chrooter ~/Virtual/debian bash"
   alias cwindows='devour qemu-system-x86_64 \
     -smp 3 \
     -cpu host \
@@ -948,7 +998,7 @@ No more clogging up init.el.
 #+begin_src shell :tangle ~/.config/ash/ashrc
   alias aps='yay -Ss'
   alias api='yay -Syu'
-  alias apii='sudo pacman -S'
+  alias apii='doas pacman -S'
   alias app='yay -Rns'
   alias apc='yay -Sc'
   alias apo='yay -Qttd'
@@ -963,37 +1013,6 @@ No more clogging up init.el.
   alias kzf="kiss s \* | xargs -l basename | \
     fzf --preview 'kiss search {} | xargs -l dirname'"
 #+end_src
-*** Exports
-#+begin_src shell :tangle ~/.config/ash/ashrc
-  export EDITOR="emacsclient -c"
-  export VISUAL="$EDITOR"
-  export TERM=xterm-256color # for compatability
-
-  export GPG_TTY="$(tty)"
-  export MANPAGER='nvim +Man!'
-  export PAGER='less'
-
-  export GTK_USE_PORTAL=1
-
-  export PATH="/home/armaa/.local/bin:$PATH" # prioritize .local/bin
-  export PATH="/home/armaa/Code/scripts:$PATH" # prioritize my scripts
-  export PATH="/home/armaa/Code/scripts/bin:$PATH" # prioritize my bins
-  export PATH="$PATH:/home/armaa/.cargo/bin"
-  export PATH="$PATH:/home/armaa/.local/share/gem/ruby/2.7.0/bin"
-  export PATH="$PATH:/usr/sbin"
-  export PATH="$PATH:/opt/FreeTube/freetube"
-
-  export LC_ALL="en_US.UTF-8"
-  export LC_CTYPE="en_US.UTF-8"
-  export LANGUAGE="en_US.UTF-8"
-
-  export KISS_PATH="/home/armaa/Virtual/kiss/home/armaa/kiss-repo"
-  export KISS_PATH="$KISS_PATH:/home/armaa/Clone/repo-main/core"
-  export KISS_PATH="$KISS_PATH:/home/armaa/Clone/repo-main/extra"
-  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"
-#+end_src
 ** Alacritty
 *** Appearance
 #+begin_src yml :tangle ~/.config/alacritty/alacritty.yml