Added redshift as blue light filter, converting eshell aliases
Eshell aliases are being converted to Eshell functions
This commit is contained in:
parent
46cfd4adf8
commit
3cfa85c86d
@ -1,4 +0,0 @@
|
||||
function mcd -d "Create directory and cd to it"
|
||||
mkdir -p $argv[1]
|
||||
cd $argv[1]
|
||||
end
|
4
.config/fish/functions/mkcd.fish
Normal file
4
.config/fish/functions/mkcd.fish
Normal file
@ -0,0 +1,4 @@
|
||||
function mkcd -d "Create directory and cd to it"
|
||||
mkdir -p $argv[1]
|
||||
cd $argv[1]
|
||||
end
|
@ -83,9 +83,9 @@ noto-fonts-emoji npm ntfs-3g numlockx openssh otf-fandol otf-ipafont p7zip \
|
||||
pacman-contrib pandoc-bin pavucontrol pciutils pcurses pdfpc polybar prettier \
|
||||
pulseaudio-bluetooth python-autoflake python-envtpl-git python-epc \
|
||||
python-importmagic python-language-server python-nose python-pip python-ptvsd \
|
||||
python-pytest python-pywal qt5-imageformats qemu r raw-thumbnailer reflector \
|
||||
rofi rofi-wifi-menu-git rsync rtv rustup s-nail samba scrot sent shadow \
|
||||
siji-git simplescreenrecorder speedcrunch sshfs st-luke-git swi-prolog \
|
||||
python-pytest python-pywal qt5-imageformats qemu r raw-thumbnailer redshift \
|
||||
reflector rofi rofi-wifi-menu-git rsync rtv rustup s-nail samba scrot sent \
|
||||
shadow siji-git simplescreenrecorder speedcrunch sshfs st-luke-git swi-prolog \
|
||||
texlive-bin texlive-langchinese texlive-langcyrillic texlive-langgreek \
|
||||
texlive-langjapanese texlive-langkorean texlive-latexextra \
|
||||
texlive-localmanager-git texlive-most tmux tree ttf-arphic-uming ttf-baekmuk \
|
||||
|
@ -1,43 +1,19 @@
|
||||
alias S sudo systemctl $*
|
||||
alias aurupdate yay -Syua
|
||||
alias cdebug cmake -DCMAKE_BUILD_TYPE=Debug $*
|
||||
alias chgrp chgrp --preserve-root $*
|
||||
alias chmod chmod --preserve-root $*
|
||||
alias chown chown --preserve-root $*
|
||||
alias clang clang -Wall $*
|
||||
alias clang++ clang++ -Wall $*
|
||||
alias clean clear
|
||||
alias compress tar -czf $*
|
||||
alias cpuinfo lscpu
|
||||
alias crelease cmake -DCMAKE_BUILD_TYPE=Release $*
|
||||
alias df df -H $*
|
||||
alias diskspace sudo df -h | grep -E "sd|lv|Size"
|
||||
alias du du -ch
|
||||
alias exi exit
|
||||
alias exti exit
|
||||
alias flac youtube-dl -x --audio-format flac --audio-quality 0
|
||||
alias g++ g++ -Wall -std=c++17 $*
|
||||
alias gcc gcc -Wall -std=c11 $*
|
||||
alias gpumeminfo grep -i --color memory /var/log/Xorg.0.log
|
||||
alias grep grep --color=auto $*
|
||||
alias install sudo pacman -Sy $*
|
||||
alias la ls -A --color $*
|
||||
alias ll ls -alh $*
|
||||
alias lns ln -si $*
|
||||
alias lsl ls -aHl $*
|
||||
alias meminfo free -m -l -t
|
||||
alias mkdir mkdir -p $*
|
||||
alias mp3 youtube-dl -x --audio-format flac --audio-quality 0 $*
|
||||
alias nmcli nmcli -p -c auto $*
|
||||
alias optimize sudo pacman-optimize && sync
|
||||
alias p sudo pacman $*
|
||||
alias pscpu ps auxf | sort -nr -k 3
|
||||
alias pscpu10 ps auxf | sort -nr -k 3 | head -10
|
||||
alias psmem ps auxf | sort -nr -k 4
|
||||
alias psmem10 ps auxf | sort -nr -k 4 | head -10
|
||||
alias purge sudo pacman -Scc
|
||||
alias q exit
|
||||
alias remove sudo pacman -Rscnd $*
|
||||
alias rm rm -I $*
|
||||
alias rmd rm --preserve-root -Ir $*
|
||||
alias rmdf rm --preserve-root -Irf $*
|
||||
|
@ -917,6 +917,7 @@
|
||||
| no | mpc stop | Stop music from mpd |
|
||||
| no | mpd_discord_richpresence --no-idle --fork | Launch mpd status sharing with Discord |
|
||||
| no | nm-applet | NetworkManager system tray |
|
||||
| no | redshift-gtk -O 3200 -t 1.0:0.8 | Blue light filter |
|
||||
|
||||
#+NAME: generate-autolaunch
|
||||
#+BEGIN_SRC python :exports none :tangle no :var table=autolaunch
|
||||
|
@ -302,9 +302,9 @@
|
||||
pacman-contrib pandoc-bin pavucontrol pciutils pcurses pdfpc polybar prettier \
|
||||
pulseaudio-bluetooth python-autoflake python-envtpl-git python-epc \
|
||||
python-importmagic python-language-server python-nose python-pip python-ptvsd \
|
||||
python-pytest python-pywal qt5-imageformats qemu r raw-thumbnailer reflector \
|
||||
rofi rofi-wifi-menu-git rsync rtv rustup s-nail samba scrot sent shadow \
|
||||
siji-git simplescreenrecorder speedcrunch sshfs st-luke-git swi-prolog \
|
||||
python-pytest python-pywal qt5-imageformats qemu r raw-thumbnailer redshift \
|
||||
reflector rofi rofi-wifi-menu-git rsync rtv rustup s-nail samba scrot sent \
|
||||
shadow siji-git simplescreenrecorder speedcrunch sshfs st-luke-git swi-prolog \
|
||||
texlive-bin texlive-langchinese texlive-langcyrillic texlive-langgreek \
|
||||
texlive-langjapanese texlive-langkorean texlive-latexextra \
|
||||
texlive-localmanager-git texlive-most tmux tree ttf-arphic-uming ttf-baekmuk \
|
||||
|
@ -65,7 +65,12 @@
|
||||
- [[#eshell][Eshell]]
|
||||
- [[#environment-variables][Environment variables]]
|
||||
- [[#custom-functions-1][Custom functions]]
|
||||
- [[#redirect-text-editors-to-emacs][Redirect text editors to Emacs]]
|
||||
- [[#aliases][Aliases]]
|
||||
- [[#system-monitoring][System monitoring]]
|
||||
- [[#system-management-packages-and-services][System management (packages and services)]]
|
||||
- [[#other][Other]]
|
||||
- [[#typos][Typos]]
|
||||
- [[#visual-commands][Visual commands]]
|
||||
- [[#eshell-theme][Eshell theme]]
|
||||
- [[#file-extensions][File extensions]]
|
||||
@ -1498,6 +1503,12 @@
|
||||
(getenv "PKG_CONFIG_PATH")))
|
||||
#+END_SRC
|
||||
|
||||
The ~EDITOR~ variable also needs to be set for git commands, especially the
|
||||
~yadm~ commands.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setenv "EDITOR" "emacsclient -c")
|
||||
#+END_SRC
|
||||
|
||||
*** Custom functions
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: h-8c921fc7-6b55-4829-92cd-133131f1e5f8
|
||||
@ -1522,10 +1533,40 @@
|
||||
(eshell 'N))
|
||||
#+END_SRC
|
||||
|
||||
**** Redirect text editors to Emacs
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: h-a003cd6c-8e80-43a0-ac64-d21774c334b1
|
||||
:END:
|
||||
I still have some muscle memory telling me to open nano, ed, or vim, and
|
||||
sometimes I even try to type ~emacs~ in the terminal, which is stupid with
|
||||
Eshell since I’m already inside Emacs. So, for each of these text editors,
|
||||
let’s make the command open the files in Emacs.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun eshell/emacs (&rest files)
|
||||
"Open a file in a new buffer. Old habits die hard"
|
||||
(if (null files)
|
||||
(bury-buffer)
|
||||
(mapc #'find-file
|
||||
(mapcar #'expand-file-name
|
||||
(eshell-flatten-list (reverse files))))))
|
||||
(defalias 'eshell/vi 'eshell/emacs)
|
||||
(defalias 'eshell/vim 'eshell/emacs)
|
||||
(defalias 'eshell/ed 'eshell/emacs)
|
||||
(defalias 'eshell/nano 'eshell/emacs)
|
||||
#+END_SRC
|
||||
|
||||
*** Aliases
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: h-7e11a04b-4387-4a62-af00-5d402814acac
|
||||
:END:
|
||||
This function is a function that will come in very handy for Eshell
|
||||
functions that call shell processes. It concatenates the initial string
|
||||
~command~ with all the arguments ~args~, each separated with a space.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun phundrak/concatenate-shell-command (command &rest args)
|
||||
(string-join (cons command args) " "))
|
||||
#+END_SRC
|
||||
|
||||
Just like most shells, it is possible to declare in Eshell aliases. First, I
|
||||
would like to be able to use ~open~ to open files in Emacs:
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
@ -1550,6 +1591,133 @@
|
||||
(defalias 'list-buffers 'ibuffer)
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun eshell/mkdir (directory)
|
||||
(make-directory directory t))
|
||||
#+END_SRC
|
||||
|
||||
**** System monitoring
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: h-a2873e6b-2b71-499e-a113-341df334e4bd
|
||||
:END:
|
||||
Similar to ~meminfo~, we also have ~gpumeminfo~ so we can get a quick look
|
||||
at the memory-related logs of our X session.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun eshell/gpumeminfo (&rest args)
|
||||
(eshell/grep "-i" "--color" "memory" "/var/log/Xorg.0.log"))
|
||||
(defun eshell/diskspace ()
|
||||
(shell-command "sudo df -h | grep -E \"sd|lv|Size\" | sort"))
|
||||
#+END_SRC
|
||||
|
||||
I also declared ~cpuinfo~ an alias of ~lscpu~ in order to keep consistent
|
||||
with ~meminfo~.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun eshell/meminfo ()
|
||||
(shell-command "free -m -l -t"))
|
||||
#+END_SRC
|
||||
|
||||
~pscpu~ gives us information on what the CPU is running right now, and
|
||||
I also declared ~cpuinfo~ an alias of ~lscpu~ in order to keep consistent
|
||||
with ~meminfo~.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun eshell/cpuinfo ()
|
||||
(shell-command "lscpu"))
|
||||
#+END_SRC
|
||||
|
||||
~pscpu10~ limits that to the top 10 threads.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun eshell/pscpu ()
|
||||
(shell-command "ps auxf | sort -nr -k 3"))
|
||||
(defun eshell/pscpu10 ()
|
||||
(shell-command "ps auxf | sort -nr -k 3 | head -10"))
|
||||
#+END_SRC
|
||||
|
||||
Similarly, ~psmem~ gives us information on the memory usage of the current
|
||||
threads, and ~psmem10~ only the ten most important threads in terms of
|
||||
memory usage.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun eshell/pscpu ()
|
||||
(shell-command "ps auxf | sort -nr -k 4"))
|
||||
(defun eshell/pscpu10 ()
|
||||
(shell-command "ps auxf | sort -nr -k 4 | head -10"))
|
||||
#+END_SRC
|
||||
|
||||
**** System management (packages and services)
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: h-b46ba273-f212-45bb-8500-f82c168232f0
|
||||
:END:
|
||||
The first command is ~remove~ which removes a package and its dependencies
|
||||
from the system.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun eshell/remove (&rest args)
|
||||
(phundrak/concatenate-shell-command "sudo pacman -Rscnd"
|
||||
args))
|
||||
#+END_SRC
|
||||
|
||||
But if I just want to run ~pacman~ as sudo, then I could always just type
|
||||
~p~.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun eshell/p (&rest args)
|
||||
(phundrak/concatenate-shell-command "sudo pacman" args))
|
||||
#+END_SRC
|
||||
|
||||
Sometimes, I just want to purge my package manager’s cache, be it
|
||||
~pacman~'s or ~yay~'s. This is why I simply type ~purge~.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun eshell/purge ()
|
||||
(shell-command "yay -Sc"))
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
: eshell/purge
|
||||
|
||||
**** Other
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: h-4c235c5b-e61b-4a0e-8046-7e957e9dac13
|
||||
:END:
|
||||
~mkcd~ is a function that allows me to create a directory and ~cd~ into it
|
||||
at the same time.
|
||||
#+begin_src emacs-lisp
|
||||
(defun eshell/mkcd (directory)
|
||||
(eshell/mkdir "-p" directory)
|
||||
(cd directory))
|
||||
#+end_src
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun eshell/lsl (&rest args)
|
||||
(eshell/ls "-aHl" args))
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun eshell/ll (&rest args)
|
||||
(eshell/ls "-ahl" args))
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun eshell/la (&rest args)
|
||||
(eshell/ls "-A" args))
|
||||
#+END_SRC
|
||||
|
||||
**** Typos
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: h-4da87dd0-18b3-46ae-8251-8a829288210f
|
||||
:END:
|
||||
~q~ is a shorthand for ~exit~. ~exti~ and ~exi~ are for typos when I type ~exit~.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun eshell/q (&rest args)
|
||||
(eshell/exit args))
|
||||
(defun eshell/exti (&rest args)
|
||||
(eshell/exit args))
|
||||
(defun eshell/exi (&rest args)
|
||||
(eshell/exit args))
|
||||
#+END_SRC
|
||||
|
||||
~clean~ is also a typo of ~clear~ I often make. Let’s fix this:
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun eshell/clean (&rest args)
|
||||
(eshell/clear args))
|
||||
#+END_SRC
|
||||
|
||||
*** Visual commands
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: h-b276c491-58ba-43a2-898f-1d65aad0df89
|
||||
|
Loading…
Reference in New Issue
Block a user