Initial commit
19
LICENSE
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
MIT License Copyright (c) 2021 FollieHiyuki
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is furnished
|
||||||
|
to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice (including the next
|
||||||
|
paragraph) shall be included in all copies or substantial portions of the
|
||||||
|
Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
|
||||||
|
OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
||||||
|
OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
69
README.md
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
<p align="center">
|
||||||
|
<img src="https://git.disroot.org/FollieHiyuki/dotfiles/raw/branch/master/assets/dotfiles.png" height="121px" alt="dotfiles_icon"/>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
### :question: What can you find here
|
||||||
|
|
||||||
|
<img src="https://git.disroot.org/FollieHiyuki/dotfiles/raw/branch/master/assets/AnimuThinku.png" width="121px" align="left" alt="AnimuThinku"></a>
|
||||||
|
|
||||||
|
**My personal dotfiles, which:**
|
||||||
|
|
||||||
|
=> is bloated (I use a lot of programs, sometimes just to try out)
|
||||||
|
=> yet clean (follow XDG base directory specification)
|
||||||
|
=> for [bspwm](https://github.com/baskerville/bspwm), [spectrwm](https://github.com/conformal/spectrwm), [sway](https://github.com/swaywm/sway), [wayfire](https://github.com/WayfireWM/wayfire), [river](https://github.com/ifreund/river), [hikari](https://hikari.acmelabs.space/)
|
||||||
|
=> and features [Nord](https://github.com/arcticicestudio/nord) and [OneDark](https://github.com/joshdick/onedark.vim) colorschemes
|
||||||
|
|
||||||
|
![sway](https://git.disroot.org/FollieHiyuki/dotfiles/raw/branch/master/assets/sway.png)
|
||||||
|
|
||||||
|
### :package: Installation
|
||||||
|
|
||||||
|
- Fonts: **[Sarasa Gothic](https://github.com/be5invis/Sarasa-Gothic)** + **Iosevka Nerd Font**
|
||||||
|
|
||||||
|
- Other dependencies:
|
||||||
|
- jq, sysstat, psmisc, wireless_tools (status on spectrwm's bar)
|
||||||
|
- [light](https://github.com/haikarainen/light) / [brightnessctl](https://github.com/Hummer12007/brightnessctl)
|
||||||
|
- [bottom](https://github.com/clementtsang/bottom)
|
||||||
|
- [fzf](https://github.com/junegunn/fzf), [fd](https://github.com/sharkdp/fd), [ripgrep](https://github.com/BurntSushi/ripgrep)
|
||||||
|
- [greenclip](https://github.com/erebe/greenclip) / [clipman](https://github.com/yory8/clipman)
|
||||||
|
- [mpDris2](https://github.com/eonpatapon/mpDris2), [mpv-mpris](https://github.com/hoyon/mpv-mpris), [playerctl](https://github.com/altdesktop/playerctl)
|
||||||
|
- [delta](https://github.com/dandavison/delta), [bat](https://github.com/sharkdp/bat), [glow](https://github.com/charmbracelet/glow) (or [mdcat](https://github.com/lunaryorn/mdcat)), [exa](https://github.com/ogham/exa), pandoc (previewing in terminal)
|
||||||
|
- [starship](https://starship.rs/)
|
||||||
|
- [gallery-dl](https://github.com/mikf/gallery-dl) / [mangadl-bash](https://github.com/Akianonymus/mangadl-bash)
|
||||||
|
- [translate-shell](https://github.com/soimort/translate-shell)
|
||||||
|
- [pulsemixer](https://github.com/GeorgeFilipkin/pulsemixer)
|
||||||
|
- [nwg-launchers](https://github.com/nwg-piotr/nwg-launchers) / [wofi](https://hg.sr.ht/~scoopta/wofi)
|
||||||
|
- [rofi](https://github.com/davatorium/rofi) / [dmenu](https://git.disroot.org/FollieHiyuki/dmenu)
|
||||||
|
|
||||||
|
- Run `deploy.sh` to deploy the dotfiles
|
||||||
|
|
||||||
|
> zsh requires adding `export ZDOTDIR=$HOME/.config/zsh` to **/etc/zsh/zshenv**
|
||||||
|
|
||||||
|
> Refer to [this gist](https://gist.github.com/st3r4g/6c681a28b0403b3b02636f510ff68039) for making `pipewire` work on Void Linux. The dotfiles works with `alsa` and `pulseaudio` too with some slightly changes.
|
||||||
|
|
||||||
|
### :clipboard: TODO
|
||||||
|
|
||||||
|
- [ ] ~~[Material](https://material-theme.site/) / [Ayu](https://github.com/ayu-theme/ayu-colors) palette~~
|
||||||
|
- [ ] ~~[dotdrop](https://github.com/deadc0de6/dotdrop)~~
|
||||||
|
- [x] Migrate zsh to [zinit](https://github.com/zdharma/zinit)
|
||||||
|
- [x] Wayland compositors
|
||||||
|
- [ ] ion / oksh / nushell / osh / xonsh / elvish / oh
|
||||||
|
- [ ] NixOS / Guix / Gentoo / FreeBSD
|
||||||
|
- [ ] New Neovim's config in Lua
|
||||||
|
- [ ] My own ~/.emacs.d
|
||||||
|
|
||||||
|
### :star2: Credits & License
|
||||||
|
|
||||||
|
- [@ChristianChiarulli](https://github.com/ChristianChiarulli) for the Neovim's config
|
||||||
|
|
||||||
|
- [@hlissner](https://github.com/hlissner) for a detailed zsh config (and Doom Emacs)
|
||||||
|
|
||||||
|
- My Waybar config is heavily inspired by [@begs](https://git.sr.ht/~begs/dotfiles)
|
||||||
|
|
||||||
|
- I use some scripts from other people:
|
||||||
|
- [some fzf scripts](https://github.com/DanielFGray/fzf-scripts)
|
||||||
|
- [colorscripts](https://gitlab.com/dwt1/shell-color-scripts)
|
||||||
|
- **farge**, **tmpsms** and **tmpmail** from [@sdushantha](https://github.com/sdushantha)
|
||||||
|
- **ytmenu** from [here](https://github.com/sayan01/scripts)
|
||||||
|
|
||||||
|
- You want some more **kawaii** wallpapers? Here is the list of artists: [@rimuu](https://rimuu.com/), [@hiten](https://www.pixiv.net/users/490219/artworks), [@Tiv](https://www.pixiv.net/en/users/35081), [@mery](https://www.pixiv.net/en/users/2750098), [@Mashima_saki](https://www.pixiv.net/en/users/18403608), [@Yuuki_Tatsuya](https://www.pixiv.net/en/users/27691), [@Bison倉鼠](https://www.pixiv.net/en/users/333556/artworks), [@Dana](https://twitter.com/hapong07), [@gomzi](https://twitter.com/gcmzi), [@Rella](https://twitter.com/Rellakinoko), [@dnwls3010](https://twitter.com/dnwls3010), [@Shigure_Ui](https://www.pixiv.net/en/users/431873), [@QuAn_](https://www.pixiv.net/en/users/6657532/artworks), [@杉87](https://twitter.com/k_su_keke1121), [@fuzichoco](https://twitter.com/fuzichoco), [@Astero](https://twitter.com/asteroid_ill), [@shin556](https://www.pixiv.net/en/users/642762)
|
||||||
|
- Others are under MIT license
|
BIN
assets/AnimuThinku.png
Normal file
After Width: | Height: | Size: 107 KiB |
BIN
assets/dotfiles.png
Normal file
After Width: | Height: | Size: 22 KiB |
23
assets/palette-nord
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Polar Night:
|
||||||
|
#2e3440
|
||||||
|
#3b4252
|
||||||
|
#434c5e
|
||||||
|
#4c566a
|
||||||
|
|
||||||
|
Snow Storm:
|
||||||
|
#d8dee9
|
||||||
|
#e5e9f0
|
||||||
|
#eceff4
|
||||||
|
|
||||||
|
Frost:
|
||||||
|
#8fbcbb
|
||||||
|
#88c0d0
|
||||||
|
#81a1c1
|
||||||
|
#5e81ac
|
||||||
|
|
||||||
|
Aurora:
|
||||||
|
#bf616a
|
||||||
|
#d08770
|
||||||
|
#ebcb8b
|
||||||
|
#a3be8c
|
||||||
|
#b48ead
|
25
assets/palette-onedark
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
Original colors: Doom Emacs' variant:
|
||||||
|
#181a1f #1b2229
|
||||||
|
#282c34 #1c1f24
|
||||||
|
#2c323c #202328
|
||||||
|
#3b4048 #21242b
|
||||||
|
#3e4452 #23272e
|
||||||
|
#4b5263 #282c34
|
||||||
|
#5c6470 #3f444a
|
||||||
|
#abb2bf #5b6268
|
||||||
|
#73797e
|
||||||
|
#9ca0a4
|
||||||
|
#dfdfdf
|
||||||
|
#bbc2cf
|
||||||
|
|
||||||
|
#e06c75 #be5046 #ff6c6b
|
||||||
|
#98c379 #98be56
|
||||||
|
#e5c07b #ecbe7b
|
||||||
|
#d19a66 #da8548
|
||||||
|
#61afef #51afef #2257a0
|
||||||
|
#c678dd #c678dd #a9a1e1
|
||||||
|
#56b6c2 #4db5bd #5699af #46d9ff
|
||||||
|
|
||||||
|
Additional colors:
|
||||||
|
#979eab
|
||||||
|
#8c9cff
|
52
assets/public.key
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
mQINBGAEfCwBEACe6K6KcgGazlDFm3j1o6hT8PaCy87NWyP35yW95nysag0Qq1XN
|
||||||
|
0XKvbu33cWTQUI9b1G+/NW7TsUGNSvS8fjvFOKmEZlcrsx8Ica3k180aFoL4uj88
|
||||||
|
kL0mbzCXm/GlRzSTy1VC2DwqsKIbrKplL3bMTNus2bZKheGUyAwI3v/IOXQ0w7C/
|
||||||
|
k3oHCO0+FaKLRHlQDmAuMy09c/uQH39PXdqen3ZgKi10We0BIqcDE4nPtiD2BtVz
|
||||||
|
WhHNCQ/dlEe7ncH14syAMoPmsFeFM8sTfZj949PWlCZ5fwweLUyTyN6xpXQ5tkSp
|
||||||
|
L4cA1AoOMTU2DwKLIqGpyIM//WwVOr1RvoLTQ3u9xiF4LLEOB292Xh0KEuA1YLKv
|
||||||
|
6N1XFL1ASRyZvmA0ZEoKy3bnzrePjKXvb6wcffYtzEqT45CGqtJGMiadX4C/QyYl
|
||||||
|
MgAtLBjTZoEUzo/Z2JFU8Ifw4Lc4eWFCb3EXpqDLQr7R2JL3qHU9r15uTdpn+Hng
|
||||||
|
96WVXpMuDAjlh/YC94OA3uhrPlWwK47ZgiHsO84rcGNttFz6DUg8YlqvMAVDULwp
|
||||||
|
7TTvTwJBMl8DQ3C8MlqTAk6FJjBTmC673IuynLoHpv/V+A6WWk+AJgVu6QbTLh9E
|
||||||
|
M0OvyqXplFMe8YRNZ+/zgbh9C+q6syHcoKkTXPrr45lrl/kqSB9gIYvVLwARAQAB
|
||||||
|
tCxGb2xsaWVIaXl1a2kgPGZvbGxpZWthemV0YW5pQHByb3Rvbm1haWwuY29tPokC
|
||||||
|
TgQTAQgAOBYhBJ+wHjjd1+FFmkw9rIE89IT0mTQZBQJgBHwsAhsDBQsJCAcCBhUK
|
||||||
|
CQgLAgQWAgMBAh4BAheAAAoJEIE89IT0mTQZsikP/As/REpidKJhcwiYbCQEdSGV
|
||||||
|
tKI4lQlnv/g4gNpfAAdS9ERqU0tGxvjhBwlgUyEVmvRwVXG+7Fm1FpNXEj3D/+vl
|
||||||
|
JL6v7wGIKfR2LX1sD+aTMitKOpmedGXORJ801NEkyr3Q+t9i8asHWys9uvgbH8TQ
|
||||||
|
Z0KC+o7T9Ehdqe397/TZC22nDGLVuOxm4sHraHmsFK9EDYk9sYZew7Gs49MrvPI6
|
||||||
|
APNXlHYYGKrTHdbxrilN7D5B8INEG5T+N5wM4C19eAZgYfgeEepVJjJeAeACZ1G1
|
||||||
|
P/bx39ob0ivNFvCJ54rRNVogXZzjLtsz1BVV46/kJf9Y4Hu9xJPS+HoCyueZloMj
|
||||||
|
+vKcba5DnIny4f+7BL3pIUasoxmunq1kPjsVrpHAcICkNzE0TI4fEgY2WcVbpGLb
|
||||||
|
UYNsIpE7zCNGBLucps7zZVxWt4IxkI9oU+gQCi0kScVITGw1IRfL7ABeGi3HItui
|
||||||
|
Rt7scqEQ7cv86Y2V+sFBwfUpTJnfBIfCT8xLKu9MOOs5ggEIlfRzCdr5Yovzhrp7
|
||||||
|
RgrUibYPewinSs0u9EKfEqM1PGGVW2VvyWI0+gQgkGptvCOoMCkeIy9ngqJSye6w
|
||||||
|
AzM8/XnkNkVlqCksOp9AEJbSEGB5jPPwC9K4RmaqPgdBpVlDpZl3qxLlGgjZFux5
|
||||||
|
mzSE8N20+UZjhpfKzgAluQINBGAEfCwBEAC2ucd8UQSFN9V6CY9AJlfyPaelp120
|
||||||
|
HdzfJwkHHo4PbHS3XET0LVIKp0Dy8A2lxvtZHYnZAZBczf7dHMIXzaJqndLP4j5s
|
||||||
|
LywSnPQ0WSru0glqeOhUDPksHYxdJM7vQHLjA127SJiLOdvmtCdhWUqS6LyNiHnj
|
||||||
|
kbGXZbsxuX6OO38js6ZkJ1DkWaJcn3wDNQHIdw3zIa1+a6s77cB0Dd7dhCF4MBsL
|
||||||
|
kQ4VcI6619GtnaHzW9XvTKA/C38Znw4C2FaGKnF7nSLe643wf9N+VFW6ERzE81RB
|
||||||
|
vZtHlToAOfE2Bc+xyu9VxWDdffUGQTA8SYKZroIMdQYLTxBSEIrL5DOdgRK000uD
|
||||||
|
gbfQXis74zDvhfDm6kxJJxBCKBpKNDSJOPGrWJi3nYBw47Pxw5vEvBB4xMmwK3QZ
|
||||||
|
z7zn5wH2LKsSZig+ej+DIqU3SZWCkPPK5FwZtk2Wji57vghBn2t/QQune+EosTQe
|
||||||
|
LPhPd5IqrieW4anq5Z0WGLCe8F7ZxzDUuoWyO3DGlPT7Bv1Pea9yL17pXjo2B09P
|
||||||
|
yjTzbv86S/VhdTeglj9W42kvXbZ7/iLPdS+l+YsmF4Ukq67q6vudMx2zi+YNHsXW
|
||||||
|
h/n8M/H0Ex1Qz2CpAMgjjo8dUzg47NA/8AKvkHGOnElGSV3aXL2fo105nYoy1yMN
|
||||||
|
R6drGaadYgtCIQARAQABiQI2BBgBCAAgFiEEn7AeON3X4UWaTD2sgTz0hPSZNBkF
|
||||||
|
AmAEfCwCGwwACgkQgTz0hPSZNBlLaw/+M0DDktb7Ioq93WNy0UwfbIZauqesjDKp
|
||||||
|
81IyUfRRWNtSHwXdZ1k0bz70h/bmNxqDKpFW2AjGGnr3zG8CTLSfsUZp8MbmaCzi
|
||||||
|
Hmn1ZCaPOSNsfCd2kAuXUjp8NoH5tshdYdmHZVc7K4nB6cFHVlUJiK1yFJQ4ZQtp
|
||||||
|
jL/V0e0whb89u/CX312Y6iwoYrElUn687qTPZCSYQ14AdeyiWi7Xq0b4O8TNuede
|
||||||
|
hbjnbQ0/7Ma2v2k/Lby/66HqKsbHn/qWkQE6XcJFlP4mLTKQy7v7SjtS4uCpzWcO
|
||||||
|
yyi/JXA1T2miDNLHFuQlNRB3hrsPTf6LkMR8NWvmbUlaZ4cnJMNDUVCCTG3hIu7c
|
||||||
|
b7k6A5hfV7myQvaKe+I6gysThfoGannF0OWQ1oAY82iKuuSAk+jgh+ShTnB+cLcN
|
||||||
|
a2KYAQL3jyS0a8T8QDetu/BoVwcXoL9MnoPuwheIHH5EXgbOE5lYdbqlvCE9oRup
|
||||||
|
v3bIiCP5gjx8AmnsTzXxuJLS4D1vk65s83wWTarNqvaNHtoSO3kKSV/u47QXG0xw
|
||||||
|
WHZeJOWYF5/orSj0h9LW/9kWBWlKVkRUpQkQqWZovKn0i3URBlF1lMmQ4V0ZSOw5
|
||||||
|
NL+NaxnTomYJl/XKJN+8TxhmLXJORaZcuh5+PbgFCRhdhq+SBTzES+QbNJadOYy+
|
||||||
|
+5tMxfcjYzE=
|
||||||
|
=ispU
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
BIN
assets/sway.png
Normal file
After Width: | Height: | Size: 1.2 MiB |
135
deploy.sh
Executable file
@ -0,0 +1,135 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
echo "Shell (bash/zsh/fish): "
|
||||||
|
read -r shell
|
||||||
|
if [ -z "${shell}" ]
|
||||||
|
then exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Display server (wayland/x11): "
|
||||||
|
read -r server
|
||||||
|
if [ -z "${server}" ]
|
||||||
|
then exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "
|
||||||
|
~~~ Installing shell config ~~~
|
||||||
|
"
|
||||||
|
case ${shell} in
|
||||||
|
bash)
|
||||||
|
cp -rfv ./home/.bashrc-bloated ~/.bashrc
|
||||||
|
cp -rfv ./home/.bash_profile ~/.bash_profile
|
||||||
|
;;
|
||||||
|
zsh)
|
||||||
|
cp -rfv ./home/.bashrc ~/.bashrc
|
||||||
|
cp -rfv ./home/.bash_profile ~/.bash_profile
|
||||||
|
cp -rfv ./home/.config/zsh/ ~/.config/zsh/
|
||||||
|
cp -rfv ./home/.local/share/zsh/ ~/.local/share/zsh/
|
||||||
|
;;
|
||||||
|
fish)
|
||||||
|
cp -rfv ./home/.bashrc ~/.bashrc
|
||||||
|
cp -rfv ./home/.bash_profile ~/.bash_profile
|
||||||
|
cp -rfv ./home/.config/fish/ ~/.config/fish/
|
||||||
|
mkdir -pv ~/.config/fish/completions
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
exit ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo "
|
||||||
|
~~~ Installing ${server} specified config ~~~
|
||||||
|
"
|
||||||
|
case ${server} in
|
||||||
|
wayland)
|
||||||
|
cp -rfv ./home/.config/foot/ ~/.config/foot/
|
||||||
|
cp -rfv ./home/.config/hikari/ ~/.config/hikari/
|
||||||
|
cp -rfv ./home/.config/mako/ ~/.config/mako/
|
||||||
|
cp -rfv ./home/.config/nwg-launchers/ ~/.config/nwg-launchers/
|
||||||
|
cp -rfv ./home/.config/river/ ~/.config/river/
|
||||||
|
cp -rfv ./home/.config/sway/ ~/.config/sway/
|
||||||
|
cp -rfv ./home/.config/swaylock/ ~/.config/swaylock/
|
||||||
|
cp -rfv ./home/.config/waybar/ ~/.config/waybar/
|
||||||
|
cp -rfv ./home/.config/wofi/ ~/.config/wofi/
|
||||||
|
cp -rfv ./home/.config/imv/ ~/.config/imv/
|
||||||
|
cp -rfv ./home/.config/wayfire.ini ~/.config/wayfire.ini
|
||||||
|
;;
|
||||||
|
x11)
|
||||||
|
cp -rfv ./home/.config/bsp-layout/ ~/.config/bsp-layout/
|
||||||
|
cp -rfv ./home/.config/bspwm/ ~/.config/bspwm/
|
||||||
|
cp -rfv ./home/.config/dunst/ ~/.config/dunst/
|
||||||
|
cp -rfv ./home/.config/kitty/ ~/.config/kitty/
|
||||||
|
cp -rfv ./home/.config/polybar/ ~/.config/polybar/
|
||||||
|
cp -rfv ./home/.config/rofi/ ~/.config/rofi/
|
||||||
|
cp -rfv ./home/.config/spectrwm/ ~/.config/spectrwm/
|
||||||
|
cp -rfv ./home/.config/sxhkd/ ~/.config/sxhkd/
|
||||||
|
cp -rfv ./home/.config/X11/ ~/.config/X11/
|
||||||
|
cp -rfv ./home/.config/greenclip.cfg ~/.config/greenclip.cfg
|
||||||
|
cp -rfv ./home/.config/picom.conf ~/.config/picom.conf
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
exit ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo "
|
||||||
|
~~~ Installing standard config ~~~
|
||||||
|
"
|
||||||
|
# Assests
|
||||||
|
mkdir -pv ~/Pictures
|
||||||
|
cp -rfv ./home/Pictures/Animated/ ~/Pictures/Animated/
|
||||||
|
cp -rfv ./home/Pictures/Wallpapers/ ~/Pictures/Wallpapers/
|
||||||
|
cp -rfv ./home/.local/share/fonts/ ~/.local/share/fonts/
|
||||||
|
# Scripts
|
||||||
|
cp -rfv ./home/.local/bin/ ~/.local/bin/
|
||||||
|
# The bloated dotfiles itself
|
||||||
|
cp -rfv ./home/.config/alacritty/ ~/.config/alacritty/
|
||||||
|
cp -rfv ./home/.config/amfora/ ~/.config/amfora/
|
||||||
|
cp -rfv ./home/.config/bottom/ ~/.config/bottom/
|
||||||
|
cp -rfv ./home/.config/cava/ ~/.config/cava/
|
||||||
|
cp -rfv ./home/.config/cointop/ ~/.config/cointop/
|
||||||
|
cp -rfv ./home/.config/doom/ ~/.config/doom/
|
||||||
|
cp -rfv ./home/.config/gallery-dl/ ~/.config/gallery-dl/
|
||||||
|
cp -rfv ./home/.config/GIMP/ ~/.config/GIMP/
|
||||||
|
cp -rfv ./home/.config/git/ ~/.config/git/
|
||||||
|
cp -rfv ./home/.config/gtk-3.0/ ~/.config/gtk-3.0/
|
||||||
|
cp -rfv ./home/.config/mpd/ ~/.config/mpd/
|
||||||
|
cp -rfv ./home/.config/mpDris2/ ~/.config/mpDris2/
|
||||||
|
cp -rfv ./home/.config/ncmpcpp/ ~/.config/ncmpcpp/
|
||||||
|
cp -rfv ./home/.config/neofetch/ ~/.config/neofetch/
|
||||||
|
cp -rfv ./home/.config/newsboat/ ~/.config/newsboat/
|
||||||
|
cp -rfv ./home/.config/npm/ ~/.config/npm/
|
||||||
|
cp -rfv ./home/.config/nvim/ ~/.config/nvim/
|
||||||
|
cp -rfv ./home/.config/qutebrowser/ ~/.config/qutebrowser/
|
||||||
|
cp -rfv ./home/.config/ranger/ ~/.config/ranger/
|
||||||
|
cp -rfv ./home/.config/tmux/ ~/.config/tmux/
|
||||||
|
cp -rfv ./home/.config/translate-shell/ ~/.config/translate-shell/
|
||||||
|
cp -rfv ./home/.config/tridactyl/ ~/.config/tridactyl/
|
||||||
|
cp -rfv ./home/.config/vifm/ ~/.config/vifm/
|
||||||
|
cp -rfv ./home/.config/youtube-dl/ ~/.config/youtube-dl/
|
||||||
|
cp -rfv ./home/.config/zathura/ ~/.config/zathura/
|
||||||
|
cp -rfv ./home/.config/mimeapps.list ~/.config/mimeapps.list
|
||||||
|
cp -rfv ./home/.config/pulsemixer.cfg ~/.config/pulsemixer.cfg
|
||||||
|
cp -rfv ./home/.config/starship.toml ~/.config/starship.toml
|
||||||
|
|
||||||
|
echo "
|
||||||
|
~~~ Cloning submodules ~~~
|
||||||
|
"
|
||||||
|
[ -d ~/.config/emacs ] || git clone https://github.com/hlissner/doom-emacs ~/.config/emacs
|
||||||
|
[ -d ~/.config/tmux/plugins/tpm ] || git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm
|
||||||
|
[ -d ~/.config/ranger/plugins/ranger_devicons ] || git clone https://github.com/FollieHiyuki/ranger_devicons ~/.config/ranger/plugins/ranger_devicons
|
||||||
|
|
||||||
|
# Post deployment
|
||||||
|
mkdir -pv ~/.local/share/bash
|
||||||
|
mkdir -pv ~/.local/share/mpd/playlists
|
||||||
|
mkdir -pv ~/.local/share/gallery-dl
|
||||||
|
# tridactyl needs `tridactylrc` to exist
|
||||||
|
touch ~/.config/tridactyl/tridactylrc
|
||||||
|
|
||||||
|
mkdir -pv ~/.local/share/gnupg
|
||||||
|
chmod -v 700 ~/.local/share/gnupg
|
||||||
|
cp -rfv ./home/.local/share/gnupg/gpg-agent.conf ~/.local/share/gnupg/
|
||||||
|
chmod -v 600 ~/.local/share/gnupg/*
|
||||||
|
|
||||||
|
# chsh -s /usr/bin/${shell} ${USER}
|
||||||
|
|
||||||
|
echo "
|
||||||
|
~~~ Finished ~~~"
|
7
home/.bash_profile
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
[ -f $HOME/.bashrc ] && . $HOME/.bashrc
|
||||||
|
|
||||||
|
# if [[ "$(tty)" = "/dev/tty1" ]]; then
|
||||||
|
# exec startx $HOME/.config/X11/xinitrc
|
||||||
|
# fi
|
85
home/.bashrc
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# a minimal approach when bash is not a default shell
|
||||||
|
|
||||||
|
export BASH_COMPLETION_USER_DIR="$HOME/.local/share/bash"
|
||||||
|
export HISTFILE="$HOME/.local/share/bash/bash_history"
|
||||||
|
|
||||||
|
# ________ _______________
|
||||||
|
# __ ___/______ /__ /___(_)_____________ ________
|
||||||
|
# _____ \_ _ \ __/ __/_ /__ __ \_ __ `/_ ___/
|
||||||
|
# ____/ // __/ /_ / /_ _ / _ / / / /_/ /_(__ )
|
||||||
|
# /____/ \___/\__/ \__/ /_/ /_/ /_/_\__, / /____/
|
||||||
|
# /____/
|
||||||
|
# vi mode
|
||||||
|
set -o vi
|
||||||
|
|
||||||
|
# ignore upper and lowercase when TAB completion
|
||||||
|
bind "set completion-ignore-case on"
|
||||||
|
|
||||||
|
# Shell options
|
||||||
|
shopt -s autocd
|
||||||
|
shopt -s cdspell
|
||||||
|
shopt -s cmdhist
|
||||||
|
shopt -s dotglob
|
||||||
|
shopt -s checkwinsize
|
||||||
|
shopt -s expand_aliases
|
||||||
|
shopt -s histappend
|
||||||
|
|
||||||
|
# ________ _____
|
||||||
|
# ___ __ \___________________ _____________ /_
|
||||||
|
# __ /_/ /_ ___/ __ \_ __ `__ \__ __ \ __/
|
||||||
|
# _ ____/_ / / /_/ / / / / / /_ /_/ / /_
|
||||||
|
# /_/ /_/ \____//_/ /_/ /_/_ .___/\__/
|
||||||
|
# /_/
|
||||||
|
#
|
||||||
|
# get current branch in git repo
|
||||||
|
parse_git_branch() {
|
||||||
|
BRANCH=$(git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/')
|
||||||
|
if [ ! "${BRANCH}" = "" ]
|
||||||
|
then
|
||||||
|
STAT=$(parse_git_dirty)
|
||||||
|
echo "${BRANCH}${STAT}"
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# get current status of git repo
|
||||||
|
parse_git_dirty() {
|
||||||
|
status=$(git status 2>&1 | tee)
|
||||||
|
dirty=$(echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?")
|
||||||
|
untracked=$(echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?")
|
||||||
|
ahead=$(echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?")
|
||||||
|
newfile=$(echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?")
|
||||||
|
renamed=$(echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?")
|
||||||
|
deleted=$(echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?")
|
||||||
|
bits=''
|
||||||
|
if [ "${ahead}" = "0" ]; then
|
||||||
|
bits="*${bits}"
|
||||||
|
fi
|
||||||
|
if [ "${renamed}" = "0" ]; then
|
||||||
|
bits=">${bits}"
|
||||||
|
fi
|
||||||
|
if [ "${newfile}" = "0" ]; then
|
||||||
|
bits="+${bits}"
|
||||||
|
fi
|
||||||
|
if [ "${untracked}" = "0" ]; then
|
||||||
|
bits="?${bits}"
|
||||||
|
fi
|
||||||
|
if [ "${deleted}" = "0" ]; then
|
||||||
|
bits="x${bits}"
|
||||||
|
fi
|
||||||
|
if [ "${dirty}" = "0" ]; then
|
||||||
|
bits="!${bits}"
|
||||||
|
fi
|
||||||
|
if [ ! "${bits}" = "" ]; then
|
||||||
|
echo " ${bits}"
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Prompt
|
||||||
|
export PS1="\[$(tput bold)\]\[$(tput setaf 1)\]╭─[\[$(tput setaf 3)\]\u\[$(tput setaf 2)\]@\[$(tput setaf 4)\]\h \$(if [[ \$? == 0 ]]; then echo \"\[$(tput setaf 2)\]\342\234\223\"; else echo \"\[$(tput setaf 1)\]\342\234\227\"; fi)\[$(tput setaf 1)\]] \[$(tput setaf 5)\]\w \[$(tput setaf 2)\]\`parse_git_branch\`\n\[$(tput setaf 1)\]╰\[$(tput sgr0)\] "
|
||||||
|
export PS2="\[\e[1;31m\]> "
|
767
home/.bashrc-bloated
Normal file
@ -0,0 +1,767 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# __________
|
||||||
|
# ___ ____/_________ __
|
||||||
|
# __ __/ __ __ \_ | / /
|
||||||
|
# _ /___ _ / / /_ |/ /
|
||||||
|
# /_____/ /_/ /_/_____/
|
||||||
|
#
|
||||||
|
# XDG thingy
|
||||||
|
export XDG_CONFIG_HOME=$HOME/.config
|
||||||
|
export XDG_CACHE_HOME=$HOME/.cache
|
||||||
|
export XDG_DATA_HOME=$HOME/.local/share
|
||||||
|
export XDG_DATA_DIRS=$HOME/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
|
||||||
|
# alternate paths
|
||||||
|
export HISTFILE="$XDG_DATA_HOME/bash/bash_history"
|
||||||
|
export BASH_COMPLETION_USER_DIR="$XDG_DATA_HOME/bash"
|
||||||
|
export LESSHISTFILE=-
|
||||||
|
export MOST_INITFILE=$XDG_CONFIG_HOME/mostrc
|
||||||
|
export GTK2_RC_FILES=$XDG_CONFIG_HOME/gtk-2.0/gtkrc
|
||||||
|
export TERMINFO="$XDG_DATA_HOME/terminfo"
|
||||||
|
export TERMINFO_DIRS="$XDG_DATA_HOME/terminfo:/usr/share/terminfo"
|
||||||
|
export GOPATH=$XDG_DATA_HOME/go
|
||||||
|
export GRADLE_USER_HOME=$XDG_DATA_HOME/gradle
|
||||||
|
export _JAVA_OPTIONS=-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java
|
||||||
|
export NODE_REPL_HISTORY=$XDG_CACHE_HOME/node_repl_history
|
||||||
|
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc"
|
||||||
|
export NPM_CONFIG_PREFIX="$XDG_DATA_HOME/npm-global"
|
||||||
|
export CARGO_HOME=$XDG_DATA_HOME/cargo
|
||||||
|
export RUSTUP_HOME=$XDG_DATA_HOME/rustup
|
||||||
|
export BUNDLE_USER_CONFIG=$XDG_CONFIG_HOME/bundle
|
||||||
|
export BUNDLE_USER_CACHE=$XDG_CACHE_HOME/bundle
|
||||||
|
export BUNDLE_USER_PLUGIN=$XDG_DATA_HOME/bundle
|
||||||
|
export GEM_HOME=$XDG_DATA_HOME/gem
|
||||||
|
export GEM_SPEC_CACHE=$XDG_CACHE_HOME/gem
|
||||||
|
export DOCKER_CONFIG=$XDG_CONFIG_HOME/docker
|
||||||
|
export GNUPGHOME=$XDG_DATA_HOME/gnupg
|
||||||
|
export JUPYTER_CONFIG_DIR=$XDG_CONFIG_HOME/jupyter
|
||||||
|
export IPYTHONDIR=$XDG_CONFIG_HOME/ipython
|
||||||
|
export XAUTHORITY=$XDG_RUNTIME_DIR/Xauthority
|
||||||
|
export XINITRC=$XDG_CONFIG_HOME/X11/xinitrc
|
||||||
|
export XSERVERRC=$XDG_CONFIG_HOME/X11/xserverrc
|
||||||
|
|
||||||
|
# env
|
||||||
|
export PAGER=less
|
||||||
|
export VISUAL=nvim
|
||||||
|
export EDITOR=nvim
|
||||||
|
export SVDIR=$HOME/.local/share/service
|
||||||
|
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||||
|
export GPG_TTY="$(tty)"
|
||||||
|
# bat
|
||||||
|
export BAT_THEME="base16"
|
||||||
|
# pfetch
|
||||||
|
export PF_INFO="ascii title kernel wm shell uptime pkgs memory"
|
||||||
|
# fzf
|
||||||
|
export FZF_DEFAULT_OPTS="--multi --layout=reverse --inline-info
|
||||||
|
--color fg:#D8DEE9,bg:#2E3440,hl:#A3BE8C,fg+:#D8DEE9,bg+:#434C5E,hl+:#A3BE8C
|
||||||
|
--color pointer:#BF616A,info:#4C566A,spinner:#4C566A,header:#4C566A,prompt:#81A1C1,marker:#EBCB8B"
|
||||||
|
# export FZF_DEFAULT_OPTS="--multi --layout=reverse --inline-info
|
||||||
|
# --color dark
|
||||||
|
# --color fg:-1,bg:-1,hl:#c678dd,fg+:#ffffff,bg+:#4b5263,hl+:#d858fe
|
||||||
|
# --color info:#98c379,prompt:#61afef,pointer:#be5046,marker:#e5c07b,spinner:#61afef,header:#61afef"
|
||||||
|
export FZF_DEFAULT_COMMAND="fd --type f --follow --hidden --exclude .git"
|
||||||
|
export FZF_CTRL_T_OPTS="--no-height --preview-window 'left:60%' --preview '$HOME/.local/bin/garbage/preview {} 2>/dev/null'"
|
||||||
|
export FZF_CTRL_T_COMMAND="fd --follow --hidden --exclude .git"
|
||||||
|
export FZF_ALT_C_OPTS="--preview 'tree -La 1 -C --dirsfirst {} 2>/dev/null'"
|
||||||
|
export FZF_ALT_C_COMMAND="fd --type d --follow --hidden --exclude .git"
|
||||||
|
export FZF_TMUX=1
|
||||||
|
# ibus
|
||||||
|
export GTK_IM_MODULE=ibus
|
||||||
|
export XMODIFIERS=@im=ibus
|
||||||
|
export QT_IM_MODULE=ibus
|
||||||
|
# qt5ct
|
||||||
|
export QT_QPA_PLATFORMTHEME=qt5ct
|
||||||
|
export QT_PLATFORM_PLUGIN=qt5ct
|
||||||
|
# .NET
|
||||||
|
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||||
|
# z.lua
|
||||||
|
export _ZL_DATA="$HOME/.local/share/zlua/zlua"
|
||||||
|
export _ZL_HYPHEN=1
|
||||||
|
export _ZL_MATCH_MODE=1
|
||||||
|
export _ZL_FZF_FLAG="-e"
|
||||||
|
export _ZL_INT_SORT=1
|
||||||
|
export _ZL_ROOT_MARKERS=".git,.svn,.hg,.root,package.json,.projectile,.pro"
|
||||||
|
export RANGER_ZLUA="$HOME/.local/share/bash/z.lua"
|
||||||
|
# Basher
|
||||||
|
export BASHER_ROOT="$HOME/.local/share/bash/basher"
|
||||||
|
# nodenv
|
||||||
|
export NODENV_ROOT="$HOME/.local/share/nodenv"
|
||||||
|
# pyenv
|
||||||
|
export PYENV_ROOT="$HOME/.local/share/pyenv"
|
||||||
|
# poetry
|
||||||
|
export POETRY_HOME="$HOME/.local/share/poetry"
|
||||||
|
# nnn
|
||||||
|
if command -v nnn >/dev/null
|
||||||
|
then
|
||||||
|
export TERMINAL=alacritty # for the preview script
|
||||||
|
export NNN_PLUG='t:preview-tui;m:nmount;f:fzcd;c:chksum;n:nuke;z:fzz;b:bulknew;d:dups:h:hexview;o:organize;p:pdfview;s:suedit'
|
||||||
|
export NNN_FIFO="/tmp/nnn.fifo"
|
||||||
|
export NNN_ARCHIVE='\\.(7z|a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|rar|rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)$'
|
||||||
|
export NNN_OPENER="$XDG_CONFIG_HOME/nnn/plugins/nuke"
|
||||||
|
export USE_SCOPE=1
|
||||||
|
export NNN_COLORS='2345'
|
||||||
|
export NNN_FCOLORS='c1e2272e006033f7c6d6abc4'
|
||||||
|
export NNN_BMS="h:~;C:~/Code;D:~/Downloads;P:~/Pictures;V:~/Videos;A:~/Media;U:~/Music;f:~/.config;l:~/.local/share;e:/etc;u:/usr/share;o:/opt;b:/boot;m:/media;M:/mnt;i:/run/media/$USER;v:/var;t:/tmp;d:/dev;s:/srv;r:/;k:/bedrock/strata"
|
||||||
|
export NNN_SSHFS="sshfs -o reconnect,idmap=user,follow_symlinks"
|
||||||
|
fi
|
||||||
|
# lf
|
||||||
|
if command -v lf >/dev/null
|
||||||
|
then
|
||||||
|
export LF_ICONS="\
|
||||||
|
tw=:\
|
||||||
|
st=:\
|
||||||
|
ow=:\
|
||||||
|
dt=:\
|
||||||
|
di=:\
|
||||||
|
fi=:\
|
||||||
|
ln=:\
|
||||||
|
or=:\
|
||||||
|
ex=:\
|
||||||
|
*.7z=:\
|
||||||
|
*.a=:\
|
||||||
|
*.ace=:\
|
||||||
|
*.alz=:\
|
||||||
|
*.ai=:\
|
||||||
|
*.apk=:\
|
||||||
|
*.arc=:\
|
||||||
|
*.arj=:\
|
||||||
|
*.asm=:\
|
||||||
|
*.asp=:\
|
||||||
|
*.aup=:\
|
||||||
|
*.avi=:\
|
||||||
|
*.awk=:\
|
||||||
|
*.bash=:\
|
||||||
|
*.bat=:\
|
||||||
|
*.bmp=:\
|
||||||
|
*.bz=:\
|
||||||
|
*.bz2=:\
|
||||||
|
*.c=:\
|
||||||
|
*.c++=:\
|
||||||
|
*.cab=:\
|
||||||
|
*.cbr=:\
|
||||||
|
*.cbz=:\
|
||||||
|
*.cc=:\
|
||||||
|
*.class=:\
|
||||||
|
*.clj=:\
|
||||||
|
*.cljc=:\
|
||||||
|
*.cljs=:\
|
||||||
|
*.cmake=:\
|
||||||
|
*.cmd=:\
|
||||||
|
*.coffee=:\
|
||||||
|
*.conf=:\
|
||||||
|
*.cp=:\
|
||||||
|
*.cpio=:\
|
||||||
|
*.cpp=:\
|
||||||
|
*.cs=:\
|
||||||
|
*.csh=:\
|
||||||
|
*.css=:\
|
||||||
|
*.cue=:\
|
||||||
|
*.cvs=:\
|
||||||
|
*.cxx=:\
|
||||||
|
*.d=:\
|
||||||
|
*.dart=:\
|
||||||
|
*.db=:\
|
||||||
|
*.deb=:\
|
||||||
|
*.diff=:\
|
||||||
|
*.dll=:\
|
||||||
|
*.doc=:\
|
||||||
|
*.docx=:\
|
||||||
|
*.dump=:\
|
||||||
|
*.dwm=:\
|
||||||
|
*.dz=:\
|
||||||
|
*.edn=:\
|
||||||
|
*.eex=:\
|
||||||
|
*.efi=:\
|
||||||
|
*.ejs=:\
|
||||||
|
*.elf=:\
|
||||||
|
*.elm=:\
|
||||||
|
*.epub=:\
|
||||||
|
*.ear=:\
|
||||||
|
*.erl=:\
|
||||||
|
*.esd=:\
|
||||||
|
*.ex=:\
|
||||||
|
*.exe=:\
|
||||||
|
*.exs=:\
|
||||||
|
*.f#=:\
|
||||||
|
*.fifo=|:\
|
||||||
|
*.fish=:\
|
||||||
|
*.flac=:\
|
||||||
|
*.flv=:\
|
||||||
|
*.fs=:\
|
||||||
|
*.fsi=:\
|
||||||
|
*.fsscript=:\
|
||||||
|
*.fsx=:\
|
||||||
|
*.gem=:\
|
||||||
|
*.gemspec=:\
|
||||||
|
*.gif=:\
|
||||||
|
*.go=:\
|
||||||
|
*.gz=:\
|
||||||
|
*.gzip=:\
|
||||||
|
*.h=:\
|
||||||
|
*.haml=:\
|
||||||
|
*.hbs=:\
|
||||||
|
*.hh=:\
|
||||||
|
*.hpp=:\
|
||||||
|
*.hrl=:\
|
||||||
|
*.hs=:\
|
||||||
|
*.htaccess=:\
|
||||||
|
*.htm=:\
|
||||||
|
*.html=:\
|
||||||
|
*.htpasswd=:\
|
||||||
|
*.hxx=:\
|
||||||
|
*.ico=:\
|
||||||
|
*.img=:\
|
||||||
|
*.ini=:\
|
||||||
|
*.iso=:\
|
||||||
|
*.jar=:\
|
||||||
|
*.java=:\
|
||||||
|
*.jl=:\
|
||||||
|
*.jpeg=:\
|
||||||
|
*.jpg=:\
|
||||||
|
*.js=:\
|
||||||
|
*.json=:\
|
||||||
|
*.jsx=:\
|
||||||
|
*.key=:\
|
||||||
|
*.ksh=:\
|
||||||
|
*.leex=:\
|
||||||
|
*.less=:\
|
||||||
|
*.lha=:\
|
||||||
|
*.lhs=:\
|
||||||
|
*.log=:\
|
||||||
|
*.lrz=:\
|
||||||
|
*.lua=:\
|
||||||
|
*.lz=:\
|
||||||
|
*.lz4=:\
|
||||||
|
*.lzh=:\
|
||||||
|
*.lzma=:\
|
||||||
|
*.lzo=:\
|
||||||
|
*.m2v=:\
|
||||||
|
*.m4a=:\
|
||||||
|
*.m4v=:\
|
||||||
|
*.markdown=:\
|
||||||
|
*.md=:\
|
||||||
|
*.mdx=:\
|
||||||
|
*.mjpeg=:\
|
||||||
|
*.mjpg=:\
|
||||||
|
*.mjs=:\
|
||||||
|
*.mkv=:\
|
||||||
|
*.ml=λ:\
|
||||||
|
*.mli=λ:\
|
||||||
|
*.mng=:\
|
||||||
|
*.mov=:\
|
||||||
|
*.mp3=:\
|
||||||
|
*.mp4=:\
|
||||||
|
*.mp4v=:\
|
||||||
|
*.mpeg=:\
|
||||||
|
*.mpg=:\
|
||||||
|
*.msi=:\
|
||||||
|
*.mustache=:\
|
||||||
|
*.nix=:\
|
||||||
|
*.o=:\
|
||||||
|
*.odt=:\
|
||||||
|
*.ods=:\
|
||||||
|
*.odp=:\
|
||||||
|
*.ogg=:\
|
||||||
|
*.pdf=:\
|
||||||
|
*.php=:\
|
||||||
|
*.pl=:\
|
||||||
|
*.pm=:\
|
||||||
|
*.png=:\
|
||||||
|
*.pp=:\
|
||||||
|
*.ppt=:\
|
||||||
|
*.pptx=:\
|
||||||
|
*.pro=:\
|
||||||
|
*.ps1=:\
|
||||||
|
*.psb=:\
|
||||||
|
*.pub=:\
|
||||||
|
*.py=:\
|
||||||
|
*.pyc=:\
|
||||||
|
*.pyd=:\
|
||||||
|
*.pyo=:\
|
||||||
|
*.r=ﳒ:\
|
||||||
|
*.rake=:\
|
||||||
|
*.rar=:\
|
||||||
|
*.rb=:\
|
||||||
|
*.rc=:\
|
||||||
|
*.rlib=:\
|
||||||
|
*.rmd=:\
|
||||||
|
*.rom=:\
|
||||||
|
*.rpm=:\
|
||||||
|
*.rproj=鉶:\
|
||||||
|
*.rs=:\
|
||||||
|
*.rss=:\
|
||||||
|
*.rtf=:\
|
||||||
|
*.rz=:\
|
||||||
|
*.s=:\
|
||||||
|
*.sar=:\
|
||||||
|
*.sass=:\
|
||||||
|
*.scala=:\
|
||||||
|
*.scss=:\
|
||||||
|
*.sh=:\
|
||||||
|
*.slim=:\
|
||||||
|
*.sln=:\
|
||||||
|
*.so=:\
|
||||||
|
*.sql=:\
|
||||||
|
*.styl=:\
|
||||||
|
*.suo=:\
|
||||||
|
*.svg=:\
|
||||||
|
*.swift=:\
|
||||||
|
*.swm=:\
|
||||||
|
*.t=:\
|
||||||
|
*.t7z=:\
|
||||||
|
*.tar=:\
|
||||||
|
*.taz=:\
|
||||||
|
*.tbz=:\
|
||||||
|
*.tbz2=:\
|
||||||
|
*.tex=ﭨ:\
|
||||||
|
*.tgz=:\
|
||||||
|
*.tif=:\
|
||||||
|
*.tiff=:\
|
||||||
|
*.tlz=:\
|
||||||
|
*.toml=:\
|
||||||
|
*.ts=:\
|
||||||
|
*.tsx=:\
|
||||||
|
*.txz=:\
|
||||||
|
*.tz=:\
|
||||||
|
*.tzo=:\
|
||||||
|
*.tzst=:\
|
||||||
|
*.twig=:\
|
||||||
|
*.vifm=:\
|
||||||
|
*.vim=:\
|
||||||
|
*.vimrc=:\
|
||||||
|
*.vob=:\
|
||||||
|
*.vue=﵂:\
|
||||||
|
*.wav=:\
|
||||||
|
*.war=:\
|
||||||
|
*.webm=:\
|
||||||
|
*.webmanifest=:\
|
||||||
|
*.webp=:\
|
||||||
|
*.wim=:\
|
||||||
|
*.xbm=:\
|
||||||
|
*.xbps=:\
|
||||||
|
*.xcplayground=:\
|
||||||
|
*.xhtml=:\
|
||||||
|
*.xls=:\
|
||||||
|
*.xlsx=:\
|
||||||
|
*.xml=:\
|
||||||
|
*.xpm=:\
|
||||||
|
*.xul=:\
|
||||||
|
*.xz=:\
|
||||||
|
*.yaml=:\
|
||||||
|
*.yml=:\
|
||||||
|
*.z=:\
|
||||||
|
*.zip=:\
|
||||||
|
*.zoo=:\
|
||||||
|
*.zsh=:\
|
||||||
|
*.zip=:\
|
||||||
|
*.zst=:\
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# PATH
|
||||||
|
export PATH=$HOME/.local/bin:$HOME/.local/bin/fzf:$HOME/.local/share/bash/basher/bin:$NODENV_ROOT/bin:$PYENV_ROOT/bin:$POETRY_HOME/bin:$CARGO_HOME/bin:$NPM_CONFIG_PREFIX/bin:$PATH
|
||||||
|
|
||||||
|
# _________________
|
||||||
|
# ___ |__ /__(_)_____ ________
|
||||||
|
# __ /| |_ /__ /_ __ `/_ ___/
|
||||||
|
# _ ___ | / _ / / /_/ /_(__ )
|
||||||
|
# /_/ |_/_/ /_/ \__,_/ /____/
|
||||||
|
#
|
||||||
|
# remap
|
||||||
|
alias doas="doas --"
|
||||||
|
alias p="pulsemixer"
|
||||||
|
alias ls="exa -lF --icons --sort=type"
|
||||||
|
alias la="exa -laF --icons --sort=type"
|
||||||
|
alias lt="exa --tree"
|
||||||
|
alias cp="cp -vir"
|
||||||
|
alias mv="mv -vir"
|
||||||
|
alias rm="rm -vr"
|
||||||
|
alias mkdir="mkdir -pv"
|
||||||
|
alias no="grep -viP"
|
||||||
|
alias wttr="curl wttr.in"
|
||||||
|
alias myip="curl ipinfo.io/geo"
|
||||||
|
alias latest_pkg="expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort | tail -n 30"
|
||||||
|
alias yarn="yarn --use-yarnrc $XDG_CONFIG_HOME/yarn/config"
|
||||||
|
alias tmux="TERM=screen-256color tmux"
|
||||||
|
alias cat="bat --style plain --color=always"
|
||||||
|
alias startx="startx $HOME/.config/X11/xinitrc"
|
||||||
|
alias fehwpp="feh --no-fehbg --bg-fill --randomize ~/Pictures/Wallpapers/*"
|
||||||
|
# colorizing
|
||||||
|
alias grep="grep --color=auto"
|
||||||
|
alias fgrep="fgrep --color=auto"
|
||||||
|
alias egrep="egrep --color=auto"
|
||||||
|
alias diff="diff --color=auto"
|
||||||
|
alias ncdu="ncdu --color=dark"
|
||||||
|
alias ip="ip -color=always"
|
||||||
|
# vim
|
||||||
|
alias v="nvim"
|
||||||
|
alias vi='nvim -o "$(fzf)"'
|
||||||
|
# emacs
|
||||||
|
alias doom="$HOME/.config/emacs/bin/doom"
|
||||||
|
alias e="emacs -nw"
|
||||||
|
alias emacs="emacsclient -c -a 'emacs'"
|
||||||
|
# rsync
|
||||||
|
alias rsyncdir="rsync -uavP --delete-after"
|
||||||
|
alias rsyncfile="rsync -avP"
|
||||||
|
# youtube-dl
|
||||||
|
alias yoump3="youtube-dl --extract-audio --audio-format mp3 --embed-thumbnail"
|
||||||
|
alias youflac="youtube-dl --extract-audio --audio-format flac"
|
||||||
|
alias youbest="youtube-dl -f bestvideo+bestaudio"
|
||||||
|
alias youlist="youtube-dl -f bestvideo+bestaudio --yes-playlist"
|
||||||
|
# z.lua
|
||||||
|
alias zz='z -c' # restrict matches to subdirs of $PWD
|
||||||
|
alias zi='z -i' # cd with interactive selection
|
||||||
|
alias zf='z -I' # use fzf to select in multiple matches
|
||||||
|
alias zb='z -b' # quickly cd to the parent directory
|
||||||
|
# nnn
|
||||||
|
alias nnn="nnn -Hc"
|
||||||
|
alias ncp="cat ${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection} | tr '\0' '\n'"
|
||||||
|
|
||||||
|
# Lazy cd-ing
|
||||||
|
alias ..='cd ..'
|
||||||
|
alias ...='cd ../..'
|
||||||
|
alias ....='cd ../../..'
|
||||||
|
|
||||||
|
# colorize man pages
|
||||||
|
man() {
|
||||||
|
LESS_TERMCAP_mb=$'\e[01;31m' \
|
||||||
|
LESS_TERMCAP_md=$'\e[01;36m' \
|
||||||
|
LESS_TERMCAP_me=$'\e[0m' \
|
||||||
|
LESS_TERMCAP_se=$'\e[0m' \
|
||||||
|
LESS_TERMCAP_so=$'\e[01;44;33m' \
|
||||||
|
LESS_TERMCAP_ue=$'\e[0m' \
|
||||||
|
LESS_TERMCAP_us=$'\e[01;32m' \
|
||||||
|
command man $@
|
||||||
|
}
|
||||||
|
|
||||||
|
alias x=extract
|
||||||
|
extract() {
|
||||||
|
local remove_archive
|
||||||
|
local success
|
||||||
|
local extract_dir
|
||||||
|
|
||||||
|
if (( $# == 0 )); then
|
||||||
|
cat <<-'EOF' >&2
|
||||||
|
Usage: extract [-option] [file ...]
|
||||||
|
Options:
|
||||||
|
-r, --remove Remove archive after unpacking.
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
remove_archive=1
|
||||||
|
if [[ "$1" == "-r" ]] || [[ "$1" == "--remove" ]]; then
|
||||||
|
remove_archive=0
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
while (( $# > 0 )); do
|
||||||
|
if [[ ! -f "$1" ]]; then
|
||||||
|
echo "extract: '$1' is not a valid file" >&2
|
||||||
|
shift
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
success=0
|
||||||
|
extract_dir="${1:t:r}"
|
||||||
|
case "${1:l}" in
|
||||||
|
*.tar.gz|*.tgz) tar zxvf "$1" ;;
|
||||||
|
*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
|
||||||
|
*.tar.xz|*.txz)
|
||||||
|
tar --xz -xvf "$1" || xzcat "$1" | tar xvf - ;;
|
||||||
|
*.tar.zma|*.tlz)
|
||||||
|
tar --lzma -xvf "$1" || lzcat "$1" | tar xvf - ;;
|
||||||
|
*.tar.zst|*.tzst)
|
||||||
|
tar --zstd -xvf "$1" || zstdcat "$1" | tar xvf - ;;
|
||||||
|
*.tar) tar xvf "$1" ;;
|
||||||
|
*.tar.lz) tar xvf "$1" ;;
|
||||||
|
*.tar.lz4) lz4 -c -d "$1" | tar xvf - ;;
|
||||||
|
*.tar.lrz) lrzuntar "$1" ;;
|
||||||
|
*.gz) gunzip -k "$1" ;;
|
||||||
|
*.bz2) bunzip2 "$1" ;;
|
||||||
|
*.xz) unxz "$1" ;;
|
||||||
|
*.lrz) lrunzip "$1" ;;
|
||||||
|
*.lz4) lz4 -d "$1" ;;
|
||||||
|
*.lzma) unlzma "$1" ;;
|
||||||
|
*.z) uncompress "$1" ;;
|
||||||
|
*.zip|*.war|*.jar|*.sublime-package|*.ipa|*.ipsw|*.xpi|*.apk|*.aar|*.whl) unzip "$1" -d "$extract_dir" ;;
|
||||||
|
*.rar) unrar x -ad "$1" ;;
|
||||||
|
*.rpm) mkdir "$extract_dir" && cd "$extract_dir" && rpm2cpio "../$1" | cpio --quiet -id && cd .. ;;
|
||||||
|
*.7z) 7za x "$1" ;;
|
||||||
|
*.deb)
|
||||||
|
mkdir -p "$extract_dir/control"
|
||||||
|
mkdir -p "$extract_dir/data"
|
||||||
|
cd "$extract_dir"; ar vx "../${1}" > /dev/null
|
||||||
|
cd control; tar xzvf ../control.tar.gz
|
||||||
|
cd ../data; extract ../data.tar.*
|
||||||
|
cd ..; rm *.tar.* debian-binary
|
||||||
|
cd ..
|
||||||
|
;;
|
||||||
|
*.zst) unzstd "$1" ;;
|
||||||
|
*)
|
||||||
|
echo "extract: '$1' cannot be extracted" >&2
|
||||||
|
success=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
(( success = $success > 0 ? $success : $? ))
|
||||||
|
(( $success == 0 )) && (( $remove_archive == 0 )) && rm "$1"
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# update Basher
|
||||||
|
basher_update() {
|
||||||
|
pushd $HOME/.local/share/bash/basher >/dev/null || exit
|
||||||
|
git pull
|
||||||
|
echo -e "\e[01;34mFinished updating Basher\e[0m"
|
||||||
|
popd >/dev/null || exit
|
||||||
|
}
|
||||||
|
|
||||||
|
# upgrade Basher's packages
|
||||||
|
basherpacks_update() {
|
||||||
|
packages=$(basher list)
|
||||||
|
for pack in $packages
|
||||||
|
do
|
||||||
|
echo -e "\e[01;34mUpgrading $pack\e[0m"
|
||||||
|
basher upgrade "$pack" >/dev/null 2>&1
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# nnn with cd on quit
|
||||||
|
n ()
|
||||||
|
{
|
||||||
|
# Block nesting of nnn in subshells
|
||||||
|
if [[ -n $NNNLVL ]] && [ "${NNNLVL:-0}" -ge 1 ]; then
|
||||||
|
echo "nnn is already running"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# The default behaviour is to cd on quit (nnn checks if NNN_TMPFILE is set)
|
||||||
|
# To cd on quit only on ^G, remove the "export" as in:
|
||||||
|
# NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
|
||||||
|
# NOTE: NNN_TMPFILE is fixed, should not be modified
|
||||||
|
export NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
|
||||||
|
|
||||||
|
# Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
|
||||||
|
# stty start undef
|
||||||
|
# stty stop undef
|
||||||
|
# stty lwrap undef
|
||||||
|
# stty lnext undef
|
||||||
|
|
||||||
|
nnn "$@"
|
||||||
|
|
||||||
|
if [ -f "$NNN_TMPFILE" ]; then
|
||||||
|
. "$NNN_TMPFILE"
|
||||||
|
rm -f "$NNN_TMPFILE" > /dev/null
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# nnn in dual pane mode (tmux)
|
||||||
|
n2() {
|
||||||
|
tmux new-session -d -s nnn -n nnn "nnn -Hc"
|
||||||
|
tmux split-window -h "nnn -Hc"
|
||||||
|
TERM=screen-256color tmux attach -t nnn:nnn
|
||||||
|
}
|
||||||
|
|
||||||
|
# typing speed testing
|
||||||
|
tt() {
|
||||||
|
iconv -f UTF-8 -t ASCII "$1" | sed 's/--/-/g' \
|
||||||
|
| sed '/^$/d' | sed 's/^[ \t]*//' | sed 's/\(^.\{1,80\}\).*/\1/' \
|
||||||
|
> /tmp/tt.txt
|
||||||
|
command tt /tmp/tt.txt
|
||||||
|
}
|
||||||
|
|
||||||
|
# ________ ______
|
||||||
|
# ___ __ )_____ __________ /______________
|
||||||
|
# __ __ | __ `/_ ___/_ __ \ _ \_ ___/
|
||||||
|
# _ /_/ // /_/ /_(__ )_ / / / __/ /
|
||||||
|
# /_____/ \__,_/ /____/ /_/ /_/\___//_/
|
||||||
|
#
|
||||||
|
# Install Basher if missing
|
||||||
|
if [[ ! -d $HOME/.local/share/bash/basher ]]; then
|
||||||
|
git clone https://github.com/basherpm/basher.git $HOME/.local/share/bash/basher
|
||||||
|
fi
|
||||||
|
eval "$(basher init - bash)"
|
||||||
|
# Plugins
|
||||||
|
# [[ -d $HOME/.local/share/bash/basher/cellar/packages/kazhala/dotbare ]] || basher install kazhala/dotbare
|
||||||
|
[[ -d $HOME/.local/share/bash/basher/cellar/packages/wfxr/forgit ]] || basher install wfxr/forgit
|
||||||
|
[[ -d $HOME/.local/share/bash/basher/cellar/packages/holman/spark ]] || basher install holman/spark
|
||||||
|
[[ -d $HOME/.local/share/bash/basher/cellar/packages/unixorn/git-extra-commands ]] || basher install unixorn/git-extra-commands
|
||||||
|
|
||||||
|
# Plugins' init
|
||||||
|
# include kazhala/dotbare dotbare.plugin.bash && _dotbare_completion_cmd
|
||||||
|
include wfxr/forgit forgit.plugin.sh
|
||||||
|
|
||||||
|
# ________ _______________
|
||||||
|
# __ ___/______ /__ /___(_)_____________ ________
|
||||||
|
# _____ \_ _ \ __/ __/_ /__ __ \_ __ `/_ ___/
|
||||||
|
# ____/ // __/ /_ / /_ _ / _ / / / /_/ /_(__ )
|
||||||
|
# /____/ \___/\__/ \__/ /_/ /_/ /_/_\__, / /____/
|
||||||
|
# /____/
|
||||||
|
#
|
||||||
|
mkdir -p "$BASH_COMPLETION_USER_DIR/completions"
|
||||||
|
|
||||||
|
# github cli completion
|
||||||
|
if command -v gh >/dev/null && [ ! -f "$BASH_COMPLETION_USER_DIR/completions/gh" ]; then
|
||||||
|
gh completion -s bash > "$BASH_COMPLETION_USER_DIR/completions/gh"
|
||||||
|
fi
|
||||||
|
# kitten from kitty
|
||||||
|
if command -v kitty > /dev/null; then
|
||||||
|
source <(kitty + complete setup bash)
|
||||||
|
fi
|
||||||
|
# Starship prompt
|
||||||
|
if command -v starship > /dev/null; then
|
||||||
|
eval "$(starship init bash --print-full-init)"
|
||||||
|
fi
|
||||||
|
# direnv
|
||||||
|
if command -v direnv >/dev/null ; then
|
||||||
|
eval "$(direnv hook bash)"
|
||||||
|
fi
|
||||||
|
# poetry
|
||||||
|
# if [ ! -d "$POETRY_HOME" ]; then
|
||||||
|
# curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
|
||||||
|
# fi
|
||||||
|
# if [[ ! -f $BASH_COMPLETION_USER_DIR/completions/poetry ]]; then
|
||||||
|
# poetry completions bash > "$BASH_COMPLETION_USER_DIR/completions/poetry"
|
||||||
|
# fi
|
||||||
|
# pyenv
|
||||||
|
# if [[ ! -d $PYENV_ROOT ]]; then
|
||||||
|
# git clone https://github.com/pyenv/pyenv.git $PYENV_ROOT
|
||||||
|
# git clone https://github.com/pyenv/pyenv-virtualenv.git $PYENV_ROOT/plugins/pyenv-virtualenv
|
||||||
|
# git clone https://github.com/pyenv/pyenv-update.git $PYENV_ROOT/plugins/pyenv-update
|
||||||
|
# fi
|
||||||
|
# eval "$(pyenv init -)"
|
||||||
|
# eval "$(pyenv virtualenv-init -)"
|
||||||
|
# nodenv
|
||||||
|
# if [[ ! -d $NODENV_ROOT ]]; then
|
||||||
|
# git clone https://github.com/nodenv/nodenv.git $NODENV_ROOT
|
||||||
|
# mkdir -p $NODENV_ROOT/plugins
|
||||||
|
# git clone https://github.com/nodenv/node-build.git $NODENV_ROOT/plugins/node-build
|
||||||
|
# git clone https://github.com/nodenv/nodenv-env.git $NODENV_ROOT/plugins/nodenv-env
|
||||||
|
# git clone https://github.com/nodenv/nodenv-man.git $NODENV_ROOT/plugins/nodenv-man
|
||||||
|
# git clone https://github.com/nodenv/nodenv-aliases.git $NODENV_ROOT/plugins/nodenv-aliases
|
||||||
|
# git clone https://github.com/nodenv/nodenv-each.git $NODENV_ROOT/plugins/nodenv-each
|
||||||
|
# git clone https://github.com/nodenv/nodenv-update.git $NODENV_ROOT/plugins/nodenv-update
|
||||||
|
# git clone https://github.com/nodenv/nodenv-vars.git $NODENV_ROOT/plugins/nodenv-vars
|
||||||
|
# fi
|
||||||
|
# eval "$(nodenv init -)"
|
||||||
|
# z.lua
|
||||||
|
if [[ ! -f "$HOME/.local/share/bash/z.lua" ]]; then
|
||||||
|
curl -sfLo $HOME/.local/share/bash/z.lua https://raw.githubusercontent.com/skywind3000/z.lua/master/z.lua
|
||||||
|
mkdir -p $HOME/.local/share/zlua
|
||||||
|
fi
|
||||||
|
eval "$(lua $HOME/.local/share/bash/z.lua --init bash fzf)"
|
||||||
|
# autostart gpg-agent at login
|
||||||
|
if ! pgrep -u "$USER" gpg-agent >/dev/null; then
|
||||||
|
gpg-agent --daemon --enable-ssh-support >/dev/null
|
||||||
|
fi
|
||||||
|
if [[ -z "$SSH_AUTH_SOCK" ]]; then
|
||||||
|
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
|
||||||
|
fi
|
||||||
|
gpg-connect-agent updatestartuptty /bye >/dev/null
|
||||||
|
|
||||||
|
# vi mode
|
||||||
|
set -o vi
|
||||||
|
bind 'set show-mode-in-prompt on'
|
||||||
|
bind 'set vi-cmd-mode-string "\e[01;32mN "'
|
||||||
|
bind 'set vi-ins-mode-string "\e[01;32mI "'
|
||||||
|
|
||||||
|
# ignore upper and lowercase when TAB completion
|
||||||
|
bind "set completion-ignore-case on"
|
||||||
|
|
||||||
|
# Shell options
|
||||||
|
shopt -s autocd
|
||||||
|
shopt -s cdspell
|
||||||
|
shopt -s cmdhist
|
||||||
|
shopt -s dotglob
|
||||||
|
shopt -s checkwinsize
|
||||||
|
shopt -s expand_aliases
|
||||||
|
shopt -s histappend
|
||||||
|
|
||||||
|
# this is overkilled but it works conveniently
|
||||||
|
[[ -d $HOME/.local/share/bash/basher/cellar/packages/junegunn/fzf ]] || basher install junegunn/fzf
|
||||||
|
include junegunn/fzf shell/key-bindings.bash
|
||||||
|
include junegunn/fzf shell/completion.bash
|
||||||
|
export FZF_COMPLETION_OPTS='-x'
|
||||||
|
|
||||||
|
# Use fd instead of find for fzf_completion
|
||||||
|
_fzf_compgen_path() {
|
||||||
|
fd --hidden --follow --exclude ".git" . "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
_fzf_compgen_dir() {
|
||||||
|
fd --type d --hidden --follow --exclude ".git" . "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Some more completions with fzf
|
||||||
|
_fzf_setup_completion path ag kubectl
|
||||||
|
_fzf_setup_completion dir tree
|
||||||
|
|
||||||
|
# ^X^R
|
||||||
|
bind "$(bind -s | grep '^"\\C-r"' | sed 's/"/"\\C-x/' | sed 's/"$/\\C-m"/')"
|
||||||
|
|
||||||
|
# ________ _____
|
||||||
|
# ___ __ \___________________ _____________ /_
|
||||||
|
# __ /_/ /_ ___/ __ \_ __ `__ \__ __ \ __/
|
||||||
|
# _ ____/_ / / /_/ / / / / / /_ /_/ / /_
|
||||||
|
# /_/ /_/ \____//_/ /_/ /_/_ .___/\__/
|
||||||
|
# /_/
|
||||||
|
#
|
||||||
|
# get current branch in git repo
|
||||||
|
parse_git_branch() {
|
||||||
|
BRANCH=$(git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/')
|
||||||
|
if [ ! "${BRANCH}" = "" ]
|
||||||
|
then
|
||||||
|
STAT=$(parse_git_dirty)
|
||||||
|
echo "${BRANCH}${STAT}"
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# get current status of git repo
|
||||||
|
parse_git_dirty() {
|
||||||
|
status=$(git status 2>&1 | tee)
|
||||||
|
dirty=$(echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?")
|
||||||
|
untracked=$(echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?")
|
||||||
|
ahead=$(echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?")
|
||||||
|
newfile=$(echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?")
|
||||||
|
renamed=$(echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?")
|
||||||
|
deleted=$(echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?")
|
||||||
|
bits=''
|
||||||
|
if [ "${ahead}" = "0" ]; then
|
||||||
|
bits="*${bits}"
|
||||||
|
fi
|
||||||
|
if [ "${renamed}" = "0" ]; then
|
||||||
|
bits=">${bits}"
|
||||||
|
fi
|
||||||
|
if [ "${newfile}" = "0" ]; then
|
||||||
|
bits="+${bits}"
|
||||||
|
fi
|
||||||
|
if [ "${untracked}" = "0" ]; then
|
||||||
|
bits="?${bits}"
|
||||||
|
fi
|
||||||
|
if [ "${deleted}" = "0" ]; then
|
||||||
|
bits="x${bits}"
|
||||||
|
fi
|
||||||
|
if [ "${dirty}" = "0" ]; then
|
||||||
|
bits="!${bits}"
|
||||||
|
fi
|
||||||
|
if [ ! "${bits}" = "" ]; then
|
||||||
|
echo " ${bits}"
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Prompt
|
||||||
|
export PS1="\[$(tput bold)\]\[$(tput setaf 1)\]╭─[\[$(tput setaf 3)\]\u\[$(tput setaf 2)\]@\[$(tput setaf 4)\]\h \$(if [[ \$? == 0 ]]; then echo \"\[$(tput setaf 2)\]\342\234\223\"; else echo \"\[$(tput setaf 1)\]\342\234\227\"; fi)\[$(tput setaf 1)\]] \[$(tput setaf 5)\]\w \[$(tput setaf 2)\]\`parse_git_branch\`\n\[$(tput setaf 1)\]╰\[$(tput sgr0)\] "
|
||||||
|
export PS2="\[\e[1;31m\]> "
|
||||||
|
|
||||||
|
# _________ __________
|
||||||
|
# __ ____/__________________ /___(_)_____________ _
|
||||||
|
# _ / __ __ ___/ _ \ _ \ __/_ /__ __ \_ __ `/
|
||||||
|
# / /_/ / _ / / __/ __/ /_ _ / _ / / / /_/ /
|
||||||
|
# \____/ /_/ \___/\___/\__/ /_/ /_/ /_/_\__, /
|
||||||
|
# /____/
|
||||||
|
$HOME/.local/bin/bunny
|
BIN
home/.config/GIMP/2.10/splashes/splash.png
Normal file
After Width: | Height: | Size: 6.3 MiB |
118
home/.config/X11/Xresources
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
! general
|
||||||
|
Xft.dpi: 96
|
||||||
|
Xft.autohint: 1
|
||||||
|
Xft.lcdfilter: lcddefault
|
||||||
|
Xft.hintstyle: hintslight
|
||||||
|
Xft.hinting: 1
|
||||||
|
Xft.antialias: 1
|
||||||
|
Xft.rgba: rgb
|
||||||
|
|
||||||
|
! --- Nord --- !
|
||||||
|
*.foreground: #d8dee9
|
||||||
|
*.background: #2e3440
|
||||||
|
*.cursorColor: #d8dee9
|
||||||
|
*.color0: #3b4252
|
||||||
|
*.color8: #4c566a
|
||||||
|
*.color1: #bf616a
|
||||||
|
*.color9: #bf616a
|
||||||
|
*.color2: #a3be8c
|
||||||
|
*.color10: #a3be8c
|
||||||
|
*.color3: #ebcb8b
|
||||||
|
*.color11: #ebcb8b
|
||||||
|
*.color4: #81a1c1
|
||||||
|
*.color12: #81a1c1
|
||||||
|
*.color5: #b48ead
|
||||||
|
*.color13: #b48ead
|
||||||
|
*.color6: #88c0d0
|
||||||
|
*.color14: #8fbcbb
|
||||||
|
*.color7: #e5e9f0
|
||||||
|
*.color15: #eceff4
|
||||||
|
! -- OneDark -- !
|
||||||
|
! *.foreground: #abb2bf
|
||||||
|
! *.background: #282c34
|
||||||
|
! *.cursorColor: #bbc2cf
|
||||||
|
! *.color0: #282c34
|
||||||
|
! *.color8: #3e4452
|
||||||
|
! *.color1: #be5046
|
||||||
|
! *.color9: #e06c75
|
||||||
|
! *.color2: #98c379
|
||||||
|
! *.color10: #98c379
|
||||||
|
! *.color3: #d19a66
|
||||||
|
! *.color11: #e5c07b
|
||||||
|
! *.color4: #61afef
|
||||||
|
! *.color12: #61afef
|
||||||
|
! *.color5: #c678dd
|
||||||
|
! *.color13: #c678dd
|
||||||
|
! *.color6: #56b6c2
|
||||||
|
! *.color14: #56b6c2
|
||||||
|
! *.color7: #abb2bf
|
||||||
|
! *.color15: #bbc2cf
|
||||||
|
|
||||||
|
! _____ _________ _____
|
||||||
|
! __ / / /__ __ \___ ____ ___ /_
|
||||||
|
! _ / / /__ /_/ /_ |/_/_ | / / __/
|
||||||
|
! / /_/ / _ _, _/__> < __ |/ // /_
|
||||||
|
! \____/ /_/ |_| /_/|_| _____/ \__/
|
||||||
|
|
||||||
|
! font
|
||||||
|
URxvt.font: xft:Iosevka Nerd Font:size=12
|
||||||
|
URxvt.boldFont: xft:Iosevka Nerd Font:style=Bold:size=12
|
||||||
|
URxvt.italicFont: xft:Iosevka Nerd Font:style=Italic:size=12
|
||||||
|
URxvt.boldItalicFont: xft:Iosevka Nerd Font:style=Bold Italic:size=12
|
||||||
|
! spacing
|
||||||
|
URxvt.letterSpace: -1
|
||||||
|
URxvt.lineSpace: 0
|
||||||
|
! do not scroll with output
|
||||||
|
URxvt*scrollTtyOutput: false
|
||||||
|
! scroll in relation to buffer (with mouse scroll or Shift+Page Up)
|
||||||
|
URxvt*scrollWithBuffer: true
|
||||||
|
! scroll back to the bottom on keypress
|
||||||
|
URxvt*scrollTtyKeypress: true
|
||||||
|
! no scrollbar
|
||||||
|
URxvt.scrollBar: false
|
||||||
|
URxvt.scrollBar_right: false
|
||||||
|
URxvt.scrollBar_floating: false
|
||||||
|
URxvt.scrollstyle: rxvt
|
||||||
|
! no scrollback buffer in secondary screen
|
||||||
|
URxvt.secondaryScreen: 1
|
||||||
|
URxvt.secondaryScroll: 0
|
||||||
|
! no output when pressing Print
|
||||||
|
URxvt.print-pipe: "cat > /dev/null"
|
||||||
|
! ring
|
||||||
|
URxvt.urgentOnBell: false
|
||||||
|
! transparency
|
||||||
|
URxvt.depth: 32
|
||||||
|
! ibus
|
||||||
|
URxvt.inputMethod: ibus
|
||||||
|
URxvt.preeditType: OverTheSpot
|
||||||
|
|
||||||
|
! perl extensions
|
||||||
|
URxvt.perl-ext-common:default,matcher,tabbed,clipboard,resize-font
|
||||||
|
|
||||||
|
! urls
|
||||||
|
URxvt.url-launcher: /usr/bin/firefox
|
||||||
|
URxvt.matcher.button: 1
|
||||||
|
URxvt.matcher.rend.0: Uline Bold fg3
|
||||||
|
URxvt.underlineURLs: true
|
||||||
|
URxvt.keysym.C-Delete: perl:matcher:last
|
||||||
|
URxvt.keysym.M-Delete: perl:matcher:list
|
||||||
|
|
||||||
|
! tabs
|
||||||
|
URxvt.tabbed.tabbar-fg: 4
|
||||||
|
URxvt.tabbed.tabbar-bg: 0
|
||||||
|
URxvt.tabbed.tab-fg: 0
|
||||||
|
URxvt.tabbed.tab-bg: 4
|
||||||
|
|
||||||
|
! let Ctrl+Shift work
|
||||||
|
URxvt.iso14755: false
|
||||||
|
URxvt.iso14755_52: false
|
||||||
|
! clipboard
|
||||||
|
URxvt.clipboard.autocopy: false
|
||||||
|
URxvt.keysym.C-Shift-C: perl:clipboard:copy
|
||||||
|
URxvt.keysym.C-Shift-V: perl:clipboard:paste
|
||||||
|
URxvt.keysym.C-M-v: perl:clipboard:paste_escaped
|
||||||
|
|
||||||
|
! resize-font
|
||||||
|
URxvt.keysym.C-minus:resize-font:smaller
|
||||||
|
URxvt.keysym.C-equal:resize-font:bigger
|
||||||
|
URxvt.keysym.C-0:resize-font:reset
|
57
home/.config/X11/xinitrc
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
userresources=$HOME/.config/X11/Xresources
|
||||||
|
usermodmap=$HOME/.config/X11/Xmodmap
|
||||||
|
sysresources=/etc/X11/xinit/.Xresources
|
||||||
|
sysmodmap=/etc/X11/xinit/.Xmodmap
|
||||||
|
|
||||||
|
# merge in defaults and keymaps
|
||||||
|
if [ -f $sysresources ]; then
|
||||||
|
xrdb -merge $sysresources
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f $sysmodmap ]; then
|
||||||
|
xmodmap $sysmodmap
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$userresources" ]; then
|
||||||
|
xrdb -merge "$userresources"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$usermodmap" ]; then
|
||||||
|
xmodmap "$usermodmap"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# start some nice programs
|
||||||
|
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
|
||||||
|
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
|
||||||
|
[ -x "$f" ] && . "$f"
|
||||||
|
done
|
||||||
|
unset f
|
||||||
|
fi
|
||||||
|
|
||||||
|
pipewire &
|
||||||
|
if ! pgrep -f mpd > /dev/null ;
|
||||||
|
then
|
||||||
|
mpd &
|
||||||
|
fi
|
||||||
|
dunst &
|
||||||
|
greenclip daemon &
|
||||||
|
ibus-daemon -drx &
|
||||||
|
emacs --daemon &
|
||||||
|
picom -b &
|
||||||
|
# xrandr --output eDP-1 --primary --auto --output DP-2 --left-of eDP-1 --auto --output HDMI-2 --right-of eDP-1 --auto &
|
||||||
|
# $HOME/.local/bin/garbage/off_touch &
|
||||||
|
# animatedwall --full ~/Pictures/Animated/fubuki.mp4 &
|
||||||
|
feh --no-fehbg --bg-fill --randomize ~/Pictures/Wallpapers/* &
|
||||||
|
|
||||||
|
export XDG_SESSION_TYPE=x11
|
||||||
|
export PATH=$HOME/.local/bin/X11:$PATH
|
||||||
|
|
||||||
|
session=${1:-spectrwm}
|
||||||
|
|
||||||
|
case $session in
|
||||||
|
bspwm ) exec bspwm ;;
|
||||||
|
spectrwm ) exec spectrwm -c ~/.config/spectrwm/spectrwm-nord.conf ;;
|
||||||
|
* ) exec "$1" ;;
|
||||||
|
esac
|
408
home/.config/alacritty/alacritty.yml
Normal file
@ -0,0 +1,408 @@
|
|||||||
|
# Configuration for Alacritty, the GPU enhanced terminal emulator.
|
||||||
|
|
||||||
|
env:
|
||||||
|
TERM: alacritty
|
||||||
|
|
||||||
|
window:
|
||||||
|
padding:
|
||||||
|
x: 2
|
||||||
|
y: 2
|
||||||
|
|
||||||
|
dynamic_padding: false
|
||||||
|
|
||||||
|
decorations: none
|
||||||
|
|
||||||
|
title: Alacritty
|
||||||
|
|
||||||
|
class:
|
||||||
|
instance: Alacritty
|
||||||
|
general: Alacritty
|
||||||
|
|
||||||
|
gtk_theme_variant: dark
|
||||||
|
|
||||||
|
dynamic_title: true
|
||||||
|
|
||||||
|
scrolling:
|
||||||
|
history: 50000
|
||||||
|
|
||||||
|
multiplier: 5
|
||||||
|
|
||||||
|
font:
|
||||||
|
normal:
|
||||||
|
family: Iosevka Nerd Font
|
||||||
|
style: Regular
|
||||||
|
|
||||||
|
bold:
|
||||||
|
family: Iosevka Nerd Font
|
||||||
|
style: Bold
|
||||||
|
|
||||||
|
italic:
|
||||||
|
family: Iosevka Nerd Font
|
||||||
|
style: Italic
|
||||||
|
|
||||||
|
bold_italic:
|
||||||
|
family: Iosevka Nerd Font
|
||||||
|
style: Bold Italic
|
||||||
|
|
||||||
|
size: 12
|
||||||
|
|
||||||
|
offset:
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
|
||||||
|
glyph_offset:
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
|
||||||
|
draw_bold_text_with_bright_colors: false
|
||||||
|
|
||||||
|
colors:
|
||||||
|
|
||||||
|
# --- Nord --- #
|
||||||
|
primary:
|
||||||
|
background: '#2e3440'
|
||||||
|
foreground: '#d8dee9'
|
||||||
|
|
||||||
|
cursor:
|
||||||
|
text: '#2e3440'
|
||||||
|
cursor: '#d8dee9'
|
||||||
|
|
||||||
|
selection:
|
||||||
|
text: '#2e3440'
|
||||||
|
background: '#d8dee9'
|
||||||
|
|
||||||
|
normal:
|
||||||
|
black: '#3b4252'
|
||||||
|
red: '#bf616a'
|
||||||
|
green: '#a3be8c'
|
||||||
|
yellow: '#ebcb8b'
|
||||||
|
blue: '#81a1c1'
|
||||||
|
magenta: '#b48ead'
|
||||||
|
cyan: '#88c0d0'
|
||||||
|
white: '#e5e9f0'
|
||||||
|
|
||||||
|
bright:
|
||||||
|
black: '#4c566a'
|
||||||
|
red: '#bf616a'
|
||||||
|
green: '#a3be8c'
|
||||||
|
yellow: '#ebcb8b'
|
||||||
|
blue: '#81a1c1'
|
||||||
|
magenta: '#b48ead'
|
||||||
|
cyan: '#8fbcbb'
|
||||||
|
white: '#eceff4'
|
||||||
|
|
||||||
|
# -- OneDark -- #
|
||||||
|
# primary:
|
||||||
|
# background: '#282c34'
|
||||||
|
# foreground: '#abb2bf'
|
||||||
|
|
||||||
|
# cursor:
|
||||||
|
# text: '#282c34'
|
||||||
|
# cursor: '#bbc2cf'
|
||||||
|
|
||||||
|
# selection:
|
||||||
|
# text: '#282c34'
|
||||||
|
# background: '#abb2bf'
|
||||||
|
|
||||||
|
# normal:
|
||||||
|
# black: '#282c34'
|
||||||
|
# red: '#be5046'
|
||||||
|
# green: '#98c379'
|
||||||
|
# yellow: '#d19a66'
|
||||||
|
# blue: '#61afef'
|
||||||
|
# magenta: '#c678dd'
|
||||||
|
# cyan: '#56b6c2'
|
||||||
|
# white: '#abb2bf'
|
||||||
|
|
||||||
|
# bright:
|
||||||
|
# black: '#3e4452'
|
||||||
|
# red: '#e06c75'
|
||||||
|
# green: '#98c379'
|
||||||
|
# yellow: '#e5c07b'
|
||||||
|
# blue: '#61afef'
|
||||||
|
# magenta: '#c678dd'
|
||||||
|
# cyan: '#56b6c2'
|
||||||
|
# white: '#bbc2cf'
|
||||||
|
|
||||||
|
background_opacity: 1.0
|
||||||
|
|
||||||
|
selection:
|
||||||
|
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||||
|
|
||||||
|
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||||
|
save_to_clipboard: false
|
||||||
|
|
||||||
|
cursor:
|
||||||
|
# Cursor style
|
||||||
|
#
|
||||||
|
# Values for `style`:
|
||||||
|
# - ▇ Block
|
||||||
|
# - _ Underline
|
||||||
|
# - | Beam
|
||||||
|
style: Block
|
||||||
|
#vi_mode_style: None
|
||||||
|
|
||||||
|
# If this is `true`, the cursor will be rendered as a hollow box when the
|
||||||
|
# window is not focused.
|
||||||
|
unfocused_hollow: true
|
||||||
|
|
||||||
|
# Live config reload (changes require restart)
|
||||||
|
live_config_reload: false
|
||||||
|
|
||||||
|
#shell:
|
||||||
|
# program: /bin/bash
|
||||||
|
# args:
|
||||||
|
# - --login
|
||||||
|
|
||||||
|
# Startup directory
|
||||||
|
#
|
||||||
|
# Directory the shell is started in. If this is unset, or `None`, the working
|
||||||
|
# directory of the parent process will be used.
|
||||||
|
working_directory: None
|
||||||
|
|
||||||
|
# Send ESC (\x1b) before characters when alt is pressed.
|
||||||
|
#alt_send_esc: true
|
||||||
|
|
||||||
|
mouse:
|
||||||
|
# Click settings
|
||||||
|
#
|
||||||
|
# The `double_click` and `triple_click` settings control the time
|
||||||
|
# alacritty should wait for accepting multiple clicks as one double
|
||||||
|
# or triple click.
|
||||||
|
double_click: { threshold: 300 }
|
||||||
|
triple_click: { threshold: 300 }
|
||||||
|
|
||||||
|
# If this is `true`, the cursor is temporarily hidden when typing.
|
||||||
|
hide_when_typing: true
|
||||||
|
|
||||||
|
url:
|
||||||
|
# URL launcher
|
||||||
|
#
|
||||||
|
# This program is executed when clicking on a text which is recognized as a URL.
|
||||||
|
# The URL is always added to the command as the last parameter.
|
||||||
|
#
|
||||||
|
# When set to `None`, URL launching will be disabled completely.
|
||||||
|
#
|
||||||
|
# Default:
|
||||||
|
# - (macOS) open
|
||||||
|
# - (Linux/BSD) xdg-open
|
||||||
|
# - (Windows) explorer
|
||||||
|
launcher:
|
||||||
|
program: xdg-open
|
||||||
|
args: []
|
||||||
|
|
||||||
|
# URL modifiers
|
||||||
|
#
|
||||||
|
# These are the modifiers that need to be held down for opening URLs when clicking
|
||||||
|
# on them. The available modifiers are documented in the key binding section.
|
||||||
|
modifiers: None
|
||||||
|
|
||||||
|
# Mouse bindings
|
||||||
|
#
|
||||||
|
# Mouse bindings are specified as a list of objects, much like the key
|
||||||
|
# bindings further below.
|
||||||
|
#
|
||||||
|
# To trigger mouse bindings when an application running within Alacritty captures the mouse, the
|
||||||
|
# `Shift` modifier is automatically added as a requirement.
|
||||||
|
#
|
||||||
|
# Each mouse binding will specify a:
|
||||||
|
#
|
||||||
|
# - `mouse`:
|
||||||
|
#
|
||||||
|
# - Middle
|
||||||
|
# - Left
|
||||||
|
# - Right
|
||||||
|
# - Numeric identifier such as `5`
|
||||||
|
#
|
||||||
|
# - `action` (see key bindings)
|
||||||
|
#
|
||||||
|
# And optionally:
|
||||||
|
#
|
||||||
|
# - `mods` (see key bindings)
|
||||||
|
mouse_bindings:
|
||||||
|
- { mouse: Middle, action: PasteSelection }
|
||||||
|
|
||||||
|
# Key bindings
|
||||||
|
#
|
||||||
|
# Key bindings are specified as a list of objects. For example, this is the
|
||||||
|
# default paste binding:
|
||||||
|
#
|
||||||
|
# `- { key: V, mods: Control|Shift, action: Paste }`
|
||||||
|
#
|
||||||
|
# Each key binding will specify a:
|
||||||
|
#
|
||||||
|
# - `key`: Identifier of the key pressed
|
||||||
|
#
|
||||||
|
# - A-Z
|
||||||
|
# - F1-F24
|
||||||
|
# - Key0-Key9
|
||||||
|
#
|
||||||
|
# A full list with available key codes can be found here:
|
||||||
|
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
|
||||||
|
#
|
||||||
|
# Instead of using the name of the keys, the `key` field also supports using
|
||||||
|
# the scancode of the desired key. Scancodes have to be specified as a
|
||||||
|
# decimal number. This command will allow you to display the hex scancodes
|
||||||
|
# for certain keys:
|
||||||
|
#
|
||||||
|
# `showkey --scancodes`.
|
||||||
|
#
|
||||||
|
# Then exactly one of:
|
||||||
|
#
|
||||||
|
# - `chars`: Send a byte sequence to the running application
|
||||||
|
#
|
||||||
|
# The `chars` field writes the specified string to the terminal. This makes
|
||||||
|
# it possible to pass escape sequences. To find escape codes for bindings
|
||||||
|
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
|
||||||
|
# of tmux. Note that applications use terminfo to map escape sequences back
|
||||||
|
# to keys. It is therefore required to update the terminfo when changing an
|
||||||
|
# escape sequence.
|
||||||
|
#
|
||||||
|
# - `action`: Execute a predefined action
|
||||||
|
#
|
||||||
|
# - Copy
|
||||||
|
# - Paste
|
||||||
|
# - PasteSelection
|
||||||
|
# - IncreaseFontSize
|
||||||
|
# - DecreaseFontSize
|
||||||
|
# - ResetFontSize
|
||||||
|
# - ScrollPageUp
|
||||||
|
# - ScrollPageDown
|
||||||
|
# - ScrollLineUp
|
||||||
|
# - ScrollLineDown
|
||||||
|
# - ScrollToTop
|
||||||
|
# - ScrollToBottom
|
||||||
|
# - ClearHistory
|
||||||
|
# - Hide
|
||||||
|
# - Minimize
|
||||||
|
# - Quit
|
||||||
|
# - ToggleFullscreen
|
||||||
|
# - SpawnNewInstance
|
||||||
|
# - ClearLogNotice
|
||||||
|
# - ReceiveChar
|
||||||
|
# - None
|
||||||
|
#
|
||||||
|
# (macOS only):
|
||||||
|
# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
|
||||||
|
#
|
||||||
|
# - `command`: Fork and execute a specified command plus arguments
|
||||||
|
#
|
||||||
|
# The `command` field must be a map containing a `program` string and an
|
||||||
|
# `args` array of command line parameter strings. For example:
|
||||||
|
# `{ program: "alacritty", args: ["-e", "vttest"] }`
|
||||||
|
#
|
||||||
|
# And optionally:
|
||||||
|
#
|
||||||
|
# - `mods`: Key modifiers to filter binding actions
|
||||||
|
#
|
||||||
|
# - Command
|
||||||
|
# - Control
|
||||||
|
# - Option
|
||||||
|
# - Super
|
||||||
|
# - Shift
|
||||||
|
# - Alt
|
||||||
|
#
|
||||||
|
# Multiple `mods` can be combined using `|` like this:
|
||||||
|
# `mods: Control|Shift`.
|
||||||
|
# Whitespace and capitalization are relevant and must match the example.
|
||||||
|
#
|
||||||
|
# - `mode`: Indicate a binding for only specific terminal reported modes
|
||||||
|
#
|
||||||
|
# This is mainly used to send applications the correct escape sequences
|
||||||
|
# when in different modes.
|
||||||
|
#
|
||||||
|
# - AppCursor
|
||||||
|
# - AppKeypad
|
||||||
|
# - Alt
|
||||||
|
#
|
||||||
|
# A `~` operator can be used before a mode to apply the binding whenever
|
||||||
|
# the mode is *not* active, e.g. `~Alt`.
|
||||||
|
#
|
||||||
|
# Bindings are always filled by default, but will be replaced when a new
|
||||||
|
# binding with the same triggers is defined. To unset a default binding, it can
|
||||||
|
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
|
||||||
|
# a no-op if you do not wish to receive input characters for that binding.
|
||||||
|
#
|
||||||
|
# If the same trigger is assigned to multiple actions, all of them are executed
|
||||||
|
# at once.
|
||||||
|
key_bindings:
|
||||||
|
- { key: V, mods: Control|Shift, action: Paste }
|
||||||
|
- { key: C, mods: Control|Shift, action: Copy }
|
||||||
|
- { key: Insert, mods: Shift, action: PasteSelection }
|
||||||
|
- { key: Key0, mods: Control, action: ResetFontSize }
|
||||||
|
- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||||
|
- { key: Minus, mods: Control, action: DecreaseFontSize }
|
||||||
|
|
||||||
|
- { key: Paste, action: Paste }
|
||||||
|
- { key: Copy, action: Copy }
|
||||||
|
- { key: L, mods: Control, action: ClearLogNotice }
|
||||||
|
- { key: L, mods: Control, chars: "\x0c" }
|
||||||
|
- { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt }
|
||||||
|
- { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt }
|
||||||
|
- { key: Home, mods: Shift, action: ScrollToTop, mode: ~Alt }
|
||||||
|
- { key: End, mods: Shift, action: ScrollToBottom, mode: ~Alt }
|
||||||
|
|
||||||
|
# Vi Mode
|
||||||
|
- { key: Space, mods: Shift|Control, mode: Vi, action: ScrollToBottom }
|
||||||
|
- { key: Space, mods: Shift|Control, action: ToggleViMode }
|
||||||
|
- { key: Escape, mode: Vi, action: ClearSelection }
|
||||||
|
- { key: I, mode: Vi, action: ScrollToBottom }
|
||||||
|
- { key: I, mode: Vi, action: ToggleViMode }
|
||||||
|
- { key: Y, mods: Control, mode: Vi, action: ScrollLineUp }
|
||||||
|
- { key: E, mods: Control, mode: Vi, action: ScrollLineDown }
|
||||||
|
- { key: G, mode: Vi, action: ScrollToTop }
|
||||||
|
- { key: G, mods: Shift, mode: Vi, action: ScrollToBottom }
|
||||||
|
- { key: B, mods: Control, mode: Vi, action: ScrollPageUp }
|
||||||
|
- { key: F, mods: Control, mode: Vi, action: ScrollPageDown }
|
||||||
|
- { key: U, mods: Control, mode: Vi, action: ScrollHalfPageUp }
|
||||||
|
- { key: D, mods: Control, mode: Vi, action: ScrollHalfPageDown }
|
||||||
|
- { key: Y, mode: Vi, action: Copy }
|
||||||
|
- { key: Y, mode: Vi, action: ClearSelection }
|
||||||
|
- { key: Copy, mode: Vi, action: ClearSelection }
|
||||||
|
- { key: V, mode: Vi, action: ToggleNormalSelection }
|
||||||
|
- { key: V, mods: Shift, mode: Vi, action: ToggleLineSelection }
|
||||||
|
- { key: V, mods: Control, mode: Vi, action: ToggleBlockSelection }
|
||||||
|
- { key: V, mods: Alt, mode: Vi, action: ToggleSemanticSelection }
|
||||||
|
- { key: Return, mode: Vi, action: Open }
|
||||||
|
- { key: K, mode: Vi, action: Up }
|
||||||
|
- { key: J, mode: Vi, action: Down }
|
||||||
|
- { key: H, mode: Vi, action: Left }
|
||||||
|
- { key: L, mode: Vi, action: Right }
|
||||||
|
- { key: Up, mode: Vi, action: Up }
|
||||||
|
- { key: Down, mode: Vi, action: Down }
|
||||||
|
- { key: Left, mode: Vi, action: Left }
|
||||||
|
- { key: Right, mode: Vi, action: Right }
|
||||||
|
- { key: Key0, mode: Vi, action: First }
|
||||||
|
- { key: Key4, mods: Shift, mode: Vi, action: Last }
|
||||||
|
- { key: Key6, mods: Shift, mode: Vi, action: FirstOccupied }
|
||||||
|
- { key: H, mods: Shift, mode: Vi, action: High }
|
||||||
|
- { key: M, mods: Shift, mode: Vi, action: Middle }
|
||||||
|
- { key: L, mods: Shift, mode: Vi, action: Low }
|
||||||
|
- { key: B, mode: Vi, action: SemanticLeft }
|
||||||
|
- { key: W, mode: Vi, action: SemanticRight }
|
||||||
|
- { key: E, mode: Vi, action: SemanticRightEnd }
|
||||||
|
- { key: B, mods: Shift, mode: Vi, action: WordLeft }
|
||||||
|
- { key: W, mods: Shift, mode: Vi, action: WordRight }
|
||||||
|
- { key: E, mods: Shift, mode: Vi, action: WordRightEnd }
|
||||||
|
- { key: Key5, mods: Shift, mode: Vi, action: Bracket }
|
||||||
|
- { key: Slash, mode: Vi, action: SearchForward }
|
||||||
|
- { key: Slash, mods: Shift, mode: Vi, action: SearchBackward }
|
||||||
|
- { key: N, mode: Vi, action: SearchNext }
|
||||||
|
- { key: N, mods: Shift, mode: Vi, action: SearchPrevious }
|
||||||
|
|
||||||
|
debug:
|
||||||
|
render_timer: false
|
||||||
|
persistent_logging: false
|
||||||
|
|
||||||
|
# Log level
|
||||||
|
#
|
||||||
|
# Values for `log_level`:
|
||||||
|
# - None
|
||||||
|
# - Error
|
||||||
|
# - Warn
|
||||||
|
# - Info
|
||||||
|
# - Debug
|
||||||
|
# - Trace
|
||||||
|
log_level: Warn
|
||||||
|
|
||||||
|
print_events: false
|
340
home/.config/amfora/config.toml
Normal file
@ -0,0 +1,340 @@
|
|||||||
|
# This is the default config file.
|
||||||
|
# It also shows all the default values, if you don't create the file.
|
||||||
|
|
||||||
|
# All URL values may omit the scheme and/or port, as well as the beginning double slash
|
||||||
|
# Valid URL examples:
|
||||||
|
# gemini://example.com
|
||||||
|
# //example.com
|
||||||
|
# example.com
|
||||||
|
# example.com:123
|
||||||
|
|
||||||
|
|
||||||
|
[a-general]
|
||||||
|
# Press Ctrl-H to access it
|
||||||
|
home = "gemini://gemini.circumlunar.space"
|
||||||
|
|
||||||
|
# Follow up to 5 Gemini redirects without prompting.
|
||||||
|
# A prompt is always shown after the 5th redirect and for redirects to protocols other than Gemini.
|
||||||
|
# If set to false, a prompt will be shown before following redirects.
|
||||||
|
auto_redirect = false
|
||||||
|
|
||||||
|
# What command to run to open a HTTP(S) URL.
|
||||||
|
# Set to "default" to try to guess the browser, or set to "off" to not open HTTP(S) URLs.
|
||||||
|
# If a command is set, than the URL will be added (in quotes) to the end of the command.
|
||||||
|
# A space will be prepended to the URL.
|
||||||
|
#
|
||||||
|
# The best to define a command is using a string array.
|
||||||
|
# Examples:
|
||||||
|
# http = ['firefox']
|
||||||
|
# http = ['custom-browser', '--flag', '--option=2']
|
||||||
|
# http = ['/path/with spaces/in it/firefox']
|
||||||
|
#
|
||||||
|
# Note the use of single quotes, so that backslashes will not be escaped.
|
||||||
|
# Using just a string will also work, but it is deprecated, and will degrade if
|
||||||
|
# you use paths with spaces.
|
||||||
|
|
||||||
|
http = 'firefox --new-tab'
|
||||||
|
|
||||||
|
# Any URL that will accept a query string can be put here
|
||||||
|
search = "gemini://gus.guru/search"
|
||||||
|
|
||||||
|
# Whether colors will be used in the terminal
|
||||||
|
color = true
|
||||||
|
|
||||||
|
# Whether ANSI color codes from the page content should be rendered
|
||||||
|
ansi = true
|
||||||
|
|
||||||
|
# Whether to replace list asterisks with unicode bullets
|
||||||
|
bullets = true
|
||||||
|
|
||||||
|
# Whether to show link after link text
|
||||||
|
show_link = true
|
||||||
|
|
||||||
|
# A number from 0 to 1, indicating what percentage of the terminal width the left margin should take up.
|
||||||
|
left_margin = 0.1
|
||||||
|
|
||||||
|
# The max number of columns to wrap a page's text to. Preformatted blocks are not wrapped.
|
||||||
|
max_width = 100
|
||||||
|
|
||||||
|
# 'downloads' is the path to a downloads folder.
|
||||||
|
# An empty value means the code will find the default downloads folder for your system.
|
||||||
|
# If the path does not exist it will be created.
|
||||||
|
# Note the use of single quotes, so that backslashes will not be escaped.
|
||||||
|
downloads = ''
|
||||||
|
|
||||||
|
# Max size for displayable content in bytes - after that size a download window pops up
|
||||||
|
page_max_size = 2097152 # 2 MiB
|
||||||
|
# Max time it takes to load a page in seconds - after that a download window pops up
|
||||||
|
page_max_time = 10
|
||||||
|
|
||||||
|
# Whether to replace tab numbers with emoji favicons, which are cached.
|
||||||
|
emoji_favicons = false
|
||||||
|
|
||||||
|
|
||||||
|
[auth]
|
||||||
|
# Authentication settings
|
||||||
|
# Note the use of single quotes for values, so that backslashes will not be escaped.
|
||||||
|
|
||||||
|
[auth.certs]
|
||||||
|
# Client certificates
|
||||||
|
# Set domain name equal to path to client cert
|
||||||
|
# "example.com" = 'mycert.crt'
|
||||||
|
|
||||||
|
[auth.keys]
|
||||||
|
# Client certificate keys
|
||||||
|
# Set domain name equal to path to key for the client cert above
|
||||||
|
# "example.com" = 'mycert.key'
|
||||||
|
|
||||||
|
|
||||||
|
[keybindings]
|
||||||
|
# In the future there will be more settings here.
|
||||||
|
|
||||||
|
# Hold down shift and press the numbers on your keyboard (1,2,3,4,5,6,7,8,9,0) to set this up.
|
||||||
|
# It is default set to be accurate for US keyboards.
|
||||||
|
shift_numbers = "!@#$%^&*()"
|
||||||
|
|
||||||
|
|
||||||
|
[url-handlers]
|
||||||
|
# Allows setting the commands to run for various URL schemes.
|
||||||
|
# E.g. to open FTP URLs with FileZilla set the following key:
|
||||||
|
# ftp = 'filezilla'
|
||||||
|
# You can set any scheme to "off" or "" to disable handling it, or
|
||||||
|
# just leave the key unset.
|
||||||
|
#
|
||||||
|
# DO NOT use this for setting the HTTP command.
|
||||||
|
# Use the http setting in the "a-general" section above.
|
||||||
|
#
|
||||||
|
# NOTE: These settings are overrided by the ones in the proxies section.
|
||||||
|
# Note the use of single quotes, so that backslashes will not be escaped.
|
||||||
|
|
||||||
|
# This is a special key that defines the handler for all URL schemes for which
|
||||||
|
# no handler is defined.
|
||||||
|
other = 'off'
|
||||||
|
|
||||||
|
|
||||||
|
[cache]
|
||||||
|
# Options for page cache - which is only for text pages
|
||||||
|
# Increase the cache size to speed up browsing at the expense of memory
|
||||||
|
# Zero values mean there is no limit
|
||||||
|
|
||||||
|
max_size = 0 # Size in bytes
|
||||||
|
max_pages = 30 # The maximum number of pages the cache will store
|
||||||
|
|
||||||
|
# How long a page will stay in cache, in seconds.
|
||||||
|
timeout = 1800 # 30 mins
|
||||||
|
|
||||||
|
[proxies]
|
||||||
|
# Allows setting a Gemini proxy for different schemes.
|
||||||
|
# The settings are similar to the url-handlers section above.
|
||||||
|
# E.g. to open a gopher page by connecting to a Gemini proxy server:
|
||||||
|
# gopher = "example.com:123"
|
||||||
|
#
|
||||||
|
# Port 1965 is assumed if no port is specified.
|
||||||
|
#
|
||||||
|
# NOTE: These settings override any external handlers specified in
|
||||||
|
# the url-handlers section.
|
||||||
|
#
|
||||||
|
# Note that HTTP and HTTPS are treated as separate protocols here.
|
||||||
|
|
||||||
|
|
||||||
|
[subscriptions]
|
||||||
|
# For tracking feeds and pages
|
||||||
|
|
||||||
|
# Whether a pop-up appears when viewing a potential feed
|
||||||
|
popup = true
|
||||||
|
|
||||||
|
# How often to check for updates to subscriptions in the background, in seconds.
|
||||||
|
# Set it to 0 to disable this feature. You can still update individual feeds
|
||||||
|
# manually, or restart the browser.
|
||||||
|
#
|
||||||
|
# Note Amfora will check for updates on browser start no matter what this setting is.
|
||||||
|
update_interval = 1800 # 30 mins
|
||||||
|
|
||||||
|
# How many subscriptions can be checked at the same time when updating.
|
||||||
|
# If you have many subscriptions you may want to increase this for faster
|
||||||
|
# update times. Any value below 1 will be corrected to 1.
|
||||||
|
workers = 3
|
||||||
|
|
||||||
|
# The number of subscription updates displayed per page.
|
||||||
|
entries_per_page = 20
|
||||||
|
|
||||||
|
|
||||||
|
[theme]
|
||||||
|
# This section is for changing the COLORS used in Amfora.
|
||||||
|
# These colors only apply if 'color' is enabled above.
|
||||||
|
# Colors can be set using a W3C color name, or a hex value such as "#ffffff".
|
||||||
|
|
||||||
|
# Note that not all colors will work on terminals that do not have truecolor support.
|
||||||
|
# If you want to stick to the standard 16 or 256 colors, you can get
|
||||||
|
# a list of those here: https://jonasjacek.github.io/colors/
|
||||||
|
# DO NOT use the names from that site, just the hex codes.
|
||||||
|
|
||||||
|
# Definitions:
|
||||||
|
# bg = background
|
||||||
|
# fg = foreground
|
||||||
|
# dl = download
|
||||||
|
# btn = button
|
||||||
|
# hdg = heading
|
||||||
|
# bkmk = bookmark
|
||||||
|
# modal = a popup window/box in the middle of the screen
|
||||||
|
|
||||||
|
# EXAMPLES:
|
||||||
|
# hdg_1 = "green"
|
||||||
|
# hdg_2 = "#5f0000"
|
||||||
|
|
||||||
|
# Available keys to set:
|
||||||
|
|
||||||
|
# bg: background for pages, tab row, app in general
|
||||||
|
# tab_num: The number/highlight of the tabs at the top
|
||||||
|
# tab_divider: The color of the divider character between tab numbers: |
|
||||||
|
# bottombar_label: The color of the prompt that appears when you press space
|
||||||
|
# bottombar_text: The color of the text you type
|
||||||
|
# bottombar_bg
|
||||||
|
|
||||||
|
# hdg_1
|
||||||
|
# hdg_2
|
||||||
|
# hdg_3
|
||||||
|
# amfora_link: A link that Amfora supports viewing. For now this is only gemini://
|
||||||
|
# foreign_link: HTTP(S), Gopher, etc
|
||||||
|
# link_number: The silver number that appears to the left of a link
|
||||||
|
# regular_text: Normal gemini text, and plaintext documents
|
||||||
|
# quote_text
|
||||||
|
# preformatted_text
|
||||||
|
# list_text
|
||||||
|
|
||||||
|
# btn_bg: The bg color for all modal buttons
|
||||||
|
# btn_text: The text color for all modal buttons
|
||||||
|
|
||||||
|
# dl_choice_modal_bg
|
||||||
|
# dl_choice_modal_text
|
||||||
|
# dl_modal_bg
|
||||||
|
# dl_modal_text
|
||||||
|
# info_modal_bg
|
||||||
|
# info_modal_text
|
||||||
|
# error_modal_bg
|
||||||
|
# error_modal_text
|
||||||
|
# yesno_modal_bg
|
||||||
|
# yesno_modal_text
|
||||||
|
# tofu_modal_bg
|
||||||
|
# tofu_modal_text
|
||||||
|
# subscription_modal_bg
|
||||||
|
# subscription_modal_text
|
||||||
|
|
||||||
|
# input_modal_bg
|
||||||
|
# input_modal_text
|
||||||
|
# input_modal_field_bg: The bg of the input field, where you type the text
|
||||||
|
# input_modal_field_text: The color of the text you type
|
||||||
|
|
||||||
|
# bkmk_modal_bg
|
||||||
|
# bkmk_modal_text
|
||||||
|
# bkmk_modal_label
|
||||||
|
# bkmk_modal_field_bg
|
||||||
|
# bkmk_modal_field_text
|
||||||
|
|
||||||
|
# _____ __ _________
|
||||||
|
# ___ | / /__________________ /
|
||||||
|
# __ |/ /_ __ \_ ___/ __ /
|
||||||
|
# _ /| / / /_/ / / / /_/ /
|
||||||
|
# /_/ |_/ \____//_/ \__,_/
|
||||||
|
#
|
||||||
|
bg = "#2e3440"
|
||||||
|
tab_num = "#88c0d0"
|
||||||
|
tab_divider = "#4c566a"
|
||||||
|
bottombar_label = "#88c0d0"
|
||||||
|
bottombar_text = "#eceff4"
|
||||||
|
bottombar_bg = "#3b4252"
|
||||||
|
|
||||||
|
hdg_1 = "#5e81ac"
|
||||||
|
hdg_2 = "#81a1c1"
|
||||||
|
hdg_3 = "#8fbcbb"
|
||||||
|
amfora_link = "#88c0d0"
|
||||||
|
foreign_link = "#b48ead"
|
||||||
|
link_number = "#a3be8c"
|
||||||
|
regular_text = "#eceff4"
|
||||||
|
quote_text = "#81a1c1"
|
||||||
|
preformatted_text = "#8fbcbb"
|
||||||
|
list_text = "#d8dee9"
|
||||||
|
|
||||||
|
btn_bg = "#4c566a"
|
||||||
|
btn_text = "#eceff4"
|
||||||
|
|
||||||
|
dl_choice_modal_bg = "#3b4252"
|
||||||
|
dl_choice_modal_text = "#eceff4"
|
||||||
|
dl_modal_bg = "#3b4252"
|
||||||
|
dl_modal_text = "#eceff4"
|
||||||
|
info_modal_bg = "#3b4252"
|
||||||
|
info_modal_text = "#eceff4"
|
||||||
|
error_modal_bg = "#bf616a"
|
||||||
|
error_modal_text = "#eceff4"
|
||||||
|
yesno_modal_bg = "#3b4252"
|
||||||
|
yesno_modal_text = "#eceff4"
|
||||||
|
tofu_modal_bg = "#3b4252"
|
||||||
|
tofu_modal_text = "#eceff4"
|
||||||
|
subscription_modal_bg = "#3b4252"
|
||||||
|
subscription_modal_text = "#eceff4"
|
||||||
|
|
||||||
|
input_modal_bg = "#3b4252"
|
||||||
|
input_modal_text = "#eceff4"
|
||||||
|
input_modal_field_bg = "#4c566a"
|
||||||
|
input_modal_field_text = "#eceff4"
|
||||||
|
|
||||||
|
bkmk_modal_bg = "#3b4252"
|
||||||
|
bkmk_modal_text = "#eceff4"
|
||||||
|
bkmk_modal_label = "#eceff4"
|
||||||
|
bkmk_modal_field_bg = "#4c566a"
|
||||||
|
bkmk_modal_field_text = "#eceff4"
|
||||||
|
|
||||||
|
# _______ ________ ______
|
||||||
|
# __ __ \______________ __ \_____ __________ /__
|
||||||
|
# _ / / /_ __ \ _ \_ / / / __ `/_ ___/_ //_/
|
||||||
|
# / /_/ /_ / / / __/ /_/ // /_/ /_ / _ ,<
|
||||||
|
# \____/ /_/ /_/\___//_____/ \__,_/ /_/ /_/|_|
|
||||||
|
#
|
||||||
|
# bg = "#282c34"
|
||||||
|
# fg = "#abb2bf"
|
||||||
|
# tab_num = "#abb2bf"
|
||||||
|
# tab_divider = "#abb2bf"
|
||||||
|
# bottombar_bg = "#abb2bf"
|
||||||
|
# bottombar_text = "#282c34"
|
||||||
|
# bottombar_label = "#282c34"
|
||||||
|
|
||||||
|
# hdg_1 = "#e06c75"
|
||||||
|
# hdg_2 = "#c678dd"
|
||||||
|
# hdg_3 = "#c678dd"
|
||||||
|
# amfora_link = "#61afef"
|
||||||
|
# foreign_link = "#56b6c2"
|
||||||
|
# link_number = "#abb2bf"
|
||||||
|
# regular_text = "#abb2bf"
|
||||||
|
# quote_text = "#98c379"
|
||||||
|
# preformatted_text = "#e5c07b"
|
||||||
|
# list_text = "#abb2bf"
|
||||||
|
|
||||||
|
# btn_bg = "#282c34"
|
||||||
|
# btn_text = "#abb2bf"
|
||||||
|
|
||||||
|
# dl_choice_modal_bg = "#98c379"
|
||||||
|
# dl_choice_modal_text = "#282c34"
|
||||||
|
# dl_modal_bg = "#98c379"
|
||||||
|
# dl_modal_text = "#282c34"
|
||||||
|
# info_modal_bg = "#98c379"
|
||||||
|
# info_modal_text = "#282c34"
|
||||||
|
# error_modal_bg = "#e06c75"
|
||||||
|
# error_modal_text = "#282c34"
|
||||||
|
# yesno_modal_bg = "#e5c07b"
|
||||||
|
# yesno_modal_text = "#282c34"
|
||||||
|
# tofu_modal_bg = "#e5c07b"
|
||||||
|
# tofu_modal_text = "#282c34"
|
||||||
|
|
||||||
|
# input_modal_bg = "#98c379"
|
||||||
|
# input_modal_text = "#282c34"
|
||||||
|
# input_modal_field_bg = "#282c34"
|
||||||
|
# input_modal_field_text = "#abb2bf"
|
||||||
|
|
||||||
|
# bkmk_modal_bg = "#98c379"
|
||||||
|
# bkmk_modal_text = "#282c34"
|
||||||
|
# bkmk_modal_label = "#282c34"
|
||||||
|
# bkmk_modal_field_bg = "#282c34"
|
||||||
|
# bkmk_modal_field_text = "#abb2bf"
|
||||||
|
|
||||||
|
# subscription_modal_bg = "#c678dd"
|
||||||
|
# subscription_modal_text = "#282c34"
|
96
home/.config/bottom/bottom.toml
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
# Do something
|
||||||
|
[flags]
|
||||||
|
|
||||||
|
# Hide avg_cpu (doesn't work though)
|
||||||
|
hide_avg_cpu = true
|
||||||
|
|
||||||
|
dot_marker = true
|
||||||
|
|
||||||
|
rate = 1000
|
||||||
|
|
||||||
|
left_legend = true
|
||||||
|
|
||||||
|
current_usage = true
|
||||||
|
|
||||||
|
group_processes = true
|
||||||
|
|
||||||
|
case_sensitive = false
|
||||||
|
|
||||||
|
whole_word = false
|
||||||
|
|
||||||
|
regex = false
|
||||||
|
|
||||||
|
show_disabled_data = false
|
||||||
|
|
||||||
|
temperature_type = "c"
|
||||||
|
|
||||||
|
default_time_value = 60000
|
||||||
|
|
||||||
|
time_delta = 15000
|
||||||
|
|
||||||
|
default_widget_type = "proc"
|
||||||
|
|
||||||
|
default_widget_count = 1
|
||||||
|
|
||||||
|
basic = false
|
||||||
|
|
||||||
|
use_old_network_legend = false
|
||||||
|
|
||||||
|
hide_table_count = false
|
||||||
|
|
||||||
|
# Colors
|
||||||
|
[colors]
|
||||||
|
|
||||||
|
table_header_color="LightBlue"
|
||||||
|
|
||||||
|
widget_title_color="White"
|
||||||
|
|
||||||
|
avg_cpu_color="Red"
|
||||||
|
|
||||||
|
cpu_core_colors=["LightMagenta", "LightYellow", "White", "LightGreen", "LightBlue", "LightRed", "Cyan", "Yellow"]
|
||||||
|
|
||||||
|
ram_color="Green"
|
||||||
|
|
||||||
|
swap_color="Yellow"
|
||||||
|
|
||||||
|
rx_color="Green"
|
||||||
|
|
||||||
|
tx_color="Yellow"
|
||||||
|
|
||||||
|
border_color="Blue"
|
||||||
|
|
||||||
|
highlighted_border_color="Green"
|
||||||
|
|
||||||
|
text_color="Gray"
|
||||||
|
|
||||||
|
selected_text_color="Black"
|
||||||
|
|
||||||
|
selected_bg_color="LightBlue"
|
||||||
|
|
||||||
|
graph_color="Blue"
|
||||||
|
|
||||||
|
battery_colors = ["red", "yellow", "yellow", "green", "green", "green"]
|
||||||
|
|
||||||
|
# The default widget layout:
|
||||||
|
#[[row]]
|
||||||
|
# ratio=30
|
||||||
|
# [[row.child]]
|
||||||
|
# type="cpu"
|
||||||
|
#[[row]]
|
||||||
|
# ratio=40
|
||||||
|
# [[row.child]]
|
||||||
|
# ratio=4
|
||||||
|
# type="mem"
|
||||||
|
# [[row.child]]
|
||||||
|
# ratio=3
|
||||||
|
# [[row.child.child]]
|
||||||
|
# type="temp"
|
||||||
|
# [[row.child.child]]
|
||||||
|
# type="disk"
|
||||||
|
#[[row]]
|
||||||
|
# ratio=30
|
||||||
|
# [[row.child]]
|
||||||
|
# type="net"
|
||||||
|
# [[row.child]]
|
||||||
|
# type="proc"
|
||||||
|
# default=true
|
301
home/.config/broot/conf.toml
Normal file
@ -0,0 +1,301 @@
|
|||||||
|
###############################################################
|
||||||
|
# Default flags
|
||||||
|
# You can set up flags you want broot to start with by
|
||||||
|
# default, for example `default_flags="ihp"` if you usually want
|
||||||
|
# to see hidden and gitignored files and the permissions (then
|
||||||
|
# if you don't want the hidden files you can launch `br -H`)
|
||||||
|
# A popular flag is the `g` one which displays git related info.
|
||||||
|
#
|
||||||
|
default_flags = "ghis"
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
# Special paths
|
||||||
|
# If some paths must be handled specially, uncomment (and change
|
||||||
|
# this section as per the examples
|
||||||
|
#
|
||||||
|
# [special-paths]
|
||||||
|
# "/media/slow-backup-disk" = "no-enter"
|
||||||
|
# "/home/dys/useless" = "hide"
|
||||||
|
# "/home/dys/my-link-I-want-to-explore" = "enter"
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
# Date/Time format
|
||||||
|
# If you want to change the format for date/time, uncomment the
|
||||||
|
# following line and change it according to
|
||||||
|
# https://docs.rs/chrono/0.4.11/chrono/format/strftime/index.html
|
||||||
|
#
|
||||||
|
# date_time_format = "%Y/%m/%d %R"
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
# Whether to mark the selected line with a triangle
|
||||||
|
#
|
||||||
|
show_selection_mark = true
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
# Column order
|
||||||
|
# cols_order, if specified, must be a permutation of the following
|
||||||
|
# array. You should keep the name at the end as it has a variable
|
||||||
|
# length.
|
||||||
|
#
|
||||||
|
# cols_order = [
|
||||||
|
# "mark",
|
||||||
|
# "git",
|
||||||
|
# "branch",
|
||||||
|
# "permission",
|
||||||
|
# "date",
|
||||||
|
# "size",
|
||||||
|
# "count",
|
||||||
|
# "name",
|
||||||
|
# ]
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
# True Colors
|
||||||
|
# If this parameter isn't set, broot tries to automatically
|
||||||
|
# determine whether true colors (24 bits) are available.
|
||||||
|
# As this process is unreliable, you may uncomment this setting
|
||||||
|
# and set it to false or true if you notice the colors in
|
||||||
|
# previewed images are too off.
|
||||||
|
# true_colors = false
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
# Icons
|
||||||
|
# If you want to display icons in broot, uncomment this line
|
||||||
|
# (see https://dystroy.org/broot/icons for installation and
|
||||||
|
# troubleshooting)
|
||||||
|
icon_theme = "vscode"
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
# Verbs and shortcuts
|
||||||
|
# You can define your own commands which would be applied to
|
||||||
|
# the selection.
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
name = "touch"
|
||||||
|
invocation = "touch {new_file}"
|
||||||
|
execution = "touch {directory}/{new_file}"
|
||||||
|
leave_broot = false
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
invocation = "edit"
|
||||||
|
shortcut = "e"
|
||||||
|
execution = "$EDITOR {file}"
|
||||||
|
leave_broot = false
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
invocation = "create {subpath}"
|
||||||
|
execution = "$EDITOR {directory}/{subpath}"
|
||||||
|
leave_broot = false
|
||||||
|
|
||||||
|
# If $PAGER isn't set on your computer, you should either set it
|
||||||
|
# or just replace it with your viewer of choice in the 'execution'
|
||||||
|
# pattern.
|
||||||
|
# Example:
|
||||||
|
# execution = "less {file}"
|
||||||
|
[[verbs]]
|
||||||
|
name = "view"
|
||||||
|
invocation = "view"
|
||||||
|
execution = "$PAGER {file}"
|
||||||
|
leave_broot = false
|
||||||
|
|
||||||
|
# uncomment if you want to launch a terminal on ctrl-T
|
||||||
|
# (on exit you'll be back in broot)
|
||||||
|
[[verbs]]
|
||||||
|
invocation = "terminal"
|
||||||
|
key = "ctrl-t"
|
||||||
|
execution = "$SHELL"
|
||||||
|
set_working_dir = true
|
||||||
|
leave_broot = false
|
||||||
|
|
||||||
|
# A popular set of shorctuts for going up and down:
|
||||||
|
#
|
||||||
|
[[verbs]]
|
||||||
|
key = "ctrl-j"
|
||||||
|
execution = ":line_down"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
key = "ctrl-k"
|
||||||
|
execution = ":line_up"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
key = "ctrl-h"
|
||||||
|
execution = ":parent"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
key = "ctrl-l"
|
||||||
|
execution = ":focus"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
key = "ctrl-d"
|
||||||
|
execution = ":page_down"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
key = "ctrl-u"
|
||||||
|
execution = ":page_up"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
key = "ctrl-c"
|
||||||
|
execution = ":quit"
|
||||||
|
|
||||||
|
# Bookmarks for better navigation
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fh"
|
||||||
|
execution = ":focus ~"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fC"
|
||||||
|
execution = ":focus ~/Code"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fD"
|
||||||
|
execution = ":focus ~/Downloads"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fP"
|
||||||
|
execution = ":focus ~/Pictures"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fV"
|
||||||
|
execution = ":focus ~/Videos"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fA"
|
||||||
|
execution = ":focus ~/Media"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fU"
|
||||||
|
execution = ":focus ~/Music"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "ff"
|
||||||
|
execution = ":focus ~/.config"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fl"
|
||||||
|
execution = ":focus ~/.local/share"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fe"
|
||||||
|
execution = ":focus /etc"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fu"
|
||||||
|
execution = ":focus /usr/share"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fo"
|
||||||
|
execution = ":focus /opt"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fb"
|
||||||
|
execution = ":focus /boot"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fm"
|
||||||
|
execution = ":focus /media"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fM"
|
||||||
|
execution = ":focus /mnt"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fi"
|
||||||
|
execution = ":focus /run/media"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fv"
|
||||||
|
execution = ":focus /var"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "ft"
|
||||||
|
execution = ":focus /tmp"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fd"
|
||||||
|
execution = ":focus /dev"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fS"
|
||||||
|
execution = ":focus /srv"
|
||||||
|
|
||||||
|
[[verbs]]
|
||||||
|
shortcut = "fr"
|
||||||
|
execution = ":focus /"
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
# Skin
|
||||||
|
# If you want to change the colors of broot,
|
||||||
|
# uncomment the following bloc and start messing
|
||||||
|
# with the various values.
|
||||||
|
#
|
||||||
|
[skin]
|
||||||
|
default = "None None"
|
||||||
|
tree = "ansi(94) None None"
|
||||||
|
file = "gray(20) None / gray(15) None"
|
||||||
|
directory = "None Bold None bold"
|
||||||
|
exe = "Cyan None"
|
||||||
|
link = "Magenta None"
|
||||||
|
pruning = "gray(12) None Italic"
|
||||||
|
perm__ = "gray(5) None"
|
||||||
|
perm_r = "ansi(94) None"
|
||||||
|
perm_w = "ansi(132) None"
|
||||||
|
perm_x = "ansi(65) None"
|
||||||
|
owner = "ansi(138) None"
|
||||||
|
group = "ansi(131) None"
|
||||||
|
count = "ansi(136) gray(3)"
|
||||||
|
dates = "ansi(66) None"
|
||||||
|
sparse = "ansi(214) None"
|
||||||
|
content_extract = "ansi(29) None"
|
||||||
|
content_match = "ansi(34) None"
|
||||||
|
git_branch = "ansi(229) None"
|
||||||
|
git_insertions = "ansi(28) None"
|
||||||
|
git_deletions = "ansi(160) None"
|
||||||
|
git_status_current = "gray(5) None"
|
||||||
|
git_status_modified = "ansi(28) None"
|
||||||
|
git_status_new = "ansi(94) None Bold"
|
||||||
|
git_status_ignored = "gray(17) None"
|
||||||
|
git_status_conflicted = "ansi(88) None"
|
||||||
|
git_status_other = "ansi(88) None"
|
||||||
|
selected_line = "None gray(6)"
|
||||||
|
char_match = "Yellow None"
|
||||||
|
file_error = "Red None"
|
||||||
|
flag_label = "gray(15) None"
|
||||||
|
flag_value = "ansi(208) None Bold"
|
||||||
|
input = "White None"
|
||||||
|
status_error = "gray(22) ansi(124)"
|
||||||
|
status_job = "ansi(220) gray(5)"
|
||||||
|
status_normal = "gray(20) gray(3) / gray(2) gray(2)"
|
||||||
|
status_italic = "ansi(208) gray(3) / gray(2) gray(2)"
|
||||||
|
status_bold = "ansi(208) gray(3) Bold / gray(2) gray(2)"
|
||||||
|
status_code = "ansi(229) gray(3) / gray(2) gray(2)"
|
||||||
|
status_ellipsis = "gray(19) gray(1) / gray(2) gray(2)"
|
||||||
|
purpose_normal = "gray(20) gray(2)"
|
||||||
|
purpose_italic = "ansi(178) gray(2)"
|
||||||
|
purpose_bold = "ansi(178) gray(2) Bold"
|
||||||
|
purpose_ellipsis = "gray(20) gray(2)"
|
||||||
|
scrollbar_track = "gray(7) None / gray(4) None"
|
||||||
|
scrollbar_thumb = "gray(22) None / gray(14) None"
|
||||||
|
help_paragraph = "gray(20) None"
|
||||||
|
help_bold = "ansi(208) None Bold"
|
||||||
|
help_italic = "ansi(166) None"
|
||||||
|
help_code = "gray(21) gray(3)"
|
||||||
|
help_headers = "ansi(208) None"
|
||||||
|
help_table_border = "ansi(239) None"
|
||||||
|
preview = "gray(20) gray(1) / gray(18) gray(2)"
|
||||||
|
preview_line_number = "gray(12) gray(3)"
|
||||||
|
preview_match = "None ansi(29)"
|
||||||
|
hex_null = "gray(11) None"
|
||||||
|
hex_ascii_graphic = "gray(18) None"
|
||||||
|
hex_ascii_whitespace = "ansi(143) None"
|
||||||
|
hex_ascii_other = "ansi(215) None"
|
||||||
|
hex_non_ascii = "ansi(167) None"
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
# File Extension Colors
|
||||||
|
#
|
||||||
|
# uncomment and modify the next section if you want to color
|
||||||
|
# file name depending on their extension
|
||||||
|
#
|
||||||
|
# [ext-colors]
|
||||||
|
# png = "rgb(255, 128, 75)"
|
||||||
|
# rs = "yellow"
|
||||||
|
|
2
home/.config/bsp-layout/layoutrc
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
TALL_RATIO=0.52;
|
||||||
|
WIDE_RATIO=0.52;
|
59
home/.config/bspwm/bspwmrc
Executable file
@ -0,0 +1,59 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Startup applications
|
||||||
|
sxhkd &
|
||||||
|
mpDris2 &
|
||||||
|
xsetroot -cursor_name left_ptr &
|
||||||
|
$HOME/.config/polybar/run_polybar.sh &
|
||||||
|
|
||||||
|
# Workspaces
|
||||||
|
bspc monitor eDP -d 1 2 3 4 5 6 7 8
|
||||||
|
bspc monitor HDMI-A-0 -d 9 10
|
||||||
|
|
||||||
|
# Modes
|
||||||
|
bspc config top_padding 0
|
||||||
|
bspc config bottom_padding 0
|
||||||
|
bspc config left_padding 0
|
||||||
|
bspc config right_padding 0
|
||||||
|
bspc config border_width 2
|
||||||
|
bspc config window_gap 10
|
||||||
|
|
||||||
|
bspc config split_ratio 0.52
|
||||||
|
bspc config borderless_monocle false
|
||||||
|
bspc config gapless_monocle false
|
||||||
|
bspc config single_monocle true
|
||||||
|
bspc config click_to_focus none
|
||||||
|
bspc config focus_follows_pointer true
|
||||||
|
|
||||||
|
bspc config pointer_modifier super
|
||||||
|
bspc config pointer_action1 move
|
||||||
|
bspc config pointer_action2 resize_side
|
||||||
|
bspc config pointer_action3 resize_corner
|
||||||
|
|
||||||
|
bspc config remove_disabled_monitors true
|
||||||
|
bspc config remove_unplugged_monitors true
|
||||||
|
bspc config merge_overlapping_monitors true
|
||||||
|
|
||||||
|
# --- Nord --- #
|
||||||
|
bspc config normal_border_color "#2e3440"
|
||||||
|
bspc config active_border_color "#ebcb8b"
|
||||||
|
bspc config focused_border_color "#81a1c1"
|
||||||
|
bspc config presel_feedback_color "#d8dee9"
|
||||||
|
# -- OneDark -- #
|
||||||
|
# bspc config normal_border_color "#282c34"
|
||||||
|
# bspc config active_border_color "#e5c07b"
|
||||||
|
# bspc config focused_border_color "#61afef"
|
||||||
|
# bspc config presel_feedback_color "#abb2bf"
|
||||||
|
|
||||||
|
# Program rules
|
||||||
|
bspc rule -a "Gimp-2.10" state=floating follow=on
|
||||||
|
bspc rule -a "Gimp" state=floating follow=on
|
||||||
|
bspc rule -a "Thunderbird" desktop='^3' follow=on
|
||||||
|
bspc rule -a "Inkscape" state=floating follow=on
|
||||||
|
bspc rule -a "krita" state=floating follow=on
|
||||||
|
bspc rule -a "mpv" desktop='^6' state=tiled follow=on
|
||||||
|
bspc rule -a "Zathura" desktop='^4' follow=on
|
||||||
|
bspc rule -a "Element" desktop='^7' follow=on
|
||||||
|
bspc rule -a "TelegramDesktop" desktop='^7' follow=on
|
||||||
|
bspc rule -a "Emacs" state=tiled
|
||||||
|
bspc rule -a "Komikku" state=floating follow=on
|
165
home/.config/cava/config
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
|
||||||
|
|
||||||
|
|
||||||
|
[general]
|
||||||
|
|
||||||
|
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
|
||||||
|
; mode = normal
|
||||||
|
|
||||||
|
# Accepts only non-negative values.
|
||||||
|
framerate = 60
|
||||||
|
|
||||||
|
# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
|
||||||
|
# new as of 0.6.0 autosens of low values (dynamic range)
|
||||||
|
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
|
||||||
|
autosens = 1
|
||||||
|
; overshoot = 20
|
||||||
|
|
||||||
|
# Manual sensitivity in %. Autosens must be turned off for this to take effect.
|
||||||
|
# 200 means double height. Accepts only non-negative values.
|
||||||
|
; sensitivity = 100
|
||||||
|
|
||||||
|
# The number of bars (0-200). 0 sets it to auto (fill up console).
|
||||||
|
# Bars' width and space between bars in number of characters.
|
||||||
|
bars = 0
|
||||||
|
bar_width = 1
|
||||||
|
bar_spacing = 1
|
||||||
|
|
||||||
|
|
||||||
|
# Lower and higher cutoff frequencies for lowest and highest bars
|
||||||
|
# the bandwidth of the visualizer.
|
||||||
|
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
|
||||||
|
# Cava will automatically increase the higher cutoff if a too low band is specified.
|
||||||
|
; lower_cutoff_freq = 50
|
||||||
|
; higher_cutoff_freq = 10000
|
||||||
|
|
||||||
|
# FFT buffer is set in the exponent of 2 and must be between 8 - 16, 8 = 256, 16 = 65536
|
||||||
|
# this is the audio buffer used to create the spectrum
|
||||||
|
# increasing the will improve the accuracy of the visualization,
|
||||||
|
# but will also make it slower and increase CPU usage
|
||||||
|
# anything below 10 and above 13 is considered experimental.
|
||||||
|
FFTbufferSize = 12;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[input]
|
||||||
|
|
||||||
|
# Audio capturing method. Possible methods are: 'pulse', 'alsa', 'fifo', 'sndio' or 'shmem'
|
||||||
|
# Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with.
|
||||||
|
#
|
||||||
|
# All input methods uses the same config variable 'source'
|
||||||
|
# to define where it should get the audio.
|
||||||
|
#
|
||||||
|
# For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
|
||||||
|
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
|
||||||
|
#
|
||||||
|
# For alsa 'source' will be the capture device.
|
||||||
|
# For fifo 'source' will be the path to fifo-file.
|
||||||
|
# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
|
||||||
|
method = fifo
|
||||||
|
source = /tmp/mpd.fifo
|
||||||
|
sample_rate = 44100
|
||||||
|
sample_bits = 16
|
||||||
|
|
||||||
|
|
||||||
|
[output]
|
||||||
|
|
||||||
|
# Output method. Can be 'ncurses', 'noncurses' or 'raw'.
|
||||||
|
# 'noncurses' uses a custom framebuffer technique and draws only changes
|
||||||
|
# from frame to frame. As of version 0.7.0 'noncurses' is default.
|
||||||
|
#
|
||||||
|
# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
|
||||||
|
# stream of the bar heights that can be used to send to other applications.
|
||||||
|
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
|
||||||
|
method = ncurses
|
||||||
|
|
||||||
|
# Visual channels. Can be 'stereo' or 'mono'.
|
||||||
|
# 'stereo' mirrors both channels with low frequencies in center.
|
||||||
|
# 'mono' outputs left to right lowest to highest frequencies.
|
||||||
|
# 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
|
||||||
|
channels = stereo
|
||||||
|
mono_option = average
|
||||||
|
|
||||||
|
# Raw output target. A fifo will be created if target does not exist.
|
||||||
|
; raw_target = /dev/stdout
|
||||||
|
|
||||||
|
# Raw data format. Can be 'binary' or 'ascii'.
|
||||||
|
; data_format = binary
|
||||||
|
|
||||||
|
# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
|
||||||
|
; bit_format = 16bit
|
||||||
|
|
||||||
|
# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
|
||||||
|
; ascii_max_range = 1000
|
||||||
|
|
||||||
|
# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
|
||||||
|
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
|
||||||
|
; bar_delimiter = 59
|
||||||
|
; frame_delimiter = 10
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[color]
|
||||||
|
|
||||||
|
# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
|
||||||
|
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
|
||||||
|
# ncurses output method and a terminal that can change color definitions such as Gnome-terminal or rxvt.
|
||||||
|
# default is to keep current terminal color
|
||||||
|
background = default
|
||||||
|
foreground = default
|
||||||
|
|
||||||
|
# Gradient mode, only hex defined colors (and thereby ncurses mode) are supported,
|
||||||
|
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
|
||||||
|
# You can define as many as 8 different colors. They range from bottom to top of screen
|
||||||
|
gradient = 1
|
||||||
|
gradient_count = 8
|
||||||
|
# --- Nord --- #
|
||||||
|
gradient_color_1 = '#b48ead'
|
||||||
|
gradient_color_2 = '#81a1c1'
|
||||||
|
gradient_color_3 = '#88c0d0'
|
||||||
|
gradient_color_4 = '#8fbcbb'
|
||||||
|
gradient_color_5 = '#a3be8c'
|
||||||
|
gradient_color_6 = '#ebcb8b'
|
||||||
|
gradient_color_7 = '#d08770'
|
||||||
|
gradient_color_8 = '#bf616a'
|
||||||
|
# -- OneDark -- #
|
||||||
|
; gradient_color_1 = '#8c9cff'
|
||||||
|
; gradient_color_2 = '#61afef'
|
||||||
|
; gradient_color_3 = '#56b6c2'
|
||||||
|
; gradient_color_4 = '#98c379'
|
||||||
|
; gradient_color_5 = '#e5c07b'
|
||||||
|
; gradient_color_6 = '#d19a66'
|
||||||
|
; gradient_color_7 = '#e06c75'
|
||||||
|
; gradient_color_8 = '#be5046'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[smoothing]
|
||||||
|
|
||||||
|
# Percentage value for integral smoothing. Takes values from 0 - 100.
|
||||||
|
# Higher values means smoother, but less precise. 0 to disable.
|
||||||
|
integral = 0
|
||||||
|
|
||||||
|
# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
|
||||||
|
monstercat = 0
|
||||||
|
waves = 0
|
||||||
|
|
||||||
|
# Set gravity percentage for "drop off". Higher values means bars will drop faster.
|
||||||
|
# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
|
||||||
|
gravity = 100
|
||||||
|
|
||||||
|
|
||||||
|
# In bar height, bars that would have been lower that this will not be drawn.
|
||||||
|
; ignore = 0
|
||||||
|
|
||||||
|
|
||||||
|
[eq]
|
||||||
|
|
||||||
|
# This one is tricky. You can have as much keys as you want.
|
||||||
|
# Remember to uncomment more then one key! More keys = more precision.
|
||||||
|
# Look at readme.md on github for further explanations and examples.
|
||||||
|
1 = 2 # bass
|
||||||
|
2 = 2
|
||||||
|
3 = 1 # midtone
|
||||||
|
4 = 1
|
||||||
|
5 = 0.5 # treble
|
88
home/.config/cointop/config.toml
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
currency = "USD"
|
||||||
|
default_view = "default"
|
||||||
|
api = "coingecko"
|
||||||
|
colorscheme = "cointop"
|
||||||
|
refresh_rate = 60
|
||||||
|
|
||||||
|
[shortcuts]
|
||||||
|
"$" = "last_page"
|
||||||
|
"/" = "open_search"
|
||||||
|
0 = "first_page"
|
||||||
|
1 = "sort_column_1h_change"
|
||||||
|
2 = "sort_column_24h_change"
|
||||||
|
7 = "sort_column_7d_change"
|
||||||
|
"?" = "help"
|
||||||
|
C = "show_currency_convert_menu"
|
||||||
|
E = "show_portfolio_edit_menu"
|
||||||
|
F = "toggle_show_favorites"
|
||||||
|
F1 = "help"
|
||||||
|
F5 = "refresh"
|
||||||
|
G = "move_to_page_last_row"
|
||||||
|
H = "move_to_page_visible_first_row"
|
||||||
|
L = "move_to_page_visible_last_row"
|
||||||
|
M = "move_to_page_visible_middle_row"
|
||||||
|
O = "open_link"
|
||||||
|
P = "toggle_portfolio"
|
||||||
|
Q = "quit_view"
|
||||||
|
"[" = "previous_chart_range"
|
||||||
|
"\\" = "toggle_table_fullscreen"
|
||||||
|
"]" = "next_chart_range"
|
||||||
|
a = "sort_column_available_supply"
|
||||||
|
"alt+down" = "sort_column_desc"
|
||||||
|
"alt+left" = "sort_left_column"
|
||||||
|
"alt+right" = "sort_right_column"
|
||||||
|
"alt+up" = "sort_column_asc"
|
||||||
|
b = "sort_column_balance"
|
||||||
|
c = "show_currency_convert_menu"
|
||||||
|
"ctrl+C" = "quit"
|
||||||
|
"ctrl+R" = "refresh"
|
||||||
|
"ctrl+S" = "save"
|
||||||
|
"ctrl+c" = "quit"
|
||||||
|
"ctrl+d" = "page_down"
|
||||||
|
"ctrl+f" = "open_search"
|
||||||
|
"ctrl+j" = "enlarge_chart"
|
||||||
|
"ctrl+k" = "shorten_chart"
|
||||||
|
"ctrl+n" = "next_page"
|
||||||
|
"ctrl+p" = "previous_page"
|
||||||
|
"ctrl+r" = "refresh"
|
||||||
|
"ctrl+s" = "save"
|
||||||
|
"ctrl+u" = "page_up"
|
||||||
|
down = "move_down"
|
||||||
|
e = "show_portfolio_edit_menu"
|
||||||
|
end = "move_to_page_last_row"
|
||||||
|
enter = "toggle_row_chart"
|
||||||
|
esc = "quit_view"
|
||||||
|
f = "toggle_favorite"
|
||||||
|
g = "move_to_page_first_row"
|
||||||
|
h = "previous_page"
|
||||||
|
home = "move_to_page_first_row"
|
||||||
|
j = "move_down"
|
||||||
|
k = "move_up"
|
||||||
|
l = "next_page"
|
||||||
|
left = "previous_page"
|
||||||
|
m = "sort_column_market_cap"
|
||||||
|
n = "sort_column_name"
|
||||||
|
o = "open_link"
|
||||||
|
p = "sort_column_price"
|
||||||
|
pagedown = "page_down"
|
||||||
|
pageup = "page_up"
|
||||||
|
q = "quit_view"
|
||||||
|
r = "sort_column_rank"
|
||||||
|
right = "next_page"
|
||||||
|
s = "sort_column_symbol"
|
||||||
|
space = "toggle_favorite"
|
||||||
|
t = "sort_column_total_supply"
|
||||||
|
tab = "move_down_or_next_page"
|
||||||
|
u = "sort_column_last_updated"
|
||||||
|
up = "move_up"
|
||||||
|
v = "sort_column_24h_volume"
|
||||||
|
"{" = "first_chart_range"
|
||||||
|
"}" = "last_chart_range"
|
||||||
|
|
||||||
|
[favorites]
|
||||||
|
names = ["Ethereum", "XRP", "LBRY Credits", "Monero", "Basic Attention Token", "Bitcoin"]
|
||||||
|
|
||||||
|
[portfolio]
|
||||||
|
|
||||||
|
[coinmarketcap]
|
||||||
|
pro_api_key = ""
|
149
home/.config/doom/config.el
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
;; Some functionality uses this to identify you
|
||||||
|
(setq user-full-name "FollieHiyuki"
|
||||||
|
user-mail-address "folliekazetani@protonmail.com")
|
||||||
|
|
||||||
|
;; Font settings
|
||||||
|
(setq doom-font (font-spec :family "Iosevka Nerd Font" :size 15)
|
||||||
|
doom-variable-pitch-font (font-spec :family "sans" :size 15)
|
||||||
|
doom-big-font (font-spec :family "Iosevka Nerd Font" :size 24)
|
||||||
|
doom-unicode-font (font-spec :family "Symbola" :size 14))
|
||||||
|
(custom-set-faces!
|
||||||
|
'(font-lock-comment-face :slant italic))
|
||||||
|
|
||||||
|
;; Might speedup all-the-icons
|
||||||
|
(setq inhibit-compacting-font-caches t)
|
||||||
|
|
||||||
|
;; Emoji
|
||||||
|
(setq emojify-display-style 'unicode)
|
||||||
|
|
||||||
|
;; Theme
|
||||||
|
(setq doom-theme 'doom-nord)
|
||||||
|
(setq doom-themes-enable-bold t
|
||||||
|
doom-themes-enable-italic t)
|
||||||
|
(setq doom-themes-treemacs-theme 'doom-colors
|
||||||
|
doom-themes-treemacs-enable-variable-pitch nil)
|
||||||
|
|
||||||
|
;; Pick an image for dashboard
|
||||||
|
;;(defun random-choice (items)
|
||||||
|
;; (let* ((size (length items))
|
||||||
|
;; (index (random size)))
|
||||||
|
;; (nth index items)))
|
||||||
|
;;(defvar *kawaii* (random-choice (delete "."
|
||||||
|
;; (delete ".." (directory-files (expand-file-name "images" doom-private-dir))))))
|
||||||
|
(setq +doom-dashboard-banner-file "yukino.png"
|
||||||
|
+doom-dashboard-banner-dir (expand-file-name "images" doom-private-dir)
|
||||||
|
+doom-dashboard-banner-padding '(0 . 2))
|
||||||
|
|
||||||
|
;; Line number
|
||||||
|
(setq display-line-numbers-type 'relative)
|
||||||
|
|
||||||
|
;; Indent
|
||||||
|
(setq-default
|
||||||
|
indent-tabs-mode nil
|
||||||
|
tab-width 2
|
||||||
|
evil-shift-width 2
|
||||||
|
standard-indent 2
|
||||||
|
line-spacing 2)
|
||||||
|
(after! highlight-indent-guides
|
||||||
|
(setq highlight-indent-guides-method 'character
|
||||||
|
highlight-indent-guides-responsive t))
|
||||||
|
|
||||||
|
;; Use ranger.el instead of default dired
|
||||||
|
(after! ranger
|
||||||
|
(setq ranger-override-dired-mode t
|
||||||
|
ranger-parent-depth 0
|
||||||
|
ranger-cleanup-eagerly t
|
||||||
|
ranger-show-hidden t
|
||||||
|
ranger-max-preview-size 20
|
||||||
|
ranger-dont-show-binary t))
|
||||||
|
|
||||||
|
;; Projectile
|
||||||
|
(setq projectile-project-search-path '("~/Code/")
|
||||||
|
projectile-auto-discover nil)
|
||||||
|
|
||||||
|
;; lsp
|
||||||
|
(after! company
|
||||||
|
(setq company-idle-delay 0.5
|
||||||
|
company-minimum-prefix-length 2)
|
||||||
|
(setq company-show-numbers nil))
|
||||||
|
(setq lsp-clients-clangd-args '("-j=2"
|
||||||
|
"--background-index"
|
||||||
|
"--clang-tidy"
|
||||||
|
"--completion-style=detailed"
|
||||||
|
"--pch-storage=memory"
|
||||||
|
"--header-insertion=iwyu"
|
||||||
|
"--header-insertion-decorators"))
|
||||||
|
(after! lsp-clangd (set-lsp-priority! 'clangd 2)) ;; Use clangd instead of default ccls
|
||||||
|
|
||||||
|
;; Quicker which-key
|
||||||
|
(setq which-key-idle-delay 0.5)
|
||||||
|
|
||||||
|
;; Org mode
|
||||||
|
(setq org-directory "~/Documents/Org/"
|
||||||
|
org-agenda-files '("~/Documents/Org/agenda.org")
|
||||||
|
org-default-notes-file (expand-file-name "notes.org" org-directory)
|
||||||
|
org-journal-dir "~/Documents/Org/Journal/"
|
||||||
|
org-hide-emphasis-markers t)
|
||||||
|
|
||||||
|
;; Elfeed
|
||||||
|
(setq rmh-elfeed-org-files (list (expand-file-name "elfeed.org" doom-private-dir)))
|
||||||
|
;;(add-hook! 'elfeed-search-mode-hook 'elfeed-update)
|
||||||
|
|
||||||
|
;; EMMS
|
||||||
|
;;(emms-all)
|
||||||
|
;;(emms-default-players)
|
||||||
|
;;(emms-playing-time 1)
|
||||||
|
;;(setq emms-source-file-default-directory "~/Music/"
|
||||||
|
;; emms-info-asynchronously 1
|
||||||
|
;; emms-playlist-buffer-name "*Music*"
|
||||||
|
;; emms-source-file-directory-tree-function 'emms-source-file-directory-tree-find
|
||||||
|
;; emms-browser-covers 'emms-browser-cache-thumbnail-async)
|
||||||
|
;;(setq emms-player-mpd-server-name "localhost"
|
||||||
|
;; emms-player-mpd-server-port "6600"
|
||||||
|
;; emms-player-mpd-music-directory "~/Music")
|
||||||
|
;;(add-to-list 'emms-info-functions 'emms-info-mpd 'emms-info-exiftool)
|
||||||
|
;;(add-to-list 'emms-player-list 'emms-player-mpd)
|
||||||
|
;;(map! :leader
|
||||||
|
;; :desc "Emms playlist"
|
||||||
|
;; "e a" #'emms-playlist-mode-go
|
||||||
|
;; :leader
|
||||||
|
;; :desc "Emms browse by album"
|
||||||
|
;; "e b" #'emms-browse-by-album
|
||||||
|
;; :leader
|
||||||
|
;; :desc "Emms pause track"
|
||||||
|
;; "e x" #'emms-pause
|
||||||
|
;; :leader
|
||||||
|
;; :desc "Emms stop track"
|
||||||
|
;; "e s" #'emms-stop
|
||||||
|
;; :leader
|
||||||
|
;; :desc "Emms previous track"
|
||||||
|
;; "e p" #'emms-previous
|
||||||
|
;; :leader
|
||||||
|
;; :desc "Emms next track"
|
||||||
|
;; "e n" #'emms-next)
|
||||||
|
|
||||||
|
;; Modeline
|
||||||
|
;;(display-time-mode 1)
|
||||||
|
;;(if (not (equal "Battery status not available" (battery)))
|
||||||
|
;; (display-battery-mode 1))
|
||||||
|
;;(emms-mode-line 1)
|
||||||
|
(setq doom-modeline-unicode-fallback t)
|
||||||
|
|
||||||
|
;; Here are some additional functions/macros that could help you configure Doom:
|
||||||
|
;;
|
||||||
|
;; - `load!' for loading external *.el files relative to this one
|
||||||
|
;; - `use-package!' for configuring packages
|
||||||
|
;; - `after!' for running code after a package has loaded
|
||||||
|
;; - `add-load-path!' for adding directories to the `load-path', relative to
|
||||||
|
;; this file. Emacs searches the `load-path' when you load packages with
|
||||||
|
;; `require' or `use-package'.
|
||||||
|
;; - `map!' for binding new keys
|
||||||
|
;;
|
||||||
|
;; To get information about any of these functions/macros, move the cursor over
|
||||||
|
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
|
||||||
|
;; This will open documentation for it, including demos of how they are used.
|
||||||
|
;;
|
||||||
|
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
|
||||||
|
;; they are implemented.
|
65
home/.config/doom/elfeed.org
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
#+TITLE: Elfeed
|
||||||
|
|
||||||
|
* root :elfeed:
|
||||||
|
** Programming :programming:
|
||||||
|
*** [[https://this-week-in-rust.org/rss.xml][This Week in Rust]]
|
||||||
|
*** Reddit :reddit:
|
||||||
|
**** [[https://www.reddit.com/r/learnprogramming/new.rss][r/learnprogramming]]
|
||||||
|
**** [[https://www.reddit.com/r/programming/new.rss][r/programming]]
|
||||||
|
**** [[https://www.reddit.com/r/dailyprogrammer/new.rss][r/dailyprogrammer]]
|
||||||
|
**** [[https://www.reddit.com/r/badcode/new.rss][r/badcode]]
|
||||||
|
** Technology :tech:
|
||||||
|
*** [[https://news.ycombinator.com/rss][Hacker News]]
|
||||||
|
*** [[https://www.phoronix.com/rss.php][Phoronix]]
|
||||||
|
*** Reddit :reddit:
|
||||||
|
**** [[https://www.reddit.com/r/privacytoolsIO/new.rss][r/privacytoolsIO]]
|
||||||
|
**** [[https://www.reddit.com/r/privacy/new.rss][r/privacy]]
|
||||||
|
**** [[https://www.reddit.com/r/TOR/new.rss][r/TOR]]
|
||||||
|
**** [[https://www.reddit.com/r/Monero/new.rss][r/Monero]]
|
||||||
|
** Reddit :reddit:
|
||||||
|
*** Linux/BSD :unix:
|
||||||
|
**** [[https://www.reddit.com/r/linux/new.rss][r/linux]]
|
||||||
|
**** [[https://www.reddit.com/r/linuxquestions/new.rss][r/linuxquestions]]
|
||||||
|
**** [[https://www.reddit.com/r/linux_gaming/new.rss][r/linux_gaming]]
|
||||||
|
**** [[https://www.reddit.com/r/openbsd/new.rss][r/openbsd]]
|
||||||
|
**** [[https://www.reddit.com/r/freebsd/new.rss][r/freebsd]]
|
||||||
|
**** [[https://www.reddit.com/r/Gentoo/new.rss][r/Gentoo]]
|
||||||
|
**** [[https://www.reddit.com/r/archlinux/new.rss][r/archlinux]]
|
||||||
|
**** [[https://www.reddit.com/r/voidlinux/new.rss][r/voidlinux]]
|
||||||
|
**** [[https://www.reddit.com/r/NixOS/new.rss][r/NixOS]]
|
||||||
|
**** [[https://www.reddit.com/r/bedrocklinux/new.rss][r/bedrocklinux]]
|
||||||
|
**** [[https://www.reddit.com/r/Fedora/new.rss][r/Fedora]]
|
||||||
|
**** [[https://www.reddit.com/r/gnome/new.rss][r/gnome]]
|
||||||
|
**** [[https://www.reddit.com/r/kde/new.rss][r/kde]]
|
||||||
|
**** [[https://www.reddit.com/r/swaywm/new.rss][r/swaywm]]
|
||||||
|
**** [[https://www.reddit.com/r/flatpak/new.rss][r/flatpak]]
|
||||||
|
**** [[https://www.reddit.com/r/emacs/new.rss][r/emacs]]
|
||||||
|
**** [[https://www.reddit.com/r/neovim/new.rss][r/neovim]]
|
||||||
|
**** [[https://www.reddit.com/r/GnuPG/new.rss][r/GnuPG]]
|
||||||
|
**** [[https://www.reddit.com/r/commandline/new.rss][r/commandline]]
|
||||||
|
*** Fluff :fluff:
|
||||||
|
**** [[https://www.reddit.com/r/unixporn/new.rss][r/unixporn]]
|
||||||
|
**** [[https://www.reddit.com/r/Rainmeter/new.rss][r/Rainmeter]]
|
||||||
|
**** [[https://www.reddit.com/r/FirefoxCSS/new.rss][r/FirefoxCSS]]
|
||||||
|
**** [[https://www.reddit.com/r/startpages/new.rss][r/startpages]]
|
||||||
|
**** [[https://www.reddit.com/r/wallpaper/new.rss][r/wallpaper]]
|
||||||
|
**** [[https://www.reddit.com/r/Animewallpaper/new.rss][r/Animewallpaper]]
|
||||||
|
**** [[https://www.reddit.com/r/AnimewallpapersSFW/new.rss][r/AnimewallpapersSFW]]
|
||||||
|
**** [[https://www.reddit.com/r/awwnime/new.rss][r/awwnime]]
|
||||||
|
**** [[https://www.reddit.com/r/Lolirefugees/new.rss][r/Lolirefugees]]
|
||||||
|
**** [[https://www.reddit.com/r/AnimeGirlsInKimonos/new.rss][r/AnimeGirlsInKimonos]]
|
||||||
|
**** [[https://www.reddit.com/r/fatestaynight/new.rss][r/fatestaynight]]
|
||||||
|
**** [[https://www.reddit.com/r/Saber/new.rss][r/Saber]]
|
||||||
|
**** [[https://www.reddit.com/r/OneTrueTohsaka/new.rss][r/OneTrueTohsaka]]
|
||||||
|
**** [[https://www.reddit.com/r/formalwaifus/new.rss][r/formalwaifus]]
|
||||||
|
**** [[https://www.reddit.com/r/LightNovels/new.rss][r/LightNovels]]
|
||||||
|
**** [[https://www.reddit.com/r/PixelArt/new.rss][r/PixelArt]]
|
||||||
|
**** [[https://www.reddit.com/r/riprequests/new.rss][r/riprequests]]
|
||||||
|
** News :news:
|
||||||
|
*** [[http://feeds.bbci.co.uk/news/rss.xml][BBC News]]
|
||||||
|
*** [[https://www.theguardian.com/world/rss][The Guardian]]
|
||||||
|
*** [[http://rss.cnn.com/rss/edition_world.rss][CNN World]]
|
||||||
|
*** [[https://www.nytimes.com/svc/collections/v1/publish/https://www.nytimes.com/section/world/rss.xml][The NewYork Times]]
|
||||||
|
*** [[http://feeds.washingtonpost.com/rss/world][Washington Post]]
|
||||||
|
*** [[https://www.cbsnews.com/latest/rss/world][CBS News]]
|
||||||
|
*** [[http://www.independent.co.uk/news/world/rss][The Independent]]
|
BIN
home/.config/doom/images/asuna.png
Normal file
After Width: | Height: | Size: 286 KiB |
BIN
home/.config/doom/images/chiyo.png
Normal file
After Width: | Height: | Size: 164 KiB |
BIN
home/.config/doom/images/emilia.png
Normal file
After Width: | Height: | Size: 325 KiB |
BIN
home/.config/doom/images/girl.png
Normal file
After Width: | Height: | Size: 213 KiB |
BIN
home/.config/doom/images/miku.png
Normal file
After Width: | Height: | Size: 271 KiB |
BIN
home/.config/doom/images/miku2.png
Normal file
After Width: | Height: | Size: 241 KiB |
BIN
home/.config/doom/images/rem.png
Normal file
After Width: | Height: | Size: 195 KiB |
BIN
home/.config/doom/images/rin.png
Normal file
After Width: | Height: | Size: 186 KiB |
BIN
home/.config/doom/images/yui.png
Normal file
After Width: | Height: | Size: 261 KiB |
BIN
home/.config/doom/images/yukino.png
Normal file
After Width: | Height: | Size: 296 KiB |
209
home/.config/doom/init.el
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
;;; init.el -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
;; This file controls what Doom modules are enabled and what order they load
|
||||||
|
;; in. Remember to run 'doom sync' after modifying it!
|
||||||
|
|
||||||
|
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
||||||
|
;; documentation. There you'll find a "Module Index" link where you'll find
|
||||||
|
;; a comprehensive list of Doom's modules and what flags they support.
|
||||||
|
|
||||||
|
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
|
||||||
|
;; 'C-c c k' for non-vim users) to view its documentation. This works on
|
||||||
|
;; flags as well (those symbols that start with a plus).
|
||||||
|
;;
|
||||||
|
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
||||||
|
;; directory (for easy access to its source code).
|
||||||
|
|
||||||
|
(doom! :input
|
||||||
|
;;chinese
|
||||||
|
japanese
|
||||||
|
;;layout ; auie,ctsrnm is the superior home row
|
||||||
|
|
||||||
|
:completion
|
||||||
|
(company ; the ultimate code completion backend
|
||||||
|
+childframe)
|
||||||
|
;;helm ; the *other* search engine for love and life
|
||||||
|
;;ido ; the other *other* search engine...
|
||||||
|
(ivy ; a search engine for love and life
|
||||||
|
+fuzzy
|
||||||
|
+prescient
|
||||||
|
+icons)
|
||||||
|
|
||||||
|
:ui
|
||||||
|
;;deft ; notational velocity for Emacs
|
||||||
|
doom ; what makes DOOM look the way it does
|
||||||
|
doom-dashboard ; a nifty splash screen for Emacs
|
||||||
|
doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||||
|
(emoji ; :)
|
||||||
|
+unicode
|
||||||
|
+github
|
||||||
|
+ascii)
|
||||||
|
;;fill-column ; a `fill-column' indicator
|
||||||
|
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||||
|
;;hydra
|
||||||
|
indent-guides ; highlighted indent columns
|
||||||
|
(ligatures +extra); ligatures and symbols to make your code pretty again
|
||||||
|
;;minimap ; show a map of the code on the side
|
||||||
|
modeline ; snazzy, Atom-inspired modeline, plus API
|
||||||
|
nav-flash ; blink cursor line after big motions
|
||||||
|
;;neotree ; a project drawer, like NERDTree for vim
|
||||||
|
ophints ; highlight the region an operation acts on
|
||||||
|
(popup ; tame sudden yet inevitable temporary windows
|
||||||
|
+all
|
||||||
|
+defaults)
|
||||||
|
tabs ; a tab bar for Emacs
|
||||||
|
treemacs ; a project drawer, like neotree but cooler
|
||||||
|
unicode ; extended unicode support for various languages
|
||||||
|
vc-gutter ; vcs diff in the fringe
|
||||||
|
;;vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||||
|
;;window-select ; visually switch windows
|
||||||
|
workspaces ; tab emulation, persistence & separate workspaces
|
||||||
|
;;zen ; distraction-free coding or writing
|
||||||
|
|
||||||
|
:editor
|
||||||
|
(evil +everywhere); come to the dark side, we have cookies
|
||||||
|
file-templates ; auto-snippets for empty files
|
||||||
|
fold ; (nigh) universal code folding
|
||||||
|
;;(format +onsave) ; automated prettiness
|
||||||
|
;;god ; run Emacs commands without modifier keys
|
||||||
|
;;lispy ; vim for lisp, for people who don't like vim
|
||||||
|
multiple-cursors ; editing in many places at once
|
||||||
|
;;objed ; text object editing for the innocent
|
||||||
|
;;parinfer ; turn lisp into python, sort of
|
||||||
|
;;rotate-text ; cycle region at point between text candidates
|
||||||
|
snippets ; my elves. They type so I don't have to
|
||||||
|
;;word-wrap ; soft wrapping with language-aware indent
|
||||||
|
|
||||||
|
:emacs
|
||||||
|
(dired ; making dired pretty [functional]
|
||||||
|
+ranger
|
||||||
|
+icons)
|
||||||
|
electric ; smarter, keyword-based electric-indent
|
||||||
|
(ibuffer +icons) ; interactive buffer management
|
||||||
|
(undo +tree) ; persistent, smarter undo for your inevitable mistakes
|
||||||
|
vc ; version-control and Emacs, sitting in a tree
|
||||||
|
|
||||||
|
:term
|
||||||
|
eshell ; the elisp shell that works everywhere
|
||||||
|
;;shell ; simple shell REPL for Emacs
|
||||||
|
;;term ; basic terminal emulator for Emacs
|
||||||
|
vterm ; the best terminal emulation in Emacs
|
||||||
|
|
||||||
|
:checkers
|
||||||
|
syntax ; tasing you for every semicolon you forget
|
||||||
|
;;spell ; tasing you for misspelling mispelling
|
||||||
|
;;grammar ; tasing grammar mistake every you make
|
||||||
|
|
||||||
|
:tools
|
||||||
|
;;ansible
|
||||||
|
debugger ; FIXME stepping through code, to help you add bugs
|
||||||
|
direnv
|
||||||
|
;;docker
|
||||||
|
editorconfig ; let someone else argue about tabs vs spaces
|
||||||
|
;;ein ; tame Jupyter notebooks with emacs
|
||||||
|
(eval +overlay) ; run code, run (also, repls)
|
||||||
|
;;gist ; interacting with github gists
|
||||||
|
lookup ; navigate your code and its documentation
|
||||||
|
lsp
|
||||||
|
(magit +forge) ; a git porcelain for Emacs
|
||||||
|
make ; run make tasks from Emacs
|
||||||
|
;;pass ; password manager for nerds
|
||||||
|
;;pdf ; pdf enhancements
|
||||||
|
;;prodigy ; FIXME managing external services & code builders
|
||||||
|
rgb ; creating color strings
|
||||||
|
;;taskrunner ; taskrunner for all your projects
|
||||||
|
;;terraform ; infrastructure as code
|
||||||
|
;;tmux ; an API for interacting with tmux
|
||||||
|
;;upload ; map local to remote projects via ssh/ftp
|
||||||
|
|
||||||
|
:os
|
||||||
|
;;(:if IS-MAC macos); improve compatibility with macOS
|
||||||
|
;;tty ; improve the terminal Emacs experience
|
||||||
|
|
||||||
|
:lang
|
||||||
|
;;agda ; types of types of types of types...
|
||||||
|
(cc +lsp) ; C/C++/Obj-C madness
|
||||||
|
;;clojure ; java with a lisp
|
||||||
|
;;common-lisp ; if you've seen one lisp, you've seen them all
|
||||||
|
;;coq ; proofs-as-programs
|
||||||
|
;;crystal ; ruby at the speed of c
|
||||||
|
;;csharp ; unity, .NET, and mono shenanigans
|
||||||
|
;;data ; config/data formats
|
||||||
|
;;(dart +flutter) ; paint ui and not much else
|
||||||
|
;;elixir ; erlang done right
|
||||||
|
;;elm ; care for a cup of TEA?
|
||||||
|
emacs-lisp ; drown in parentheses
|
||||||
|
;;erlang ; an elegant language for a more civilized age
|
||||||
|
;;ess ; emacs speaks statistics
|
||||||
|
;;faust ; dsp, but you get to keep your soul
|
||||||
|
;;fsharp ; ML stands for Microsoft's Language
|
||||||
|
;;fstar ; (dependent) types and (monadic) effects and Z3
|
||||||
|
;;gdscript ; the language you waited for
|
||||||
|
;;(go +lsp) ; the hipster dialect
|
||||||
|
;;(haskell +dante) ; a language that's lazier than I am
|
||||||
|
;;hy ; readability of scheme w/ speed of python
|
||||||
|
;;idris ;
|
||||||
|
json ; At least it ain't XML
|
||||||
|
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
|
||||||
|
(javascript +lsp) ; all(hope(abandon(ye(who(enter(here))))))
|
||||||
|
;;julia ; a better, faster MATLAB
|
||||||
|
;;kotlin ; a better, slicker Java(Script)
|
||||||
|
(latex ; writing papers in Emacs has never been so fun
|
||||||
|
+latexmk
|
||||||
|
+cdlatex
|
||||||
|
+fold)
|
||||||
|
;;lean
|
||||||
|
;;factor
|
||||||
|
;;ledger ; an accounting system in Emacs
|
||||||
|
lua ; one-based indices? one-based indices
|
||||||
|
markdown ; writing docs for people to ignore
|
||||||
|
;;nim ; python + lisp at the speed of c
|
||||||
|
;;nix ; I hereby declare "nix geht mehr!"
|
||||||
|
;;ocaml ; an objective camel
|
||||||
|
(org ; organize your plain life in plain text
|
||||||
|
+pretty
|
||||||
|
+dragndrop
|
||||||
|
;;+gnuplot
|
||||||
|
;;+jupyter
|
||||||
|
+journal
|
||||||
|
+present
|
||||||
|
+pandoc)
|
||||||
|
;;php ; perl's insecure younger brother
|
||||||
|
;;plantuml ; diagrams for confusing people more
|
||||||
|
;;purescript ; javascript, but functional
|
||||||
|
(python ; beautiful is better than ugly
|
||||||
|
+lsp
|
||||||
|
+pyenv
|
||||||
|
+poetry
|
||||||
|
+pyright)
|
||||||
|
;;qt ; the 'cutest' gui framework ever
|
||||||
|
;;racket ; a DSL for DSLs
|
||||||
|
;;raku ; the artist formerly known as perl6
|
||||||
|
;;rest ; Emacs as a REST client
|
||||||
|
;;rst ; ReST in peace
|
||||||
|
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||||
|
;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||||
|
;;scala ; java, but good
|
||||||
|
;;scheme ; a fully conniving family of lisps
|
||||||
|
sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||||
|
;;sml
|
||||||
|
;;solidity ; do you need a blockchain? No.
|
||||||
|
;;swift ; who asked for emoji variables?
|
||||||
|
;;terra ; Earth and Moon in alignment for performance.
|
||||||
|
web ; the tubes
|
||||||
|
yaml ; JSON, but readable
|
||||||
|
|
||||||
|
:email
|
||||||
|
(mu4e +gmail)
|
||||||
|
;;notmuch
|
||||||
|
;;(wanderlust +gmail)
|
||||||
|
|
||||||
|
:app
|
||||||
|
calendar
|
||||||
|
irc ; how neckbeards socialize
|
||||||
|
(rss +org) ; emacs as an RSS reader
|
||||||
|
;;twitter ; twitter client https://twitter.com/vnought
|
||||||
|
|
||||||
|
:config
|
||||||
|
;;literate
|
||||||
|
(default +bindings +smartparens))
|
61
home/.config/doom/packages.el
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
;; -*- no-byte-compile: t; -*-
|
||||||
|
;;; $DOOMDIR/packages.el
|
||||||
|
|
||||||
|
;; To install a package with Doom you must declare them here and run 'doom sync'
|
||||||
|
;; on the command line, then restart Emacs for the changes to take effect -- or
|
||||||
|
;; use 'M-x doom/reload'.
|
||||||
|
|
||||||
|
|
||||||
|
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
|
||||||
|
;(package! some-package)
|
||||||
|
|
||||||
|
;; To install a package directly from a remote git repo, you must specify a
|
||||||
|
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
|
||||||
|
;; https://github.com/raxod502/straight.el#the-recipe-format
|
||||||
|
;(package! another-package
|
||||||
|
; :recipe (:host github :repo "username/repo"))
|
||||||
|
|
||||||
|
;; If the package you are trying to install does not contain a PACKAGENAME.el
|
||||||
|
;; file, or is located in a subdirectory of the repo, you'll need to specify
|
||||||
|
;; `:files' in the `:recipe':
|
||||||
|
;(package! this-package
|
||||||
|
; :recipe (:host github :repo "username/repo"
|
||||||
|
; :files ("some-file.el" "src/lisp/*.el")))
|
||||||
|
|
||||||
|
;; If you'd like to disable a package included with Doom, you can do so here
|
||||||
|
;; with the `:disable' property:
|
||||||
|
;(package! builtin-package :disable t)
|
||||||
|
|
||||||
|
;; You can override the recipe of a built in package without having to specify
|
||||||
|
;; all the properties for `:recipe'. These will inherit the rest of its recipe
|
||||||
|
;; from Doom or MELPA/ELPA/Emacsmirror:
|
||||||
|
;(package! builtin-package :recipe (:nonrecursive t))
|
||||||
|
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
|
||||||
|
|
||||||
|
;; Specify a `:branch' to install a package from a particular branch or tag.
|
||||||
|
;; This is required for some packages whose default branch isn't 'master' (which
|
||||||
|
;; our package manager can't deal with; see raxod502/straight.el#279)
|
||||||
|
;(package! builtin-package :recipe (:branch "develop"))
|
||||||
|
|
||||||
|
;; Use `:pin' to specify a particular commit to install.
|
||||||
|
;(package! builtin-package :pin "1a2b3c4d5e")
|
||||||
|
|
||||||
|
|
||||||
|
;; Doom's packages are pinned to a specific commit and updated from release to
|
||||||
|
;; release. The `unpin!' macro allows you to unpin single packages...
|
||||||
|
;(unpin! pinned-package)
|
||||||
|
;; ...or multiple packages
|
||||||
|
;(unpin! pinned-package another-pinned-package)
|
||||||
|
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
|
||||||
|
;(unpin! t)
|
||||||
|
|
||||||
|
;; Emacs is an OS
|
||||||
|
;;(package! emms)
|
||||||
|
|
||||||
|
;; Syntax
|
||||||
|
(package! vimrc-mode)
|
||||||
|
(package! fish-mode)
|
||||||
|
|
||||||
|
;; Improvements
|
||||||
|
(package! magit-delta)
|
||||||
|
;; (package! mixed-pitch)
|
BIN
home/.config/dunst/clipboard.png
Normal file
After Width: | Height: | Size: 14 KiB |
429
home/.config/dunst/dunstrc
Normal file
@ -0,0 +1,429 @@
|
|||||||
|
[global]
|
||||||
|
### Display ###
|
||||||
|
|
||||||
|
# Which monitor should the notifications be displayed on.
|
||||||
|
monitor = 0
|
||||||
|
|
||||||
|
# Display notification on focused monitor. Possible modes are:
|
||||||
|
# mouse: follow mouse pointer
|
||||||
|
# keyboard: follow window with keyboard focus
|
||||||
|
# none: don't follow anything
|
||||||
|
#
|
||||||
|
# "keyboard" needs a window manager that exports the
|
||||||
|
# _NET_ACTIVE_WINDOW property.
|
||||||
|
# This should be the case for almost all modern window managers.
|
||||||
|
#
|
||||||
|
# If this option is set to mouse or keyboard, the monitor option
|
||||||
|
# will be ignored.
|
||||||
|
follow = mouse
|
||||||
|
|
||||||
|
# The geometry of the window:
|
||||||
|
# [{width}]x{height}[+/-{x}+/-{y}]
|
||||||
|
# The geometry of the message window.
|
||||||
|
# The height is measured in number of notifications everything else
|
||||||
|
# in pixels. If the width is omitted but the height is given
|
||||||
|
# ("-geometry x2"), the message window expands over the whole screen
|
||||||
|
# (dmenu-like). If width is 0, the window expands to the longest
|
||||||
|
# message displayed. A positive x is measured from the left, a
|
||||||
|
# negative from the right side of the screen. Y is measured from
|
||||||
|
# the top and down respectively.
|
||||||
|
# The width can be negative. In this case the actual width is the
|
||||||
|
# screen width minus the width defined in within the geometry option.
|
||||||
|
geometry = "0x0-5+30"
|
||||||
|
|
||||||
|
# Show how many messages are currently hidden (because of geometry).
|
||||||
|
indicate_hidden = yes
|
||||||
|
|
||||||
|
# Shrink window if it's smaller than the width. Will be ignored if
|
||||||
|
# width is 0.
|
||||||
|
shrink = no
|
||||||
|
|
||||||
|
# The transparency of the window. Range: [0; 100].
|
||||||
|
# This option will only work if a compositing window manager is
|
||||||
|
# present (e.g. xcompmgr, compiz, etc.).
|
||||||
|
transparency = 5
|
||||||
|
|
||||||
|
# The height of the entire notification. If the height is smaller
|
||||||
|
# than the font height and padding combined, it will be raised
|
||||||
|
# to the font height and padding.
|
||||||
|
notification_height = 0
|
||||||
|
|
||||||
|
# Draw a line of "separator_height" pixel height between two
|
||||||
|
# notifications.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
separator_height = 2
|
||||||
|
|
||||||
|
# Padding between text and separator.
|
||||||
|
padding = 4
|
||||||
|
|
||||||
|
# Horizontal padding.
|
||||||
|
horizontal_padding = 8
|
||||||
|
|
||||||
|
# Defines width in pixels of frame around the notification window.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
frame_width = 2
|
||||||
|
|
||||||
|
# Defines color of the frame around the notification window.
|
||||||
|
frame_color = "#81a1c1"
|
||||||
|
# frame_color = "#61afef"
|
||||||
|
|
||||||
|
# Define a color for the separator.
|
||||||
|
# possible values are:
|
||||||
|
# * auto: dunst tries to find a color fitting to the background;
|
||||||
|
# * foreground: use the same color as the foreground;
|
||||||
|
# * frame: use the same color as the frame;
|
||||||
|
# * anything else will be interpreted as a X color.
|
||||||
|
separator_color = "#4c566a"
|
||||||
|
# separator_color = "#4b5263"
|
||||||
|
|
||||||
|
# Sort messages by urgency.
|
||||||
|
sort = yes
|
||||||
|
|
||||||
|
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||||
|
# for longer than idle_threshold seconds.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
# A client can set the 'transient' hint to bypass this. See the rules
|
||||||
|
# section for how to disable this if necessary
|
||||||
|
idle_threshold = 0
|
||||||
|
|
||||||
|
### Text ###
|
||||||
|
|
||||||
|
font = Sarasa Fixed J 11
|
||||||
|
|
||||||
|
# The spacing between lines. If the height is smaller than the
|
||||||
|
# font height, it will get raised to the font height.
|
||||||
|
line_height = 0
|
||||||
|
|
||||||
|
# Possible values are:
|
||||||
|
# full: Allow a small subset of html markup in notifications:
|
||||||
|
# <b>bold</b>
|
||||||
|
# <i>italic</i>
|
||||||
|
# <s>strikethrough</s>
|
||||||
|
# <u>underline</u>
|
||||||
|
#
|
||||||
|
# For a complete reference see
|
||||||
|
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
|
||||||
|
#
|
||||||
|
# strip: This setting is provided for compatibility with some broken
|
||||||
|
# clients that send markup even though it's not enabled on the
|
||||||
|
# server. Dunst will try to strip the markup but the parsing is
|
||||||
|
# simplistic so using this option outside of matching rules for
|
||||||
|
# specific applications *IS GREATLY DISCOURAGED*.
|
||||||
|
#
|
||||||
|
# no: Disable markup parsing, incoming notifications will be treated as
|
||||||
|
# plain text. Dunst will not advertise that it has the body-markup
|
||||||
|
# capability if this is set as a global setting.
|
||||||
|
#
|
||||||
|
# It's important to note that markup inside the format option will be parsed
|
||||||
|
# regardless of what this is set to.
|
||||||
|
markup = full
|
||||||
|
|
||||||
|
# The format of the message. Possible variables are:
|
||||||
|
# %a appname
|
||||||
|
# %s summary
|
||||||
|
# %b body
|
||||||
|
# %i iconname (including its path)
|
||||||
|
# %I iconname (without its path)
|
||||||
|
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||||
|
# %n progress value if set without any extra characters
|
||||||
|
# %% Literal %
|
||||||
|
# Markup is allowed
|
||||||
|
format = "<b>%s</b>\n%b"
|
||||||
|
|
||||||
|
# Alignment of message text.
|
||||||
|
# Possible values are "left", "center" and "right".
|
||||||
|
alignment = center
|
||||||
|
|
||||||
|
# Show age of message if message is older than show_age_threshold
|
||||||
|
# seconds.
|
||||||
|
# Set to -1 to disable.
|
||||||
|
show_age_threshold = 60
|
||||||
|
|
||||||
|
# Split notifications into multiple lines if they don't fit into
|
||||||
|
# geometry.
|
||||||
|
word_wrap = yes
|
||||||
|
|
||||||
|
# When word_wrap is set to no, specify where to make an ellipsis in long lines.
|
||||||
|
# Possible values are "start", "middle" and "end".
|
||||||
|
ellipsize = middle
|
||||||
|
|
||||||
|
# Ignore newlines '\n' in notifications.
|
||||||
|
ignore_newline = no
|
||||||
|
|
||||||
|
# Stack together notifications with the same content
|
||||||
|
stack_duplicates = true
|
||||||
|
|
||||||
|
# Hide the count of stacked notifications with the same content
|
||||||
|
hide_duplicate_count = false
|
||||||
|
|
||||||
|
# Display indicators for URLs (U) and actions (A).
|
||||||
|
show_indicators = yes
|
||||||
|
|
||||||
|
### Icons ###
|
||||||
|
|
||||||
|
# Align icons left/right/off
|
||||||
|
icon_position = left
|
||||||
|
|
||||||
|
# Scale larger icons down to this size, set to 0 to disable
|
||||||
|
max_icon_size = 64
|
||||||
|
|
||||||
|
# Paths to default icons.
|
||||||
|
icon_path = /usr/share/icons/Papirus-Dark/16x16/status/:/usr/share/icons/Papirus-Dark/16x16/devices/
|
||||||
|
|
||||||
|
### History ###
|
||||||
|
|
||||||
|
# Should a notification popped up from history be sticky or timeout
|
||||||
|
# as if it would normally do.
|
||||||
|
sticky_history = yes
|
||||||
|
|
||||||
|
# Maximum amount of notifications kept in history
|
||||||
|
history_length = 7
|
||||||
|
|
||||||
|
### Misc/Advanced ###
|
||||||
|
|
||||||
|
# dmenu path.
|
||||||
|
#dmenu = /usr/bin/dmenu -p dunst:
|
||||||
|
|
||||||
|
# Browser for opening urls in context menu.
|
||||||
|
browser = /usr/bin/firefox --new-tab
|
||||||
|
|
||||||
|
# Always run rule-defined scripts, even if the notification is suppressed
|
||||||
|
always_run_script = true
|
||||||
|
|
||||||
|
# Define the title of the windows spawned by dunst
|
||||||
|
title = Dunst
|
||||||
|
|
||||||
|
# Define the class of the windows spawned by dunst
|
||||||
|
class = Dunst
|
||||||
|
|
||||||
|
# Print a notification on startup.
|
||||||
|
# This is mainly for error detection, since dbus (re-)starts dunst
|
||||||
|
# automatically after a crash.
|
||||||
|
startup_notification = false
|
||||||
|
|
||||||
|
# Manage dunst's desire for talking
|
||||||
|
# Can be one of the following values:
|
||||||
|
# crit: Critical features. Dunst aborts
|
||||||
|
# warn: Only non-fatal warnings
|
||||||
|
# mesg: Important Messages
|
||||||
|
# info: all unimportant stuff
|
||||||
|
# debug: all less than unimportant stuff
|
||||||
|
verbosity = mesg
|
||||||
|
|
||||||
|
# Define the corner radius of the notification window
|
||||||
|
# in pixel size. If the radius is 0, you have no rounded
|
||||||
|
# corners.
|
||||||
|
# The radius will be automatically lowered if it exceeds half of the
|
||||||
|
# notification height to avoid clipping text and/or icons.
|
||||||
|
corner_radius = 10
|
||||||
|
|
||||||
|
### Legacy
|
||||||
|
|
||||||
|
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||||
|
# This setting is provided for compatibility with older nVidia drivers that
|
||||||
|
# do not support RandR and using it on systems that support RandR is highly
|
||||||
|
# discouraged.
|
||||||
|
#
|
||||||
|
# By enabling this setting dunst will not be able to detect when a monitor
|
||||||
|
# is connected or disconnected which might break follow mode if the screen
|
||||||
|
# layout changes.
|
||||||
|
force_xinerama = false
|
||||||
|
|
||||||
|
### mouse
|
||||||
|
|
||||||
|
# Defines action of mouse event
|
||||||
|
# Possible values are:
|
||||||
|
# * none: Don't do anything.
|
||||||
|
# * do_action: If the notification has exactly one action, or one is marked as default,
|
||||||
|
# invoke it. If there are multiple and no default, open the context menu.
|
||||||
|
# * close_current: Close current notification.
|
||||||
|
# * close_all: Close all notifications.
|
||||||
|
mouse_left_click = do_action
|
||||||
|
mouse_middle_click = close_all
|
||||||
|
mouse_right_click = close_current
|
||||||
|
|
||||||
|
# Experimental features that may or may not work correctly. Do not expect them
|
||||||
|
# to have a consistent behaviour across releases.
|
||||||
|
[experimental]
|
||||||
|
# Calculate the dpi to use on a per-monitor basis.
|
||||||
|
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||||
|
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||||
|
# using the resolution and physical size. This might be useful in setups
|
||||||
|
# where there are multiple screens with very different dpi values.
|
||||||
|
per_monitor_dpi = false
|
||||||
|
|
||||||
|
[shortcuts]
|
||||||
|
|
||||||
|
# Shortcuts are specified as [modifier+][modifier+]...key
|
||||||
|
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
|
||||||
|
# "mod3" and "mod4" (windows-key).
|
||||||
|
# Xev might be helpful to find names for keys.
|
||||||
|
|
||||||
|
# Close notification.
|
||||||
|
close = ctrl+space
|
||||||
|
|
||||||
|
# Close all notifications.
|
||||||
|
close_all = ctrl+shift+space
|
||||||
|
|
||||||
|
# Redisplay last message(s).
|
||||||
|
# On the US keyboard layout "grave" is normally above TAB and left
|
||||||
|
# of "1". Make sure this key actually exists on your keyboard layout,
|
||||||
|
# e.g. check output of 'xmodmap -pke'
|
||||||
|
history = ctrl+grave
|
||||||
|
|
||||||
|
# Context menu.
|
||||||
|
context = ctrl+shift+period
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
# IMPORTANT: colors have to be defined in quotation marks.
|
||||||
|
# Otherwise the "#" and following would be interpreted as a comment.
|
||||||
|
# --- Nord --- #
|
||||||
|
background = "#2e3440"
|
||||||
|
foreground = "#81a1c1"
|
||||||
|
# -- OneDark -- #
|
||||||
|
# background = "#282c34"
|
||||||
|
# foreground = "#61afef"
|
||||||
|
timeout = 10
|
||||||
|
# Icon for notifications with low urgency, uncomment to enable
|
||||||
|
icon = ~/.config/dunst/penguin.png
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
# --- Nord --- #
|
||||||
|
background = "#2e3440"
|
||||||
|
foreground = "#ebcb8b"
|
||||||
|
# -- OneDark -- #
|
||||||
|
# background = "#282c34"
|
||||||
|
# foreground = "#e5c07b"
|
||||||
|
timeout = 10
|
||||||
|
# Icon for notifications with normal urgency, uncomment to enable
|
||||||
|
icon = ~/.config/dunst/penguin.png
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
# --- Nord --- #
|
||||||
|
background = "#bf616a"
|
||||||
|
foreground = "#2e3440"
|
||||||
|
frame_color = "#ebcb8b"
|
||||||
|
# -- OneDark -- #
|
||||||
|
# background = "#e06c75"
|
||||||
|
# foreground = "#282c34"
|
||||||
|
# frame_color = "#e5c07b"
|
||||||
|
timeout = 0
|
||||||
|
# Icon for notifications with critical urgency, uncomment to enable
|
||||||
|
icon = ~/.config/dunst/penguin_red.png
|
||||||
|
|
||||||
|
# Every section that isn't one of the above is interpreted as a rules to
|
||||||
|
# override settings for certain messages.
|
||||||
|
#
|
||||||
|
# Messages can be matched by
|
||||||
|
# appname (discouraged, see desktop_entry)
|
||||||
|
# body
|
||||||
|
# category
|
||||||
|
# desktop_entry
|
||||||
|
# icon
|
||||||
|
# match_transient
|
||||||
|
# msg_urgency
|
||||||
|
# stack_tag
|
||||||
|
# summary
|
||||||
|
#
|
||||||
|
# and you can override the
|
||||||
|
# background
|
||||||
|
# foreground
|
||||||
|
# format
|
||||||
|
# frame_color
|
||||||
|
# fullscreen
|
||||||
|
# new_icon
|
||||||
|
# set_stack_tag
|
||||||
|
# set_transient
|
||||||
|
# timeout
|
||||||
|
# urgency
|
||||||
|
#
|
||||||
|
# Shell-like globbing will get expanded.
|
||||||
|
#
|
||||||
|
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
||||||
|
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||||
|
# the desktop-entry won't get localized.
|
||||||
|
#
|
||||||
|
# SCRIPTING
|
||||||
|
# You can specify a script that gets run when the rule matches by
|
||||||
|
# setting the "script" option.
|
||||||
|
# The script will be called as follows:
|
||||||
|
# script appname summary body icon urgency
|
||||||
|
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||||
|
#
|
||||||
|
# NOTE: if you don't want a notification to be displayed, set the format
|
||||||
|
# to "".
|
||||||
|
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||||
|
# to find fitting options for rules.
|
||||||
|
|
||||||
|
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||||
|
# client
|
||||||
|
#[transient_disable]
|
||||||
|
# match_transient = yes
|
||||||
|
# set_transient = no
|
||||||
|
#
|
||||||
|
# Make the handling of transient notifications more strict by making them not
|
||||||
|
# be placed in history.
|
||||||
|
#[transient_history_ignore]
|
||||||
|
# match_transient = yes
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
# fullscreen values
|
||||||
|
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||||
|
# delay: displays the new notification, if there is no fullscreen window active
|
||||||
|
# If the notification is already drawn, it won't get undrawn.
|
||||||
|
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||||
|
# withdrawn from screen again and will get delayed like a new notification
|
||||||
|
#[fullscreen_delay_everything]
|
||||||
|
# fullscreen = delay
|
||||||
|
#[fullscreen_show_critical]
|
||||||
|
# msg_urgency = critical
|
||||||
|
# fullscreen = show
|
||||||
|
|
||||||
|
#[espeak]
|
||||||
|
# summary = "*"
|
||||||
|
# script = dunst_espeak.sh
|
||||||
|
|
||||||
|
#[script-test]
|
||||||
|
# summary = "*script*"
|
||||||
|
# script = dunst_test.sh
|
||||||
|
|
||||||
|
#[ignore]
|
||||||
|
# # This notification will not be displayed
|
||||||
|
# summary = "foobar"
|
||||||
|
# format = ""
|
||||||
|
|
||||||
|
#[history-ignore]
|
||||||
|
# # This notification will not be saved in history
|
||||||
|
# summary = "foobar"
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
#[skip-display]
|
||||||
|
# # This notification will not be displayed, but will be included in the history
|
||||||
|
# summary = "foobar"
|
||||||
|
# skip_display = yes
|
||||||
|
|
||||||
|
#[signed_on]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = "*signed on*"
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[signed_off]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *signed off*
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[says]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *says*
|
||||||
|
# urgency = critical
|
||||||
|
#
|
||||||
|
#[twitter]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *twitter.com*
|
||||||
|
# urgency = normal
|
||||||
|
#
|
||||||
|
#[stack-volumes]
|
||||||
|
# appname = "some_volume_notifiers"
|
||||||
|
# set_stack_tag = "volume"
|
||||||
|
#
|
||||||
|
# vim: ft=cfg
|
BIN
home/.config/dunst/headphones.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
home/.config/dunst/idea.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
home/.config/dunst/microphone.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
home/.config/dunst/mute.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
home/.config/dunst/notrackpad.png
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
home/.config/dunst/penguin.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
home/.config/dunst/penguin_red.png
Executable file
After Width: | Height: | Size: 32 KiB |
BIN
home/.config/dunst/photograph.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
home/.config/dunst/speaker.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
home/.config/dunst/trackpad.png
Normal file
After Width: | Height: | Size: 17 KiB |
70
home/.config/fish/conf.d/aliases.fish
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
# _________________
|
||||||
|
# ___ |__ /__(_)_____ ________
|
||||||
|
# __ /| |_ /__ /_ __ `/_ ___/
|
||||||
|
# _ ___ | / _ / / /_/ /_(__ )
|
||||||
|
# /_/ |_/_/ /_/ \__,_/ /____/
|
||||||
|
#
|
||||||
|
# remap
|
||||||
|
alias doas='doas --'
|
||||||
|
abbr p pulsemixer
|
||||||
|
alias startx='startx $HOME/.config/X11/xinitrc'
|
||||||
|
alias fehwpp="feh --no-fehbg --bg-fill --randomize ~/Pictures/Wallpapers/*"
|
||||||
|
alias ls='exa -lF --icons --sort=type'
|
||||||
|
alias la='exa -laF --icons --sort=type'
|
||||||
|
alias lt='exa --tree'
|
||||||
|
alias cp='cp -vir'
|
||||||
|
alias mv='mv -vir'
|
||||||
|
alias rm='rm -vr'
|
||||||
|
alias mkdir='mkdir -pv'
|
||||||
|
abbr no 'grep -viP'
|
||||||
|
abbr latest_pkg "expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort | tail -n 30"
|
||||||
|
alias yarn='yarn --use-yarnrc $HOME/.config/yarn/config'
|
||||||
|
abbr tmux 'TERM=screen-256color command tmux'
|
||||||
|
alias cat='bat --style plain --color=always'
|
||||||
|
alias myip='curl ipinfo.io/geo'
|
||||||
|
# colorizing
|
||||||
|
alias grep='grep --color=auto'
|
||||||
|
alias fgrep='fgrep --color=auto'
|
||||||
|
alias egrep='egrep --color=auto'
|
||||||
|
alias diff='diff --color=auto'
|
||||||
|
alias ncdu='ncdu --color=dark'
|
||||||
|
alias ip='ip -color=always'
|
||||||
|
# vim
|
||||||
|
abbr v nvim
|
||||||
|
abbr vi 'nvim -o (fzf)'
|
||||||
|
# emacs
|
||||||
|
alias doom='$HOME/.config/emacs/bin/doom'
|
||||||
|
abbr e 'emacs -nw'
|
||||||
|
alias emacs="emacsclient -c -a 'emacs'"
|
||||||
|
# rsync
|
||||||
|
abbr rsyncdir "rsync -uavP --delete-after"
|
||||||
|
abbr rsyncfile "rsync -avP"
|
||||||
|
# youtube-dl
|
||||||
|
abbr yoump3 'youtube-dl --extract-audio --audio-format mp3 --embed-thumbnail'
|
||||||
|
abbr youflac 'youtube-dl --extract-audio --audio-format flac'
|
||||||
|
abbr youbest 'youtube-dl -f bestvideo+bestaudio'
|
||||||
|
abbr youlist 'youtube-dl -f bestvideo+bestaudio --yes-playlist'
|
||||||
|
# nnn
|
||||||
|
abbr nnn 'nnn -Hc'
|
||||||
|
alias ncp="cat $XDG_CONFIG_HOME/nnn/.selection | tr '\0' '\n'"
|
||||||
|
# zlua
|
||||||
|
alias zc='z -c' # restrict matches to subdirs of $PWD
|
||||||
|
alias zz='z -i' # cd with interactive selection
|
||||||
|
alias zf='z -I' # use fzf to select in multiple matches
|
||||||
|
alias zb='z -b' # quickly cd to the parent directory
|
||||||
|
alias zbi='z -b -i' # interactive jump backward
|
||||||
|
alias zbf='z -b -I' # interactive jump backward with fzf
|
||||||
|
|
||||||
|
# Lazy cd-ing
|
||||||
|
function .. ; cd .. ; end
|
||||||
|
function ... ; cd ../.. ; end
|
||||||
|
function .... ; cd ../../.. ; end
|
||||||
|
|
||||||
|
# Bad hands
|
||||||
|
abbr gti git
|
||||||
|
abbr ragner ranger
|
||||||
|
abbr claer clear
|
||||||
|
abbr sduo sudo
|
||||||
|
abbr duso sudo
|
||||||
|
abbr daso doas
|
||||||
|
abbr daos doas
|
363
home/.config/fish/conf.d/env.fish
Normal file
@ -0,0 +1,363 @@
|
|||||||
|
# __________
|
||||||
|
# ___ ____/_________ __
|
||||||
|
# __ __/ __ __ \_ | / /
|
||||||
|
# _ /___ _ / / /_ |/ /
|
||||||
|
# /_____/ /_/ /_/_____/
|
||||||
|
|
||||||
|
# cursor shapes
|
||||||
|
set -g fish_cursor_default block
|
||||||
|
set -g fish_cursor_insert line
|
||||||
|
set -g fish_cursor_replace_one underscore
|
||||||
|
set -g fish_cursor_visual block
|
||||||
|
|
||||||
|
# no greeting
|
||||||
|
set -g fish_greeting
|
||||||
|
|
||||||
|
# XDG thingy
|
||||||
|
set -gx XDG_CONFIG_HOME $HOME/.config
|
||||||
|
set -gx XDG_CACHE_HOME $HOME/.cache
|
||||||
|
set -gx XDG_DATA_HOME $HOME/.local/share
|
||||||
|
set -gx XDG_DATA_DIRS $HOME/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
|
||||||
|
# alternate paths
|
||||||
|
set -gx LESSHISTFILE -
|
||||||
|
set -gx MOST_INITFILE $XDG_CONFIG_HOME/mostrc
|
||||||
|
set -gx GTK2_RC_FILES $XDG_CONFIG_HOME/gtk-2.0/gtkrc
|
||||||
|
set -gx TERMINFO $XDG_DATA_HOME/terminfo
|
||||||
|
set -gx TERMINFO_DIRS $XDG_DATA_HOME/terminfo:/usr/share/terminfo
|
||||||
|
set -gx GOPATH $XDG_DATA_HOME/go
|
||||||
|
set -gx GRADLE_USER_HOME $XDG_DATA_HOME/gradle
|
||||||
|
set -gx _JAVA_OPTIONS -Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java
|
||||||
|
set -gx NODE_REPL_HISTORY $XDG_CACHE_HOME/node_repl_history
|
||||||
|
set -gx NPM_CONFIG_USERCONFIG $XDG_CONFIG_HOME/npm/npmrc
|
||||||
|
set -gx NPM_CONFIG_PREFIX $XDG_DATA_HOME/npm-global
|
||||||
|
set -gx CARGO_HOME $XDG_DATA_HOME/cargo
|
||||||
|
set -gx RUSTUP_HOME $XDG_DATA_HOME/rustup
|
||||||
|
set -gx BUNDLE_USER_CONFIG $XDG_CONFIG_HOME/bundle
|
||||||
|
set -gx BUNDLE_USER_CACHE $XDG_CACHE_HOME/bundle
|
||||||
|
set -gx BUNDLE_USER_PLUGIN $XDG_DATA_HOME/bundle
|
||||||
|
set -gx GEM_HOME $XDG_DATA_HOME/gem
|
||||||
|
set -gx GEM_SPEC_CACHE $XDG_CACHE_HOME/gem
|
||||||
|
set -gx DOCKER_CONFIG $XDG_CONFIG_HOME/docker
|
||||||
|
set -gx GNUPGHOME $XDG_DATA_HOME/gnupg
|
||||||
|
set -gx IPYTHONDIR $XDG_CONFIG_HOME/ipython
|
||||||
|
set -gx JUPYTER_CONFIG_DIR $XDG_CONFIG_HOME/jupyter
|
||||||
|
set -gx XAUTHORITY $XDG_RUNTIME_DIR/Xauthority
|
||||||
|
set -gx XINITRC $XDG_CONFIG_HOME/X11/xinitrc
|
||||||
|
set -gx XSERVERRC $XDG_CONFIG_HOME/X11/xserverrc
|
||||||
|
|
||||||
|
# env
|
||||||
|
set -gx EDITOR nvim
|
||||||
|
set -gx VISUAL nvim
|
||||||
|
set -gx PAGER less
|
||||||
|
set -gx SVDIR $HOME/.local/share/service
|
||||||
|
set -gx _JAVA_AWT_WM_NONREPARENTING 1
|
||||||
|
set -gx GPG_TTY (tty)
|
||||||
|
# bat
|
||||||
|
set -gx BAT_THEME "base16"
|
||||||
|
# pfetch
|
||||||
|
set -gx PF_INFO "ascii title kernel wm shell uptime pkgs memory"
|
||||||
|
# fzf
|
||||||
|
set -gx FZF_DEFAULT_OPTS "--multi --layout=reverse --inline-info
|
||||||
|
--color fg:#D8DEE9,bg:#2E3440,hl:#A3BE8C,fg+:#D8DEE9,bg+:#434C5E,hl+:#A3BE8C
|
||||||
|
--color pointer:#BF616A,info:#4C566A,spinner:#4C566A,header:#4C566A,prompt:#81A1C1,marker:#EBCB8B"
|
||||||
|
# set -gx FZF_DEFAULT_OPTS "--multi --layout=reverse --inline-info
|
||||||
|
# --color dark
|
||||||
|
# --color fg:-1,bg:-1,hl:#c678dd,fg+:#ffffff,bg+:#4b5263,hl+:#d858fe
|
||||||
|
# --color info:#98c379,prompt:#61afef,pointer:#be5046,marker:#e5c07b,spinner:#61afef,header:#61afef"
|
||||||
|
set -gx FZF_DEFAULT_COMMAND "fd --type f --follow --hidden --exclude .git"
|
||||||
|
set -gx FZF_CTRL_T_OPTS "--no-height --preview-window 'left:60%' --preview '$HOME/.local/bin/garbage/preview {} 2>/dev/null'"
|
||||||
|
set -gx FZF_CTRL_T_COMMAND "fd --follow --hidden --exclude .git"
|
||||||
|
set -gx FZF_ALT_C_OPTS "--preview 'tree -La 1 -C --dirsfirst {} 2>/dev/null'"
|
||||||
|
set -gx FZF_ALT_C_COMMAND "fd --type d --follow --hidden --exclude .git"
|
||||||
|
set -gx FZF_TMUX 1
|
||||||
|
# ibus
|
||||||
|
set -gx GTK_IM_MODULE ibus
|
||||||
|
set -gx XMODIFIERS @im=ibus
|
||||||
|
set -gx QT_IM_MODULE ibus
|
||||||
|
# qt5ct
|
||||||
|
set -gx QT_QPA_PLATFORMTHEME qt5ct
|
||||||
|
set -gx QT_PLATFORM_PLUGIN qt5ct
|
||||||
|
# .NET
|
||||||
|
set -gx DOTNET_CLI_TELEMETRY_OPTOUT 1
|
||||||
|
# nodenv
|
||||||
|
set -gx NODENV_ROOT $XDG_DATA_HOME/nodenv
|
||||||
|
# pyenv
|
||||||
|
set -gx PYENV_ROOT $XDG_DATA_HOME/pyenv
|
||||||
|
# poetry
|
||||||
|
set -gx POETRY_HOME $XDG_DATA_HOME/poetry
|
||||||
|
# z.lua
|
||||||
|
set -gx _ZL_DATA $HOME/.local/share/zlua/zlua
|
||||||
|
set -gx _ZL_HYPHEN 1
|
||||||
|
set -gx _ZL_MATCH_MODE 1
|
||||||
|
set -gx _ZL_FZF_FLAG '-e'
|
||||||
|
set -gx _ZL_INT_SORT 1
|
||||||
|
set -gx _ZL_ROOT_MARKERS ".git,.svn,.hg,.root,package.json,.projectile,.pro"
|
||||||
|
set -gx RANGER_ZLUA $HOME/.config/fish/z.lua
|
||||||
|
# nnn
|
||||||
|
if command -v nnn >/dev/null
|
||||||
|
set -gx TERMINAL alacritty
|
||||||
|
set -gx NNN_PLUG 't:preview-tui;m:nmount;f:fzcd;c:chksum;n:nuke;z:fzz;b:bulknew;d:dups:h:hexview;o:organize;p:pdfview;s:suedit'
|
||||||
|
set -gx NNN_FIFO /tmp/nnn.fifo
|
||||||
|
set -gx NNN_ARCHIVE '\\.(7z|a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|rar|rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)$'
|
||||||
|
set -gx NNN_OPENER $XDG_CONFIG_HOME/nnn/plugins/nuke
|
||||||
|
set -gx USE_SCOPE 1
|
||||||
|
set -gx NNN_FCOLORS 'c1e2272e006033f7c6d6abc4'
|
||||||
|
set -gx NNN_COLORS '2345'
|
||||||
|
set -gx NNN_BMS "h:~;C:~/Code;D:~/Downloads;P:~/Pictures;V:~/Videos;A:~/Media;U:~/Music;f:~/.config;l:~/.local/share;e:/etc;u:/usr/share;o:/opt;b:/boot;m:/media;M:/mnt;i:/run/media/$USER;v:/var;t:/tmp;d:/dev;s:/srv;r:/;k:/bedrock/strata"
|
||||||
|
set -gx NNN_SSHFS "sshfs -o reconnect,idmap=user,follow_symlinks"
|
||||||
|
end
|
||||||
|
# lf
|
||||||
|
if command -v lf >/dev/null
|
||||||
|
set -gx LF_ICONS "\
|
||||||
|
tw=:\
|
||||||
|
st=:\
|
||||||
|
ow=:\
|
||||||
|
dt=:\
|
||||||
|
di=:\
|
||||||
|
fi=:\
|
||||||
|
ln=:\
|
||||||
|
or=:\
|
||||||
|
ex=:\
|
||||||
|
*.7z=:\
|
||||||
|
*.a=:\
|
||||||
|
*.ace=:\
|
||||||
|
*.alz=:\
|
||||||
|
*.ai=:\
|
||||||
|
*.apk=:\
|
||||||
|
*.arc=:\
|
||||||
|
*.arj=:\
|
||||||
|
*.asm=:\
|
||||||
|
*.asp=:\
|
||||||
|
*.aup=:\
|
||||||
|
*.avi=:\
|
||||||
|
*.awk=:\
|
||||||
|
*.bash=:\
|
||||||
|
*.bat=:\
|
||||||
|
*.bmp=:\
|
||||||
|
*.bz=:\
|
||||||
|
*.bz2=:\
|
||||||
|
*.c=:\
|
||||||
|
*.c++=:\
|
||||||
|
*.cab=:\
|
||||||
|
*.cbr=:\
|
||||||
|
*.cbz=:\
|
||||||
|
*.cc=:\
|
||||||
|
*.class=:\
|
||||||
|
*.clj=:\
|
||||||
|
*.cljc=:\
|
||||||
|
*.cljs=:\
|
||||||
|
*.cmake=:\
|
||||||
|
*.cmd=:\
|
||||||
|
*.coffee=:\
|
||||||
|
*.conf=:\
|
||||||
|
*.cp=:\
|
||||||
|
*.cpio=:\
|
||||||
|
*.cpp=:\
|
||||||
|
*.cs=:\
|
||||||
|
*.csh=:\
|
||||||
|
*.css=:\
|
||||||
|
*.cue=:\
|
||||||
|
*.cvs=:\
|
||||||
|
*.cxx=:\
|
||||||
|
*.d=:\
|
||||||
|
*.dart=:\
|
||||||
|
*.db=:\
|
||||||
|
*.deb=:\
|
||||||
|
*.diff=:\
|
||||||
|
*.dll=:\
|
||||||
|
*.doc=:\
|
||||||
|
*.docx=:\
|
||||||
|
*.dump=:\
|
||||||
|
*.dwm=:\
|
||||||
|
*.dz=:\
|
||||||
|
*.edn=:\
|
||||||
|
*.eex=:\
|
||||||
|
*.efi=:\
|
||||||
|
*.ejs=:\
|
||||||
|
*.elf=:\
|
||||||
|
*.elm=:\
|
||||||
|
*.epub=:\
|
||||||
|
*.ear=:\
|
||||||
|
*.erl=:\
|
||||||
|
*.esd=:\
|
||||||
|
*.ex=:\
|
||||||
|
*.exe=:\
|
||||||
|
*.exs=:\
|
||||||
|
*.f#=:\
|
||||||
|
*.fifo=|:\
|
||||||
|
*.fish=:\
|
||||||
|
*.flac=:\
|
||||||
|
*.flv=:\
|
||||||
|
*.fs=:\
|
||||||
|
*.fsi=:\
|
||||||
|
*.fsscript=:\
|
||||||
|
*.fsx=:\
|
||||||
|
*.gem=:\
|
||||||
|
*.gemspec=:\
|
||||||
|
*.gif=:\
|
||||||
|
*.go=:\
|
||||||
|
*.gz=:\
|
||||||
|
*.gzip=:\
|
||||||
|
*.h=:\
|
||||||
|
*.haml=:\
|
||||||
|
*.hbs=:\
|
||||||
|
*.hh=:\
|
||||||
|
*.hpp=:\
|
||||||
|
*.hrl=:\
|
||||||
|
*.hs=:\
|
||||||
|
*.htaccess=:\
|
||||||
|
*.htm=:\
|
||||||
|
*.html=:\
|
||||||
|
*.htpasswd=:\
|
||||||
|
*.hxx=:\
|
||||||
|
*.ico=:\
|
||||||
|
*.img=:\
|
||||||
|
*.ini=:\
|
||||||
|
*.iso=:\
|
||||||
|
*.jar=:\
|
||||||
|
*.java=:\
|
||||||
|
*.jl=:\
|
||||||
|
*.jpeg=:\
|
||||||
|
*.jpg=:\
|
||||||
|
*.js=:\
|
||||||
|
*.json=:\
|
||||||
|
*.jsx=:\
|
||||||
|
*.key=:\
|
||||||
|
*.ksh=:\
|
||||||
|
*.leex=:\
|
||||||
|
*.less=:\
|
||||||
|
*.lha=:\
|
||||||
|
*.lhs=:\
|
||||||
|
*.log=:\
|
||||||
|
*.lrz=:\
|
||||||
|
*.lua=:\
|
||||||
|
*.lz=:\
|
||||||
|
*.lz4=:\
|
||||||
|
*.lzh=:\
|
||||||
|
*.lzma=:\
|
||||||
|
*.lzo=:\
|
||||||
|
*.m2v=:\
|
||||||
|
*.m4a=:\
|
||||||
|
*.m4v=:\
|
||||||
|
*.markdown=:\
|
||||||
|
*.md=:\
|
||||||
|
*.mdx=:\
|
||||||
|
*.mjpeg=:\
|
||||||
|
*.mjpg=:\
|
||||||
|
*.mjs=:\
|
||||||
|
*.mkv=:\
|
||||||
|
*.ml=λ:\
|
||||||
|
*.mli=λ:\
|
||||||
|
*.mng=:\
|
||||||
|
*.mov=:\
|
||||||
|
*.mp3=:\
|
||||||
|
*.mp4=:\
|
||||||
|
*.mp4v=:\
|
||||||
|
*.mpeg=:\
|
||||||
|
*.mpg=:\
|
||||||
|
*.msi=:\
|
||||||
|
*.mustache=:\
|
||||||
|
*.nix=:\
|
||||||
|
*.o=:\
|
||||||
|
*.odt=:\
|
||||||
|
*.ods=:\
|
||||||
|
*.odp=:\
|
||||||
|
*.ogg=:\
|
||||||
|
*.pdf=:\
|
||||||
|
*.php=:\
|
||||||
|
*.pl=:\
|
||||||
|
*.pm=:\
|
||||||
|
*.png=:\
|
||||||
|
*.pp=:\
|
||||||
|
*.ppt=:\
|
||||||
|
*.pptx=:\
|
||||||
|
*.pro=:\
|
||||||
|
*.ps1=:\
|
||||||
|
*.psb=:\
|
||||||
|
*.pub=:\
|
||||||
|
*.py=:\
|
||||||
|
*.pyc=:\
|
||||||
|
*.pyd=:\
|
||||||
|
*.pyo=:\
|
||||||
|
*.r=ﳒ:\
|
||||||
|
*.rake=:\
|
||||||
|
*.rar=:\
|
||||||
|
*.rb=:\
|
||||||
|
*.rc=:\
|
||||||
|
*.rlib=:\
|
||||||
|
*.rmd=:\
|
||||||
|
*.rom=:\
|
||||||
|
*.rpm=:\
|
||||||
|
*.rproj=鉶:\
|
||||||
|
*.rs=:\
|
||||||
|
*.rss=:\
|
||||||
|
*.rtf=:\
|
||||||
|
*.rz=:\
|
||||||
|
*.s=:\
|
||||||
|
*.sar=:\
|
||||||
|
*.sass=:\
|
||||||
|
*.scala=:\
|
||||||
|
*.scss=:\
|
||||||
|
*.sh=:\
|
||||||
|
*.slim=:\
|
||||||
|
*.sln=:\
|
||||||
|
*.so=:\
|
||||||
|
*.sql=:\
|
||||||
|
*.styl=:\
|
||||||
|
*.suo=:\
|
||||||
|
*.svg=:\
|
||||||
|
*.swift=:\
|
||||||
|
*.swm=:\
|
||||||
|
*.t=:\
|
||||||
|
*.t7z=:\
|
||||||
|
*.tar=:\
|
||||||
|
*.taz=:\
|
||||||
|
*.tbz=:\
|
||||||
|
*.tbz2=:\
|
||||||
|
*.tex=ﭨ:\
|
||||||
|
*.tgz=:\
|
||||||
|
*.tif=:\
|
||||||
|
*.tiff=:\
|
||||||
|
*.tlz=:\
|
||||||
|
*.toml=:\
|
||||||
|
*.ts=:\
|
||||||
|
*.tsx=:\
|
||||||
|
*.txz=:\
|
||||||
|
*.tz=:\
|
||||||
|
*.tzo=:\
|
||||||
|
*.tzst=:\
|
||||||
|
*.twig=:\
|
||||||
|
*.vifm=:\
|
||||||
|
*.vim=:\
|
||||||
|
*.vimrc=:\
|
||||||
|
*.vob=:\
|
||||||
|
*.vue=﵂:\
|
||||||
|
*.wav=:\
|
||||||
|
*.war=:\
|
||||||
|
*.webm=:\
|
||||||
|
*.webmanifest=:\
|
||||||
|
*.webp=:\
|
||||||
|
*.wim=:\
|
||||||
|
*.xbm=:\
|
||||||
|
*.xbps=:\
|
||||||
|
*.xcplayground=:\
|
||||||
|
*.xhtml=:\
|
||||||
|
*.xls=:\
|
||||||
|
*.xlsx=:\
|
||||||
|
*.xml=:\
|
||||||
|
*.xpm=:\
|
||||||
|
*.xul=:\
|
||||||
|
*.xz=:\
|
||||||
|
*.yaml=:\
|
||||||
|
*.yml=:\
|
||||||
|
*.z=:\
|
||||||
|
*.zip=:\
|
||||||
|
*.zoo=:\
|
||||||
|
*.zsh=:\
|
||||||
|
*.zip=:\
|
||||||
|
*.zst=:\
|
||||||
|
"
|
||||||
|
end
|
||||||
|
|
||||||
|
# PATH
|
||||||
|
set -gx fish_user_paths $HOME/.local/bin $HOME/.local/bin/fzf $NODENV_ROOT/bin $PYENV_ROOT/bin $POETRY_HOME/bin $CARGO_HOME/bin $NPM_CONFIG_PREFIX/bin
|
66
home/.config/fish/conf.d/evaluate.fish
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
# Github cli completion
|
||||||
|
if command -v gh > /dev/null; and not test -f $HOME/.config/fish/completions/gh.fish
|
||||||
|
gh completion -s fish > $HOME/.config/fish/completions/gh.fish
|
||||||
|
end
|
||||||
|
|
||||||
|
# kitten from kitty
|
||||||
|
if command -v kitty > /dev/null
|
||||||
|
kitty + complete setup fish | source
|
||||||
|
end
|
||||||
|
|
||||||
|
# Starship prompt
|
||||||
|
if command -v starship > /dev/null
|
||||||
|
starship init fish --print-full-init | source
|
||||||
|
end
|
||||||
|
|
||||||
|
# direnv
|
||||||
|
if command -v direnv > /dev/null
|
||||||
|
eval (direnv hook fish)
|
||||||
|
end
|
||||||
|
|
||||||
|
# poetry
|
||||||
|
# if not test -d "$POETRY_HOME"
|
||||||
|
# curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
|
||||||
|
# end
|
||||||
|
# if not test -f "$HOME/.config/fish/completions/poetry.fish"
|
||||||
|
# poetry completions fish > $HOME/.config/fish/completions/poetry.fish
|
||||||
|
# end
|
||||||
|
|
||||||
|
# pyenv
|
||||||
|
# if not test -d "$PYENV_ROOT"
|
||||||
|
# git clone https://github.com/pyenv/pyenv.git $PYENV_ROOT
|
||||||
|
# git clone https://github.com/pyenv/pyenv-update.git $PYENV_ROOT/plugins/pyenv-update
|
||||||
|
# git clone https://github.com/pyenv/pyenv-virtualenv.git $PYENV_ROOT/plugins/pyenv-virtualenv
|
||||||
|
# end
|
||||||
|
# pyenv init - | source
|
||||||
|
# pyenv virtualenv-init - | source
|
||||||
|
|
||||||
|
# nodenv
|
||||||
|
# if not test -d "$NODENV_ROOT"
|
||||||
|
# git clone https://github.com/nodenv/nodenv.git $NODENV_ROOT
|
||||||
|
# mkdir -p $NODENV_ROOT/plugins
|
||||||
|
# git clone https://github.com/nodenv/node-build.git $NODENV_ROOT/plugins/node-build
|
||||||
|
# git clone https://github.com/nodenv/nodenv-env.git $NODENV_ROOT/plugins/nodenv-env
|
||||||
|
# git clone https://github.com/nodenv/nodenv-man.git $NODENV_ROOT/plugins/nodenv-man
|
||||||
|
# git clone https://github.com/nodenv/nodenv-aliases.git $NODENV_ROOT/plugins/nodenv-aliases
|
||||||
|
# git clone https://github.com/nodenv/nodenv-each.git $NODENV_ROOT/plugins/nodenv-each
|
||||||
|
# git clone https://github.com/nodenv/nodenv-update.git $NODENV_ROOT/plugins/nodenv-update
|
||||||
|
# git clone https://github.com/nodenv/nodenv-vars.git $NODENV_ROOT/plugins/nodenv-vars
|
||||||
|
# end
|
||||||
|
# nodenv init - | source
|
||||||
|
|
||||||
|
# vi key bindings
|
||||||
|
fish_vi_key_bindings
|
||||||
|
|
||||||
|
# fzf
|
||||||
|
if not test -f "$HOME/.config/fish/functions/fzf_key_bindings.fish"
|
||||||
|
curl -sfLo $HOME/.config/fish/functions/fzf_key_bindings.fish https://raw.githubusercontent.com/junegunn/fzf/master/shell/key-bindings.fish
|
||||||
|
end
|
||||||
|
fzf_key_bindings
|
||||||
|
|
||||||
|
# z.lua
|
||||||
|
if not test -f "$HOME/.config/fish/z.lua"
|
||||||
|
curl -sfLo $HOME/.config/fish/z.lua https://raw.githubusercontent.com/skywind3000/z.lua/master/z.lua
|
||||||
|
mkdir -p $HOME/.local/share/zlua
|
||||||
|
end
|
||||||
|
lua $HOME/.config/fish/z.lua --init fish | source
|
26
home/.config/fish/conf.d/gpg-agent.fish
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# --- Deprecated ssh-agent --- #
|
||||||
|
# ---------------------------- #
|
||||||
|
# if test -z "$XDG_RUNTIME_DIR"
|
||||||
|
# set -gx SSH_ENV $HOME/.ssh/environment
|
||||||
|
# else
|
||||||
|
# set -gx SSH_ENV $XDG_RUNTIME_DIR/ssh-agent.env
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# if not pgrep -u "$USER" ssh-agent >/dev/null
|
||||||
|
# ssh-agent -c -t 2h > "$SSH_ENV"
|
||||||
|
# chmod 600 $SSH_ENV
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# if test -z "$SSH_AUTH_SOCK"
|
||||||
|
# source "$SSH_ENV" >/dev/null
|
||||||
|
# end
|
||||||
|
|
||||||
|
if not pgrep -u "$USER" gpg-agent >/dev/null
|
||||||
|
gpg-agent --daemon --enable-ssh-support >/dev/null
|
||||||
|
end
|
||||||
|
|
||||||
|
if test -z "$SSH_AUTH_SOCK"
|
||||||
|
set -gx SSH_AUTH_SOCK (gpgconf --list-dirs agent-ssh-socket)
|
||||||
|
end
|
||||||
|
|
||||||
|
gpg-connect-agent updatestartuptty /bye >/dev/null
|
3
home/.config/fish/conf.d/startwm.fish
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# if test (tty) = "/dev/tty1"; and test -z "$DISPLAY"
|
||||||
|
# exec startx $HOME/.config/X11/xinitrc
|
||||||
|
# end
|
9
home/.config/fish/fish_plugins
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
jorgebucaran/fisher
|
||||||
|
jorgebucaran/spark.fish
|
||||||
|
oakninja/MakeMeFish
|
||||||
|
jorgebucaran/bax.fish
|
||||||
|
laughedelic/pisces
|
||||||
|
wfxr/forgit
|
||||||
|
oh-my-fish/plugin-wttr
|
||||||
|
jorgebucaran/gitio.fish
|
||||||
|
oh-my-fish/plugin-license
|
86
home/.config/fish/functions/extract.fish
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
function extract -d "Extract archives"
|
||||||
|
set -l remove_archive
|
||||||
|
set -l success
|
||||||
|
set -l extract_dir
|
||||||
|
|
||||||
|
if test -z "$argv[1]"
|
||||||
|
echo -e "\e[1;34mUsage:\e[0m extract [-option] [file...]
|
||||||
|
\e[1;33mOptions:\e[0m
|
||||||
|
-r, --remove Remove archive after unpacking."
|
||||||
|
end
|
||||||
|
|
||||||
|
set remove_archive 1
|
||||||
|
if [ "$argv[1]" = "-r" ] || [ "$argv[1]" = "--remove" ]
|
||||||
|
set remove_archive 0
|
||||||
|
set --erase argv[1]
|
||||||
|
end
|
||||||
|
|
||||||
|
while test -n "$argv[1]"
|
||||||
|
if not test -f "$argv[1]"
|
||||||
|
echo "extract: '$argv[1]' is not a valid file" >&2
|
||||||
|
set --erase argv[1]
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
|
||||||
|
set success 0
|
||||||
|
set extract_dir (echo "$argv[1]" | cut -d'.' -f1)
|
||||||
|
switch "$argv[1]"
|
||||||
|
case "*.tar.gz" or "*.tgz"
|
||||||
|
tar zxvf "$argv[1]"
|
||||||
|
case "*.tar.bz2" or "*.tbz" or "*.tbz2"
|
||||||
|
tar xvjf "$argv[1]"
|
||||||
|
case "*.tar.xz" or "*.txz"
|
||||||
|
tar --xz -xvf "$argv[1]"; or xzcat "$argv[1]" | tar xvf -
|
||||||
|
case "*.tar.zma" or "*.tlz"
|
||||||
|
tar --lzma -xvf "$argv[1]"; or lzcat "$argv[1]" | tar xvf -
|
||||||
|
case "*.tar.zst" or "*.tzst"
|
||||||
|
tar --zstd -xvf "$argv[1]"; or zstdcat "$argv[1]" | tar xvf -
|
||||||
|
case "*.tar" or "*.tar.lz"
|
||||||
|
tar xvf "$argv[1]"
|
||||||
|
case "*.tar.lz4"
|
||||||
|
lz4 -c -d "$argv[1]" | tar xvf -
|
||||||
|
case "*.tar.lrz"
|
||||||
|
lrzuntar "$argv[1]"
|
||||||
|
case "*.gz"
|
||||||
|
gunzip -d "$argv[1]"
|
||||||
|
case "*.bz2"
|
||||||
|
bunzip2 "$argv[1]"
|
||||||
|
case "*.xz"
|
||||||
|
unxz "$argv[1]"
|
||||||
|
case "*.lrz"
|
||||||
|
lrunzip "$argv[1]"
|
||||||
|
case "*.lz4"
|
||||||
|
lz4 -d "$argv[1]"
|
||||||
|
case "*.lzma"
|
||||||
|
unlzma "$argv[1]"
|
||||||
|
case "*.z"
|
||||||
|
uncompress "$argv[1]"
|
||||||
|
case "*.zip" or "*.war" or "*.jar" or "*.sublime-package" or "*.ipa" or "*.ipsw" or "*.xpi" or "*.apk" or "*.aar" or "*.whl"
|
||||||
|
unzip "$argv[1]" -d "$extract_dir"
|
||||||
|
case "*.rar"
|
||||||
|
unrar x -ad "$argv[1]"
|
||||||
|
case "*.rpm"
|
||||||
|
mkdir "$extract_dir"; and cd "$extract_dir"; and rpm2cpio "../$argv[1]" | cpio --quiet -id; and cd ..
|
||||||
|
case "*.7z"
|
||||||
|
7za x "$argv[1]"
|
||||||
|
case "*.deb"
|
||||||
|
mkdir -p "$extract_dir/control"
|
||||||
|
mkdir -p "$extract_dir/data"
|
||||||
|
cd "$extract_dir"; ar vx "../$argv[1]" > /dev/null
|
||||||
|
cd control; tar xzvf ../control.tar.gz
|
||||||
|
cd ../data; extract ../data.tar.*
|
||||||
|
cd ..; rm *.tar.* debian-binary
|
||||||
|
cd ..
|
||||||
|
case "*.zst"
|
||||||
|
unzstd "$argv[1]"
|
||||||
|
case "*"
|
||||||
|
echo "extract: '$argv[1]' cannot be extracted" >&2
|
||||||
|
set success 1
|
||||||
|
end
|
||||||
|
|
||||||
|
if [ "$success" = 0 ] && [ "$remove_archive" = 0 ]
|
||||||
|
rm "$argv[1]"
|
||||||
|
end
|
||||||
|
set --erase argv[1]
|
||||||
|
end
|
||||||
|
end
|
3
home/.config/fish/functions/fish_greeting.fish
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
function fish_greeting -d "fish_greeting"
|
||||||
|
$HOME/.local/bin/bunny
|
||||||
|
end
|
3
home/.config/fish/functions/fish_mode_prompt.fish
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
function fish_mode_prompt -d "Vi-mode indicator"
|
||||||
|
echo ""
|
||||||
|
end
|
39
home/.config/fish/functions/fish_user_key_bindings.fish
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
bind -M insert \cu backward-kill-line
|
||||||
|
bind -M insert \ck kill-line
|
||||||
|
bind -M insert \cw backward-kill-word
|
||||||
|
bind -M insert \cb backward-word
|
||||||
|
bind -M insert \cf forward-word
|
||||||
|
bind -M insert \cs complete-and-search
|
||||||
|
bind -M insert \ca beginning-of-line
|
||||||
|
bind -M insert \ce end-of-line
|
||||||
|
bind -M insert \co accept-autosuggestion
|
||||||
|
bind -M insert \cp history-search-backward
|
||||||
|
bind -M insert \cn history-search-forward
|
||||||
|
|
||||||
|
bind -M default \cu backward-kill-line
|
||||||
|
bind -M default \ck kill-whole-line
|
||||||
|
bind -M default k history-search-backward
|
||||||
|
bind -M default j history-search-forward
|
||||||
|
|
||||||
|
# Previous command ('!!')
|
||||||
|
function bind_bang
|
||||||
|
switch (commandline -t)
|
||||||
|
case "!"
|
||||||
|
commandline -t $history[1]; commandline -f repaint
|
||||||
|
case "*"
|
||||||
|
commandline -i '!'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
bind -M insert '!' bind_bang
|
||||||
|
|
||||||
|
# Token from previous command ('!$')
|
||||||
|
function bind_dollar
|
||||||
|
switch (commandline -t)
|
||||||
|
case "!"
|
||||||
|
commandline -t ""
|
||||||
|
commandline -f history-token-search-backward
|
||||||
|
case "*"
|
||||||
|
commandline -i '$'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
bind -M insert '$' bind_dollar
|
206
home/.config/fish/functions/fisher.fish
Normal file
@ -0,0 +1,206 @@
|
|||||||
|
set -g fisher_version 4.1.0
|
||||||
|
|
||||||
|
function fisher -a cmd -d "fish plugin manager"
|
||||||
|
set -q fisher_path || set -l fisher_path $__fish_config_dir
|
||||||
|
set -l fish_plugins $__fish_config_dir/fish_plugins
|
||||||
|
|
||||||
|
switch "$cmd"
|
||||||
|
case -v --version
|
||||||
|
echo "fisher, version $fisher_version"
|
||||||
|
case "" -h --help
|
||||||
|
echo "usage: fisher install <plugins...> install plugins"
|
||||||
|
echo " fisher remove <plugins...> remove installed plugins"
|
||||||
|
echo " fisher update <plugins...> update installed plugins"
|
||||||
|
echo " fisher update update all installed plugins"
|
||||||
|
echo " fisher list [<regex>] list installed plugins matching regex"
|
||||||
|
echo "options:"
|
||||||
|
echo " -v or --version print fisher version"
|
||||||
|
echo " -h or --help print this help message"
|
||||||
|
case ls list
|
||||||
|
string match --entire --regex -- "$argv[2]" $_fisher_plugins
|
||||||
|
case install update remove
|
||||||
|
isatty || read -laz stdin && set -a argv $stdin
|
||||||
|
set -l install_plugins
|
||||||
|
set -l update_plugins
|
||||||
|
set -l remove_plugins
|
||||||
|
set -l arg_plugins $argv[2..-1]
|
||||||
|
set -l old_plugins $_fisher_plugins
|
||||||
|
set -l new_plugins
|
||||||
|
|
||||||
|
if not set -q argv[2]
|
||||||
|
if test "$cmd" != update || test ! -e $fish_plugins
|
||||||
|
echo "fisher: not enough arguments for command: \"$cmd\"" >&2 && return 1
|
||||||
|
end
|
||||||
|
set arg_plugins (string trim <$fish_plugins)
|
||||||
|
end
|
||||||
|
|
||||||
|
for plugin in $arg_plugins
|
||||||
|
test -e "$plugin" && set plugin (realpath $plugin)
|
||||||
|
contains -- "$plugin" $new_plugins || set -a new_plugins $plugin
|
||||||
|
end
|
||||||
|
|
||||||
|
if set -q argv[2]
|
||||||
|
for plugin in $new_plugins
|
||||||
|
if contains -- "$plugin" $old_plugins
|
||||||
|
if test "$cmd" = remove
|
||||||
|
set -a remove_plugins $plugin
|
||||||
|
else
|
||||||
|
set -a update_plugins $plugin
|
||||||
|
end
|
||||||
|
else if test "$cmd" != install
|
||||||
|
echo "fisher: plugin not installed: \"$plugin\"" >&2 && return 1
|
||||||
|
else
|
||||||
|
set -a install_plugins $plugin
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
for plugin in $new_plugins
|
||||||
|
if contains -- "$plugin" $old_plugins
|
||||||
|
set -a update_plugins $plugin
|
||||||
|
else
|
||||||
|
set -a install_plugins $plugin
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for plugin in $old_plugins
|
||||||
|
if not contains -- "$plugin" $new_plugins
|
||||||
|
set -a remove_plugins $plugin
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
set -l pid_list
|
||||||
|
set -l source_plugins
|
||||||
|
set -l fetch_plugins $update_plugins $install_plugins
|
||||||
|
echo -e "\x1b[1mfisher $cmd version $fisher_version\x1b[22m"
|
||||||
|
|
||||||
|
for plugin in $fetch_plugins
|
||||||
|
set -l source (command mktemp -d)
|
||||||
|
set -a source_plugins $source
|
||||||
|
|
||||||
|
command mkdir -p $source/{completions,conf.d,functions}
|
||||||
|
|
||||||
|
fish -c "
|
||||||
|
if test -e $plugin
|
||||||
|
command cp -Rf $plugin/* $source
|
||||||
|
else
|
||||||
|
set temp (command mktemp -d)
|
||||||
|
set name (string split \@ $plugin) || set name[2] HEAD
|
||||||
|
set url https://codeload.github.com/\$name[1]/tar.gz/\$name[2]
|
||||||
|
set -q fisher_user_api_token && set opts -u $fisher_user_api_token
|
||||||
|
|
||||||
|
echo -e \"fetching \x1b[4m\$url\x1b[24m\"
|
||||||
|
if command curl $opts -Ss -w \"\" \$url 2>&1 | command tar -xzf- -C \$temp 2>/dev/null
|
||||||
|
command cp -Rf \$temp/*/* $source
|
||||||
|
else
|
||||||
|
echo fisher: invalid plugin name or host unavailable: \\\"$plugin\\\" >&2
|
||||||
|
command rm -rf $source
|
||||||
|
end
|
||||||
|
command rm -rf \$temp
|
||||||
|
end
|
||||||
|
|
||||||
|
test ! -e $source && exit
|
||||||
|
command mv -f (string match --entire --regex -- \.fish\\\$ $source/*) $source/functions 2>/dev/null" &
|
||||||
|
|
||||||
|
set -a pid_list (jobs --last --pid)
|
||||||
|
end
|
||||||
|
|
||||||
|
wait $pid_list 2>/dev/null
|
||||||
|
|
||||||
|
for plugin in $fetch_plugins
|
||||||
|
if set -l source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] && test ! -e $source
|
||||||
|
if set -l index (contains --index -- "$plugin" $install_plugins)
|
||||||
|
set -e install_plugins[$index]
|
||||||
|
else
|
||||||
|
set -e update_plugins[(contains --index -- "$plugin" $update_plugins)]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for plugin in $update_plugins $remove_plugins
|
||||||
|
if set -l index (contains --index -- "$plugin" $_fisher_plugins)
|
||||||
|
set -l plugin_files_var _fisher_(string escape --style=var $plugin)_files
|
||||||
|
|
||||||
|
if contains -- "$plugin" $remove_plugins && set --erase _fisher_plugins[$index]
|
||||||
|
for file in (string match --entire --regex -- "conf\.d/" $$plugin_files_var)
|
||||||
|
emit (string replace --all --regex -- '^.*/|\.fish$' "" $file)_uninstall
|
||||||
|
end
|
||||||
|
echo -es "removing \x1b[1m$plugin\x1b[22m" \n" "$$plugin_files_var
|
||||||
|
end
|
||||||
|
|
||||||
|
command rm -rf $$plugin_files_var
|
||||||
|
functions --erase (string match --entire --regex -- "functions/" $$plugin_files_var \
|
||||||
|
| string replace --all --regex -- '^.*/|\.fish$' "")
|
||||||
|
set --erase $plugin_files_var
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if set -q update_plugins[1] || set -q install_plugins[1]
|
||||||
|
command mkdir -p $fisher_path/{functions,conf.d,completions}
|
||||||
|
end
|
||||||
|
|
||||||
|
for plugin in $update_plugins $install_plugins
|
||||||
|
set -l source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)]
|
||||||
|
set -l files $source/{functions,conf.d,completions}/*
|
||||||
|
set -l plugin_files_var _fisher_(string escape --style=var $plugin)_files
|
||||||
|
set -q files[1] && set -U $plugin_files_var (string replace $source $fisher_path $files)
|
||||||
|
|
||||||
|
for file in (string replace -- $source "" $files)
|
||||||
|
command cp -Rf $source/$file $fisher_path/$file
|
||||||
|
end
|
||||||
|
|
||||||
|
contains -- $plugin $_fisher_plugins || set -Ua _fisher_plugins $plugin
|
||||||
|
contains -- $plugin $install_plugins && set -l event "install" || set -l event "update"
|
||||||
|
echo -es "installing \x1b[1m$plugin\x1b[22m" \n" "$$plugin_files_var
|
||||||
|
|
||||||
|
for file in (string match --entire --regex -- "[functions/|conf\.d/].*fish\$" $$plugin_files_var)
|
||||||
|
source $file
|
||||||
|
if string match --quiet --regex -- "conf\.d/" $file
|
||||||
|
emit (string replace --all --regex -- '^.*/|\.fish$' "" $file)_$event
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
command rm -rf $source_plugins
|
||||||
|
functions -q fish_prompt || source $__fish_data_dir/functions/fish_prompt.fish
|
||||||
|
|
||||||
|
set -q _fisher_plugins[1] || set -e _fisher_plugins
|
||||||
|
set -q _fisher_plugins && printf "%s\n" $_fisher_plugins >$fish_plugins || command rm -f $fish_plugins
|
||||||
|
|
||||||
|
set -l total (count $install_plugins) (count $update_plugins) (count $remove_plugins)
|
||||||
|
test "$total" != "0 0 0" && echo (string join ", " (
|
||||||
|
test $total[1] = 0 || echo "installed $total[1]") (
|
||||||
|
test $total[2] = 0 || echo "updated $total[2]") (
|
||||||
|
test $total[3] = 0 || echo "removed $total[3]")
|
||||||
|
) "plugin/s"
|
||||||
|
case \*
|
||||||
|
echo "fisher: unknown flag or command: \"$cmd\" (see `fisher -h`)" >&2 && return 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
## Migrations ##
|
||||||
|
if functions -q _fisher_self_update || test -e $__fish_config_dir/fishfile # 3.x
|
||||||
|
function _fisher_migrate
|
||||||
|
function _fisher_complete
|
||||||
|
fisher install jorgebucaran/fisher >/dev/null 2>/dev/null
|
||||||
|
functions --erase _fisher_complete
|
||||||
|
end
|
||||||
|
set -q XDG_DATA_HOME || set XDG_DATA_HOME ~/.local/share
|
||||||
|
set -q XDG_CACHE_HOME || set XDG_CACHE_HOME ~/.cache
|
||||||
|
set -q XDG_CONFIG_HOME || set XDG_CONFIG_HOME ~/.config
|
||||||
|
set -q fisher_path || set fisher_path $__fish_config_dir
|
||||||
|
test -e $__fish_config_dir/fishfile && command awk '/#|^gitlab|^ *$/ { next } $0' <$__fish_config_dir/fishfile >>$__fish_config_dir/fish_plugins
|
||||||
|
command rm -rf $__fish_config_dir/fishfile $fisher_path/{conf.d,completions}/fisher.fish {$XDG_DATA_HOME,$XDG_CACHE_HOME,$XDG_CONFIG_HOME}/fisher
|
||||||
|
functions --erase _fisher_migrate _fisher_copy_user_key_bindings _fisher_ls _fisher_fmt _fisher_self_update _fisher_self_uninstall _fisher_commit _fisher_parse _fisher_fetch _fisher_add _fisher_rm _fisher_jobs _fisher_now _fisher_help
|
||||||
|
fisher update
|
||||||
|
end
|
||||||
|
echo "upgrading to fisher $fisher_version -- learn more at" (set_color --bold --underline)"https://git.io/fisher-4"(set_color normal)
|
||||||
|
_fisher_migrate >/dev/null 2>/dev/null
|
||||||
|
else if functions -q _fisher_list # 4.0
|
||||||
|
set -q XDG_DATA_HOME || set -l XDG_DATA_HOME ~/.local/share
|
||||||
|
test -e $XDG_DATA_HOME/fisher && command rm -rf $XDG_DATA_HOME/fisher
|
||||||
|
functions --erase _fisher_list _fisher_plugin_parse
|
||||||
|
echo -n "upgrading to fisher $fisher_version new in-memory state.."
|
||||||
|
fisher update >/dev/null 2>/dev/null
|
||||||
|
echo -ne "done\r\n"
|
||||||
|
end
|
5
home/.config/fish/functions/fzf-bcd-widget.fish
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
function fzf-bcd-widget -d 'cd backwards'
|
||||||
|
pwd | awk -v RS=/ '/\n/ {exit} {p=p $0 "/"; print p}' | tac | eval (__fzfcmd) +m --select-1 --exit-0 $FZF_BCD_OPTS | read -l result
|
||||||
|
[ "$result" ]; and cd $result
|
||||||
|
commandline -f repaint
|
||||||
|
end
|
7
home/.config/fish/functions/fzf-select.fish
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
function fzf-select -d 'fzf commandline job and print unescaped selection back to commandline'
|
||||||
|
set -l cmd (commandline -j)
|
||||||
|
[ "$cmd" ]; or return
|
||||||
|
eval $cmd | eval (__fzfcmd) -m --tiebreak=index --select-1 --exit-0 | string join ' ' | read -l result
|
||||||
|
[ "$result" ]; and commandline -j -- $result
|
||||||
|
commandline -f repaint
|
||||||
|
end
|
3
home/.config/fish/functions/fztmux.fish
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
function fztmux -d "Switch tmux session"
|
||||||
|
tmux list-sessions -F "#{session_name}" | fzf | read -l result; and tmux switch-client -t "$result"
|
||||||
|
end
|
10
home/.config/fish/functions/man.fish
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
function man -d "man with colors"
|
||||||
|
set -x LESS_TERMCAP_mb (printf "\e[01;31m") # begin blink
|
||||||
|
set -x LESS_TERMCAP_md (printf "\e[01;36m") # begin bold
|
||||||
|
set -x LESS_TERMCAP_me (printf "\e[0m") # reset bold/blink
|
||||||
|
set -x LESS_TERMCAP_se (printf "\e[0m") # reset reverse video
|
||||||
|
set -x LESS_TERMCAP_so (printf "\e[01;44;33m") # begin reverse video
|
||||||
|
set -x LESS_TERMCAP_ue (printf "\e[0m") # reset underline
|
||||||
|
set -x LESS_TERMCAP_us (printf "\e[01;32m") # begin underline
|
||||||
|
command man $argv
|
||||||
|
end
|
36
home/.config/fish/functions/n.fish
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# Rename this file to match the name of the function
|
||||||
|
# e.g. ~/.config/fish/functions/n.fish
|
||||||
|
# or, add the lines to the 'config.fish' file.
|
||||||
|
|
||||||
|
function n --wraps nnn --description 'support nnn quit and change directory'
|
||||||
|
# Block nesting of nnn in subshells
|
||||||
|
if test -n "$NNNLVL"
|
||||||
|
if [ (expr $NNNLVL + 0) -ge 1 ]
|
||||||
|
echo "nnn is already running"
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# The default behaviour is to cd on quit (nnn checks if NNN_TMPFILE is set)
|
||||||
|
# To cd on quit only on ^G, remove the "-x" as in:
|
||||||
|
# set NNN_TMPFILE "$XDG_CONFIG_HOME/nnn/.lastd"
|
||||||
|
# NOTE: NNN_TMPFILE is fixed, should not be modified
|
||||||
|
if test -n "$XDG_CONFIG_HOME"
|
||||||
|
set -x NNN_TMPFILE "$XDG_CONFIG_HOME/nnn/.lastd"
|
||||||
|
else
|
||||||
|
set -x NNN_TMPFILE "$HOME/.config/nnn/.lastd"
|
||||||
|
end
|
||||||
|
|
||||||
|
# Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
|
||||||
|
# stty start undef
|
||||||
|
# stty stop undef
|
||||||
|
# stty lwrap undef
|
||||||
|
# stty lnext undef
|
||||||
|
|
||||||
|
nnn $argv
|
||||||
|
|
||||||
|
if test -e $NNN_TMPFILE
|
||||||
|
source $NNN_TMPFILE
|
||||||
|
rm $NNN_TMPFILE
|
||||||
|
end
|
||||||
|
end
|
5
home/.config/fish/functions/n2.fish
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
function n2 -d "Start nnn in dual pane (tmux)"
|
||||||
|
tmux new-session -d -s nnn -n nnn "nnn -Hc"
|
||||||
|
tmux split-window -h "nnn -Hc"
|
||||||
|
TERM=screen-256color command tmux attach -t nnn:nnn
|
||||||
|
end
|
3
home/.config/fish/functions/pathclean.fish
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
function pathclean --description "Clean up PATH variable"
|
||||||
|
set PATH (printf "%s" "$PATH" | awk -v RS=':' '!a[$1]++ { if (NR > 1) printf RS; printf $1 }')
|
||||||
|
end
|
6
home/.config/fish/functions/tt.fish
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
function tt -d "typing speed testing"
|
||||||
|
iconv -f UTF-8 -t ASCII "$argv" | sed 's/--/-/g' \
|
||||||
|
| sed '/^$/d' | sed 's/^[ \t]*//' | sed 's/\(^.\{1,80\}\).*/\1/' \
|
||||||
|
> /tmp/tt.txt
|
||||||
|
command tt /tmp/tt.txt
|
||||||
|
end
|
77
home/.config/flashfocus/flashfocus.yml
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
## @@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
## Flashfocus config file
|
||||||
|
## @@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
|
||||||
|
# Opacity of window during flash.
|
||||||
|
flash-opacity: 0.65
|
||||||
|
|
||||||
|
# Windows are restored to this opacity value at the end of a flash.
|
||||||
|
default-opacity: 0.95
|
||||||
|
|
||||||
|
# Length of flash in milliseconds.
|
||||||
|
time: 500
|
||||||
|
|
||||||
|
# If true, flashes are not faded out. This will improve performance but flashes
|
||||||
|
# won't be smooth.
|
||||||
|
simple: false
|
||||||
|
|
||||||
|
# Number of animation frames in a flash.
|
||||||
|
ntimepoints: 10
|
||||||
|
|
||||||
|
# Set this to false if you don't want windows to flash on focus.
|
||||||
|
flash-on-focus: true
|
||||||
|
|
||||||
|
# Set this to false if you don't want fullscreen windows to flash.
|
||||||
|
flash-fullscreen: true
|
||||||
|
|
||||||
|
# Whether or not to flash windows if they are the only window on the desktop.
|
||||||
|
# Possible values:
|
||||||
|
# 'always':
|
||||||
|
# Always flash lone windows
|
||||||
|
# 'never':
|
||||||
|
# Never flash lone windows
|
||||||
|
# 'on_open_close':
|
||||||
|
# Lone windows will be flashed only if a) if they were just opened and b)
|
||||||
|
# if another window was just closed.
|
||||||
|
# 'on_switch':
|
||||||
|
# Lone windows will be flashed only upon switching desktops.
|
||||||
|
flash-lone-windows: 'always'
|
||||||
|
|
||||||
|
# Defining window-specific flash rules
|
||||||
|
#
|
||||||
|
# X11-based window managers (e.g i3, bspwm)
|
||||||
|
# -----------------------------------------
|
||||||
|
# Flash rules are defined by matching the WM_CLASS property of a window. To get
|
||||||
|
# the WM_CLASS property use 'xprop WM_CLASS' and click on a window. The
|
||||||
|
# property is a tuple of the form (window-id, window-class). The window-class
|
||||||
|
# is usually the name of the application, but not always.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Say I'd like to set all 'termite' windows to 80% opacity but leave other
|
||||||
|
# windows at full opacity:
|
||||||
|
#
|
||||||
|
#rules:
|
||||||
|
#- window-class: Polybar
|
||||||
|
# flash-on-focus: false
|
||||||
|
#- window-id: rofi
|
||||||
|
# default-opacity: 0.9
|
||||||
|
# flash-on-focus: false
|
||||||
|
|
||||||
|
# Sway
|
||||||
|
# ----
|
||||||
|
# Native wayland apps can be matched using the app_id and window name. These
|
||||||
|
# can be found using `swaymsg -t get_tree`. XWayland apps are matched with
|
||||||
|
# using WM_CLASS as above (this can also be found with `swaymsg`)
|
||||||
|
#
|
||||||
|
# Given that termite is wayland native and firefox is not, the rules above
|
||||||
|
# could instead be written:
|
||||||
|
#
|
||||||
|
# rules:
|
||||||
|
# - window-class: firefox
|
||||||
|
# flash-on-focus: False
|
||||||
|
# - app-id: termite
|
||||||
|
# default-opacity: 0.8
|
||||||
|
#
|
||||||
|
# rules:
|
||||||
|
# - window-name: ^(?!termite)$
|
||||||
|
# default-opacity: 0.8
|
138
home/.config/foot/foot.ini
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
# -*- conf -*-
|
||||||
|
|
||||||
|
font=Iosevka Nerd Font:style=Regular:size=12, Sarasa Fixed J:style=Regular:size=12
|
||||||
|
font-bold=Iosevka Nerd Font:style=Bold:size=12, Sarasa Fixed J:style=Bold:size=12
|
||||||
|
font-italic=Iosevka Nerd Font:style=Italic:size=12, Sarasa Fixed J:style=Italic:size=12
|
||||||
|
font-bold-italic=Iosevka Nerd Font:style=Bold Italic:size=12, Sarasa Fixed J:style=Bold Italic:size=12
|
||||||
|
dpi-aware=no
|
||||||
|
initial-window-size-pixels=800x600 # Or,
|
||||||
|
# initial-window-size-chars=<COLSxROWS>
|
||||||
|
# initial-window-mode=windowed
|
||||||
|
# pad=2x2
|
||||||
|
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
|
||||||
|
# term=foot
|
||||||
|
# login-shell=no
|
||||||
|
# workers=<number of logical CPUs>
|
||||||
|
# bold-text-in-bright=no
|
||||||
|
# bell=none
|
||||||
|
# word-delimiters=,│`|:"'()[]{}<>
|
||||||
|
# notify=notify-send -a foot -i foot ${title} ${body}
|
||||||
|
|
||||||
|
[scrollback]
|
||||||
|
lines=10000
|
||||||
|
# multiplier=3.0
|
||||||
|
# indicator-position=relative
|
||||||
|
# indicator-format=
|
||||||
|
|
||||||
|
[cursor]
|
||||||
|
# style=block
|
||||||
|
color=2e3440 d8dee9
|
||||||
|
# color=282c34 bbc2cf
|
||||||
|
# blink=no
|
||||||
|
|
||||||
|
[mouse]
|
||||||
|
hide-when-typing=yes
|
||||||
|
# alternate-scroll-mode=yes
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
alpha=1.0
|
||||||
|
# selection-foreground=<inverse foreground/background>
|
||||||
|
# selection-background=<inverse foreground/background>
|
||||||
|
# --- Nord --- #
|
||||||
|
foreground=d8dee9
|
||||||
|
background=2e3440
|
||||||
|
regular0=3b4252 # black
|
||||||
|
regular1=bf616a # red
|
||||||
|
regular2=a3be8c # green
|
||||||
|
regular3=ebcb8b # yellow
|
||||||
|
regular4=81a1c1 # blue
|
||||||
|
regular5=b48ead # magenta
|
||||||
|
regular6=88c0d0 # cyan
|
||||||
|
regular7=e5e9f0 # white
|
||||||
|
bright0=4c566a # bright black
|
||||||
|
bright1=bf616a # bright red
|
||||||
|
bright2=a3be8c # bright green
|
||||||
|
bright3=ebcb8b # bright yellow
|
||||||
|
bright4=81a1c1 # bright blue
|
||||||
|
bright5=b48ead # bright magenta
|
||||||
|
bright6=8fbcbb # bright cyan
|
||||||
|
bright7=eceff4 # bright white
|
||||||
|
# -- OneDark -- #
|
||||||
|
# foreground=abb2bf
|
||||||
|
# background=282c34
|
||||||
|
# regular0=282c34 # black
|
||||||
|
# regular1=be5046 # red
|
||||||
|
# regular2=98c379 # green
|
||||||
|
# regular3=d19a66 # yellow
|
||||||
|
# regular4=61afef # blue
|
||||||
|
# regular5=c678dd # magenta
|
||||||
|
# regular6=56b6c2 # cyan
|
||||||
|
# regular7=abb2bf # white
|
||||||
|
# bright0=3e4452 # bright black
|
||||||
|
# bright1=e06c75 # bright red
|
||||||
|
# bright2=98c379 # bright green
|
||||||
|
# bright3=e5c07b # bright yellow
|
||||||
|
# bright4=61afef # bright blue
|
||||||
|
# bright5=c678dd # bright magenta
|
||||||
|
# bright6=56b6c2 # bright cyan
|
||||||
|
# bright7=bbc2cf # bright white
|
||||||
|
|
||||||
|
[csd]
|
||||||
|
# preferred=server
|
||||||
|
# size=26
|
||||||
|
# color=<foreground color>
|
||||||
|
# button-width=26
|
||||||
|
# button-minimize-color=ff0000ff
|
||||||
|
# button-maximize-color=ff00ff00
|
||||||
|
# button-close-color=ffff0000
|
||||||
|
|
||||||
|
[key-bindings]
|
||||||
|
# scrollback-up-page=Shift+Page_Up
|
||||||
|
# scrollback-up-half-page=none
|
||||||
|
# scrollback-up-line=none
|
||||||
|
# scrollback-down-page=Shift+Page_Down
|
||||||
|
# scrollback-down-half-page=none
|
||||||
|
# scrollback-down-line=none
|
||||||
|
# clipboard-copy=Control+Shift+C
|
||||||
|
# clipboard-paste=Control+Shift+V
|
||||||
|
# primary-paste=Shift+Insert
|
||||||
|
# search-start=Control+Shift+R
|
||||||
|
# font-increase=Control+plus Control+equal Control+KP_Add
|
||||||
|
# font-decrease=Control+minus Control+KP_Subtract
|
||||||
|
# font-reset=Control+0 Control+KP_0
|
||||||
|
# spawn-terminal=Control+Shift+N
|
||||||
|
# minimize=none
|
||||||
|
# maximize=none
|
||||||
|
fullscreen=F11
|
||||||
|
pipe-visible=[sh -c "xurls | wofi -d -i | xargs -r firefox"] none
|
||||||
|
pipe-scrollback=[sh -c "xurls | wofi -d -i | xargs -r firefox"] none
|
||||||
|
# pipe-selected=[xargs -r firefox] none
|
||||||
|
|
||||||
|
[search-bindings]
|
||||||
|
# cancel=Control+g Escape
|
||||||
|
# commit=Return
|
||||||
|
# find-prev=Control+r
|
||||||
|
# find-next=Control+s
|
||||||
|
cursor-left=Left Shift+H
|
||||||
|
cursor-left-word=Control+Left Control+Shift+H
|
||||||
|
cursor-right=Right Shift+L
|
||||||
|
cursor-right-word=Control+Right Control+Shift+L
|
||||||
|
# cursor-home=Home Control+a
|
||||||
|
# cursor-end=End Control+e
|
||||||
|
# delete-prev=BackSpace
|
||||||
|
delete-prev-word=Control+BackSpace
|
||||||
|
# delete-next=Delete
|
||||||
|
delete-next-word=Control+Delete
|
||||||
|
# extend-to-word-boundary=Control+w
|
||||||
|
# extend-to-next-whitespace=Control+Shift+W
|
||||||
|
# clipboard-paste=Control+v Control+y
|
||||||
|
# primary-paste=Shift+Insert
|
||||||
|
|
||||||
|
[mouse-bindings]
|
||||||
|
# primary-paste=BTN_MIDDLE
|
||||||
|
# select-begin=BTN_LEFT
|
||||||
|
# select-begin-block=Control+BTN_LEFT
|
||||||
|
# select-extend=BTN_RIGHT
|
||||||
|
# select-word=BTN_LEFT-2
|
||||||
|
# select-word-whitespace=Control+BTN_LEFT-2
|
||||||
|
# select-row=BTN_LEFT-3
|
213
home/.config/gallery-dl/config.json
Normal file
@ -0,0 +1,213 @@
|
|||||||
|
{
|
||||||
|
"extractor": {
|
||||||
|
"archive": "~/.local/share/gallery-dl/archive.sqlite3",
|
||||||
|
"base-directory": "~/gallery-dl/",
|
||||||
|
"chapter-filter": "lang == 'en'",
|
||||||
|
"chapter-unique": true,
|
||||||
|
"cookies": null,
|
||||||
|
"date-format": "%Y-%m-%dT%H:%M:%S",
|
||||||
|
"image-unique": true,
|
||||||
|
"path-remove": "\u0000-\u001f\u007f",
|
||||||
|
"path-replace": "_",
|
||||||
|
"path-restrict": "unix",
|
||||||
|
"retries": 4,
|
||||||
|
"skip": true,
|
||||||
|
"user-agent": "Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0",
|
||||||
|
"pixiv": {
|
||||||
|
"filename": "{id}{num}.{extension}",
|
||||||
|
"directory": [
|
||||||
|
"Pixiv",
|
||||||
|
"{user[username]}"
|
||||||
|
],
|
||||||
|
"avatar": false,
|
||||||
|
"ugoira": true,
|
||||||
|
"username": "",
|
||||||
|
"password": ""
|
||||||
|
},
|
||||||
|
"danbooru": {
|
||||||
|
"ugoira": false
|
||||||
|
},
|
||||||
|
"artstation": {
|
||||||
|
"directory": [
|
||||||
|
"ArtStation",
|
||||||
|
"{user[username]}"
|
||||||
|
],
|
||||||
|
"external": false
|
||||||
|
},
|
||||||
|
"deviantart": {
|
||||||
|
"directory": [
|
||||||
|
"DeviantArt",
|
||||||
|
"{user[id]}"
|
||||||
|
],
|
||||||
|
"flat": true,
|
||||||
|
"extra": false,
|
||||||
|
"include": "gallery,scraps,favorite",
|
||||||
|
"metadata": false,
|
||||||
|
"mature": true,
|
||||||
|
"journals": "text",
|
||||||
|
"original": true,
|
||||||
|
"quality": 100
|
||||||
|
},
|
||||||
|
"mangadex": {
|
||||||
|
"directory": [
|
||||||
|
"Manga",
|
||||||
|
"{manga}",
|
||||||
|
"c{chapter} - {title}"
|
||||||
|
],
|
||||||
|
"postprocessors": [
|
||||||
|
{
|
||||||
|
"name": "zip",
|
||||||
|
"compression": "store",
|
||||||
|
"extension": "cbz",
|
||||||
|
"keep-files": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mangafox": {
|
||||||
|
"directory": [
|
||||||
|
"Manga",
|
||||||
|
"{manga}",
|
||||||
|
"c{chapter} - {title}"
|
||||||
|
],
|
||||||
|
"postprocessors": [
|
||||||
|
{
|
||||||
|
"name": "zip",
|
||||||
|
"compression": "store",
|
||||||
|
"extension": "cbz",
|
||||||
|
"keep-files": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mangakakalot": {
|
||||||
|
"directory": [
|
||||||
|
"Manga",
|
||||||
|
"{manga}",
|
||||||
|
"c{chapter} - {title}"
|
||||||
|
],
|
||||||
|
"postprocessors": [
|
||||||
|
{
|
||||||
|
"name": "zip",
|
||||||
|
"compression": "store",
|
||||||
|
"extension": "cbz",
|
||||||
|
"keep-files": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mangahere": {
|
||||||
|
"directory": [
|
||||||
|
"Manga",
|
||||||
|
"{manga}",
|
||||||
|
"c{chapter} - {title}"
|
||||||
|
],
|
||||||
|
"postprocessors": [
|
||||||
|
{
|
||||||
|
"name": "zip",
|
||||||
|
"compression": "store",
|
||||||
|
"extension": "cbz",
|
||||||
|
"keep-files": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mangapark": {
|
||||||
|
"directory": [
|
||||||
|
"Manga",
|
||||||
|
"{manga}",
|
||||||
|
"c{chapter} - {title}"
|
||||||
|
],
|
||||||
|
"postprocessors": [
|
||||||
|
{
|
||||||
|
"name": "zip",
|
||||||
|
"compression": "store",
|
||||||
|
"extension": "cbz",
|
||||||
|
"keep-files": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mangareader": {
|
||||||
|
"directory": [
|
||||||
|
"Manga",
|
||||||
|
"{manga}",
|
||||||
|
"c{chapter} - {title}"
|
||||||
|
],
|
||||||
|
"postprocessors": [
|
||||||
|
{
|
||||||
|
"name": "zip",
|
||||||
|
"compression": "store",
|
||||||
|
"extension": "cbz",
|
||||||
|
"keep-files": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mangastream": {
|
||||||
|
"directory": [
|
||||||
|
"Manga",
|
||||||
|
"{manga}",
|
||||||
|
"c{chapter} - {title}"
|
||||||
|
],
|
||||||
|
"postprocessors": [
|
||||||
|
{
|
||||||
|
"name": "zip",
|
||||||
|
"compression": "store",
|
||||||
|
"extension": "cbz",
|
||||||
|
"keep-files": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"reddit": {
|
||||||
|
"comments": 0,
|
||||||
|
"morecomments": false,
|
||||||
|
"recursion": 0,
|
||||||
|
"videos": "ytdl"
|
||||||
|
},
|
||||||
|
"twitter": {
|
||||||
|
"quoted": false,
|
||||||
|
"replies": false,
|
||||||
|
"retweets": false,
|
||||||
|
"twitpic": false,
|
||||||
|
"videos": "ytdl"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"downloader": {
|
||||||
|
"mtime": true,
|
||||||
|
"part": true,
|
||||||
|
"part-directory": "/tmp/gallery-dl/.download/",
|
||||||
|
"retries": 4,
|
||||||
|
"timeout": 8.0,
|
||||||
|
"verify": true,
|
||||||
|
"ytdl": {
|
||||||
|
"format": "bestvideo+bestaudio/best",
|
||||||
|
"forward-cookies": false
|
||||||
|
},
|
||||||
|
"http": {
|
||||||
|
"adjust-extensions": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"output": {
|
||||||
|
"mode": "color",
|
||||||
|
"progress": true,
|
||||||
|
"logfile": {
|
||||||
|
"path": "~/.local/share/gallery-dl/log.txt",
|
||||||
|
"mode": "w",
|
||||||
|
"level": "debug"
|
||||||
|
},
|
||||||
|
"log": {
|
||||||
|
"level": "info",
|
||||||
|
"format": {
|
||||||
|
"debug": "\u001b[0;37m{name}: {message}\u001b[0m",
|
||||||
|
"info": "\u001b[1;37m{name}: {message}\u001b[0m",
|
||||||
|
"warning": "\u001b[1;33m{name}: {message}\u001b[0m",
|
||||||
|
"error": "\u001b[1;31m{name}: {message}\u001b[0m"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"unsupportedfile": {
|
||||||
|
"path": "~/.local/share/gallery-dl/unsupported.txt",
|
||||||
|
"mode": "a",
|
||||||
|
"format": "{asctime} {message}",
|
||||||
|
"format-date": "%Y-%m-%d-%H-%M-%S"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cache": {
|
||||||
|
"file": "~/.cache/gallery-dl/cache.sqlite3"
|
||||||
|
},
|
||||||
|
"netrc": false
|
||||||
|
}
|
56
home/.config/git/config
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
[http]
|
||||||
|
sslverify = true
|
||||||
|
[gpg]
|
||||||
|
program = gpg2
|
||||||
|
[commit]
|
||||||
|
gpgsign = true
|
||||||
|
[user]
|
||||||
|
name = FollieHiyuki
|
||||||
|
email = folliekazetani@protonmail.com
|
||||||
|
signingkey = 813CF484F4993419
|
||||||
|
[core]
|
||||||
|
editor = nvim
|
||||||
|
pager = delta
|
||||||
|
whitespace = trailing-space
|
||||||
|
[delta]
|
||||||
|
features = side-by-side line-numbers decorations
|
||||||
|
zero-style = dim syntax
|
||||||
|
minus-style = red bold "#340001"
|
||||||
|
plus-style = green bold "#012800"
|
||||||
|
syntax-theme = base16
|
||||||
|
[delta "line-numbers"]
|
||||||
|
line-numbers-left-format = "{nm:>4}┊"
|
||||||
|
line-numbers-right-format = "{np:>4}│"
|
||||||
|
line-numbers-left-style = blue
|
||||||
|
line-numbers-right-style = blue
|
||||||
|
line-numbers-minus-style = 1
|
||||||
|
line-numbers-plus-style = 2
|
||||||
|
line-numbers-zero-style = 7
|
||||||
|
[delta "decorations"]
|
||||||
|
commit-decoration-style = bold yellow box ul
|
||||||
|
file-style = bold yellow ul
|
||||||
|
file-decoration-style = none
|
||||||
|
hunk-header-decoration-style = yellow box
|
||||||
|
[interactive]
|
||||||
|
diffFilter = delta --color-only
|
||||||
|
[filter "lfs"]
|
||||||
|
clean = git-lfs clean -- %f
|
||||||
|
smudge = git-lfs smudge -- %f
|
||||||
|
process = git-lfs filter-process
|
||||||
|
required = true
|
||||||
|
[rebase]
|
||||||
|
autosquash = true
|
||||||
|
[push]
|
||||||
|
followTags = true
|
||||||
|
[help]
|
||||||
|
autocorrect = 1
|
||||||
|
[url "https://github.com/"]
|
||||||
|
insteadOf = gh:
|
||||||
|
[url "https://gitlab.com/"]
|
||||||
|
insteadOf = gl:
|
||||||
|
[url "https://git.disroot.org/"]
|
||||||
|
insteadOf = dr:
|
||||||
|
[url "https://gist.github.com/"]
|
||||||
|
insteadOf = gist:
|
||||||
|
[url "https://bitbucket.org/"]
|
||||||
|
insteadOf = bb:
|
9
home/.config/greenclip.cfg
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
Config {
|
||||||
|
maxHistoryLength = 1000,
|
||||||
|
historyPath = "~/.cache/greenclip/history",
|
||||||
|
staticHistoryPath = "~/.cache/greenclip/staticHistory",
|
||||||
|
imageCachePath = "/tmp/greenclip/",
|
||||||
|
usePrimarySelectionAsInput = False,
|
||||||
|
blacklistedApps = [],
|
||||||
|
trimSpaceFromSelection = True
|
||||||
|
}
|
9
home/.config/gtk-3.0/settings.ini
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[Settings]
|
||||||
|
gtk-theme-name=Arc-Dark
|
||||||
|
gtk-icon-theme-name=Papirus-Dark
|
||||||
|
gtk-application-prefer-dark-theme=true
|
||||||
|
gtk-cursor-theme-name=Breeze_Snow
|
||||||
|
gtk-cursor-theme-size=0
|
||||||
|
gtk-enable-event-sounds=1
|
||||||
|
gtk-enable-input-feedback-sounds=1
|
||||||
|
gtk-decoration-layout=menu:
|
16
home/.config/hikari/autostart
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Theme
|
||||||
|
gsettings set org.gnome.desktop.interface gtk-theme 'Arc-Dark' &
|
||||||
|
gsettings set org.gnome.desktop.interface icon-theme 'Papirus-Dark' &
|
||||||
|
gsettings set org.gnome.desktop.interface cursor-theme 'Breeze_Snow'
|
||||||
|
gsettings set org.gnome.desktop.interface cursor-size '24'
|
||||||
|
|
||||||
|
# Autostart
|
||||||
|
pipewire &
|
||||||
|
mpd &
|
||||||
|
mako -c ~/.config/mako/config &
|
||||||
|
wl-paste -t text --watch clipman store &
|
||||||
|
waybar -c ~/.config/waybar/config-generic -s ~/.config/waybar/style-generic.css &
|
||||||
|
mpDris2 &
|
||||||
|
# emacs --daemon &
|
310
home/.config/hikari/hikari.conf
Normal file
@ -0,0 +1,310 @@
|
|||||||
|
ui {
|
||||||
|
border = 2
|
||||||
|
gap = 5
|
||||||
|
step = 50
|
||||||
|
font = "Sarasa Fixed J 13"
|
||||||
|
|
||||||
|
colorscheme {
|
||||||
|
background = 0x2E3440
|
||||||
|
foreground = 0x2E3440
|
||||||
|
selected = 0xEBCB8B
|
||||||
|
grouped = 0xD08770
|
||||||
|
first = 0xA3BE8C
|
||||||
|
conflict = 0xBF616A
|
||||||
|
insert = 0xB48EAD
|
||||||
|
active = 0xECEFF4
|
||||||
|
inactive = 0x81A1C1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
outputs {
|
||||||
|
"DP-2" {
|
||||||
|
position = {
|
||||||
|
x = -1920
|
||||||
|
y = 0
|
||||||
|
}
|
||||||
|
background = {
|
||||||
|
path = "/home/follie/Pictures/Wallpapers/9697jd.png"
|
||||||
|
fit = stretch
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
"eDP-1" {
|
||||||
|
position = {
|
||||||
|
x = 0
|
||||||
|
y = 0
|
||||||
|
}
|
||||||
|
background = {
|
||||||
|
path = "/home/follie/Pictures/Wallpapers/Elan3.png"
|
||||||
|
fit = stretch
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
"HDMI-A-1" {
|
||||||
|
position = {
|
||||||
|
x = 1920
|
||||||
|
y = 0
|
||||||
|
}
|
||||||
|
background = {
|
||||||
|
path = "/home/follie/Pictures/Wallpapers/i159.png"
|
||||||
|
fit = stretch
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
inputs {
|
||||||
|
keyboards {
|
||||||
|
"*" = {
|
||||||
|
xkb = {
|
||||||
|
layout = "us,jp"
|
||||||
|
options = "grp:alt_shift_toggle"
|
||||||
|
}
|
||||||
|
repeat-rate = 25
|
||||||
|
repeat-delay = 600
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pointers {
|
||||||
|
"*" = {
|
||||||
|
tap = true
|
||||||
|
tap-drag = true
|
||||||
|
tap-drag-lock = true
|
||||||
|
disable-while-typing = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
switches {
|
||||||
|
"Control Method Lid Switch" = lock
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
layouts {
|
||||||
|
# main stack
|
||||||
|
s = {
|
||||||
|
scale = 0.55
|
||||||
|
left = single
|
||||||
|
right = stack
|
||||||
|
}
|
||||||
|
|
||||||
|
# main queue
|
||||||
|
q = {
|
||||||
|
scale = 0.55
|
||||||
|
top = single
|
||||||
|
bottom = queue
|
||||||
|
}
|
||||||
|
|
||||||
|
# nautilus
|
||||||
|
n = {
|
||||||
|
left = single
|
||||||
|
right = {
|
||||||
|
top = single
|
||||||
|
bottom = {
|
||||||
|
right = single
|
||||||
|
left = {
|
||||||
|
bottom = single
|
||||||
|
top = full
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
f = full
|
||||||
|
h = stack
|
||||||
|
v = queue
|
||||||
|
g = grid
|
||||||
|
}
|
||||||
|
|
||||||
|
actions {
|
||||||
|
# generals
|
||||||
|
terminal = alacritty
|
||||||
|
foot = foot
|
||||||
|
wofi = wofi --show=drun
|
||||||
|
run = wofi --show=run
|
||||||
|
searchmenu = searchmenu --wofi
|
||||||
|
bukumenu = bukumenu --wofi
|
||||||
|
manga = mangamenu --wofi
|
||||||
|
clipboard = clipboard --wofi
|
||||||
|
clearclip = clipboard --clear
|
||||||
|
clearclipwofi = clipman clear --tool wofi
|
||||||
|
emacs = emacsclient -c -a emacs
|
||||||
|
|
||||||
|
# media
|
||||||
|
volumeup = volumecontrol increase && pkill -x -RTMIN+11 waybar
|
||||||
|
volumedown = volumecontrol decrease && pkill -x -RTMIN+11 waybar
|
||||||
|
mute = volumecontrol toggle && pkill -x -RTMIN+11 waybar
|
||||||
|
playpause = playerctl play-pause
|
||||||
|
nextsong = playerctl next
|
||||||
|
prevsong = playerctl previous
|
||||||
|
|
||||||
|
# backlight
|
||||||
|
lightup = brightness up
|
||||||
|
lightdown = brightness down
|
||||||
|
|
||||||
|
# screenshot
|
||||||
|
screenfull = screenshot --full
|
||||||
|
screenregion = screenshot --region
|
||||||
|
screencopy = screenshot --region-copy
|
||||||
|
screencopyfull = screenshot --full-copy
|
||||||
|
}
|
||||||
|
|
||||||
|
bindings {
|
||||||
|
keyboard {
|
||||||
|
"L+0" = workspace-switch-to-sheet-0
|
||||||
|
"L+1" = workspace-switch-to-sheet-1
|
||||||
|
"L+2" = workspace-switch-to-sheet-2
|
||||||
|
"L+3" = workspace-switch-to-sheet-3
|
||||||
|
"L+4" = workspace-switch-to-sheet-4
|
||||||
|
"L+5" = workspace-switch-to-sheet-5
|
||||||
|
"L+6" = workspace-switch-to-sheet-6
|
||||||
|
"L+7" = workspace-switch-to-sheet-7
|
||||||
|
"L+8" = workspace-switch-to-sheet-8
|
||||||
|
"L+9" = workspace-switch-to-sheet-9
|
||||||
|
"L+numbersign" = workspace-switch-to-sheet-alternate
|
||||||
|
"L+Period" = workspace-switch-to-sheet-current
|
||||||
|
"L+j" = workspace-switch-to-sheet-next
|
||||||
|
"L+k" = workspace-switch-to-sheet-prev
|
||||||
|
"L+Comma" = workspace-switch-to-sheet-next-inhabited
|
||||||
|
"LS+Comma" = workspace-switch-to-sheet-prev-inhabited
|
||||||
|
"LSC+g" = workspace-show-group
|
||||||
|
"LSC+i" = workspace-show-invisible
|
||||||
|
"LSC+Period" = workspace-show-all
|
||||||
|
"LC+n" = workspace-cycle-next
|
||||||
|
"LC+p" = workspace-cycle-prev
|
||||||
|
|
||||||
|
"LC+i" = sheet-show-invisible
|
||||||
|
"LC+Period" = sheet-show-all
|
||||||
|
"LC+g" = sheet-show-group
|
||||||
|
|
||||||
|
"LA+r" = layout-reset
|
||||||
|
"LA+Return" = layout-restack-append
|
||||||
|
"LAS+Return" = layout-restack-prepend
|
||||||
|
"L+Home" = layout-cycle-view-first
|
||||||
|
"L+End" = layout-cycle-view-last
|
||||||
|
"L+n" = layout-cycle-view-next
|
||||||
|
"L+p" = layout-cycle-view-prev
|
||||||
|
"L+x" = layout-exchange-view-next
|
||||||
|
"LS+x" = layout-exchange-view-prev
|
||||||
|
"LA+x" = layout-exchange-view-main
|
||||||
|
|
||||||
|
"LS+0" = view-pin-to-sheet-0
|
||||||
|
"LS+1" = view-pin-to-sheet-1
|
||||||
|
"LS+2" = view-pin-to-sheet-2
|
||||||
|
"LS+3" = view-pin-to-sheet-3
|
||||||
|
"LS+4" = view-pin-to-sheet-4
|
||||||
|
"LS+5" = view-pin-to-sheet-5
|
||||||
|
"LS+6" = view-pin-to-sheet-6
|
||||||
|
"LS+7" = view-pin-to-sheet-7
|
||||||
|
"LS+8" = view-pin-to-sheet-8
|
||||||
|
"LS+9" = view-pin-to-sheet-9
|
||||||
|
"LS+numbersign" = view-pin-to-sheet-alternate
|
||||||
|
"LS+Period" = view-pin-to-sheet-current
|
||||||
|
"LS+j" = view-pin-to-sheet-next
|
||||||
|
"LS+k" = view-pin-to-sheet-prev
|
||||||
|
|
||||||
|
"L+u" = view-raise
|
||||||
|
"L+d" = view-lower
|
||||||
|
"L+o" = view-only
|
||||||
|
"L+h" = view-hide
|
||||||
|
"L+q" = view-quit
|
||||||
|
"LS+n" = view-cycle-next
|
||||||
|
"LS+p" = view-cycle-prev
|
||||||
|
|
||||||
|
"L+Up" = view-move-up
|
||||||
|
"L+Down" = view-move-down
|
||||||
|
"L+Left" = view-move-left
|
||||||
|
"L+Right" = view-move-right
|
||||||
|
"LA+Up" = view-decrease-size-up
|
||||||
|
"LAS+Up" = view-increase-size-up
|
||||||
|
"LA+Down" = view-increase-size-down
|
||||||
|
"LAS+Down" = view-decrease-size-down
|
||||||
|
"LA+Left" = view-decrease-size-left
|
||||||
|
"LAS+Left" = view-increase-size-left
|
||||||
|
"LA+Right" = view-increase-size-right
|
||||||
|
"LAS+Right" = view-decrease-size-right
|
||||||
|
"LS+Up" = view-snap-up
|
||||||
|
"LS+Down" = view-snap-down
|
||||||
|
"LS+Left" = view-snap-left
|
||||||
|
"LS+Right" = view-snap-right
|
||||||
|
"L+r" = view-reset-geometry
|
||||||
|
|
||||||
|
"L+minus" = view-toggle-maximize-vertical
|
||||||
|
"L+less" = view-toggle-maximize-horizontal
|
||||||
|
"L+f" = view-toggle-maximize-full
|
||||||
|
"L5+plus" = view-toggle-floating
|
||||||
|
"L+i" = view-toggle-invisible
|
||||||
|
"L5+p" = view-toggle-public
|
||||||
|
|
||||||
|
"LS+o" = group-only
|
||||||
|
"LS+h" = group-hide
|
||||||
|
"LS+u" = group-raise
|
||||||
|
"LS+d" = group-lower
|
||||||
|
"L+Tab" = group-cycle-prev
|
||||||
|
"LS+Tab" = group-cycle-next
|
||||||
|
"L+asciicircum" = group-cycle-view-prev
|
||||||
|
"LS+asciicircum" = group-cycle-view-next
|
||||||
|
"LS+Home" = group-cycle-view-first
|
||||||
|
"LS+End" = group-cycle-view-last
|
||||||
|
|
||||||
|
"L+l" = mode-enter-layout
|
||||||
|
"L+s" = mode-enter-sheet-assign
|
||||||
|
"L+g" = mode-enter-group-assign
|
||||||
|
"L+m" = mode-enter-mark-assign
|
||||||
|
"L+acute" = mode-enter-mark-select
|
||||||
|
"LS+acute" = mode-enter-mark-switch-select
|
||||||
|
"LCA+g" = mode-enter-input-grab
|
||||||
|
|
||||||
|
"LS+Backspace" = lock
|
||||||
|
"LCA+q" = quit
|
||||||
|
"LCA+r" = reload
|
||||||
|
|
||||||
|
"L+Return" = action-terminal
|
||||||
|
"LS+Return" = action-foot
|
||||||
|
"L+w" = action-wofi
|
||||||
|
"LC+w" = action-run
|
||||||
|
"LA+e" = action-emacs
|
||||||
|
"LA+w" = action-clipboard
|
||||||
|
"LA+s" = action-searchmenu
|
||||||
|
"LC+s" = action-bukumenu
|
||||||
|
"LA+m" = action-manga
|
||||||
|
"LA+c" = action-clearclip
|
||||||
|
"LC+c" = action-clearclipwofi
|
||||||
|
|
||||||
|
"0+XF86AudioRaiseVolume" = action-volumeup
|
||||||
|
"0+XF86AudioLowerVolume" = action-volumedown
|
||||||
|
"0+XF86AudioMute" = action-mute
|
||||||
|
"0+XF86AudioPlay" = action-playpause
|
||||||
|
"0+XF86AudioNext" = action-nextsong
|
||||||
|
"0+XF86AudioPrev" = action-prevsong
|
||||||
|
|
||||||
|
"0+XF86MonBrightnessDown" = action-lightdown
|
||||||
|
"0+XF86MonBrightnessUp" = action-lightup
|
||||||
|
|
||||||
|
"0+Print" = action-screenregion
|
||||||
|
"L+Print" = action-screenfull
|
||||||
|
"C+Print" = action-screencopy
|
||||||
|
"A+Print" = action-screencopyfull
|
||||||
|
|
||||||
|
"A+F1" = vt-switch-to-1
|
||||||
|
"A+F2" = vt-switch-to-2
|
||||||
|
"A+F3" = vt-switch-to-3
|
||||||
|
"A+F4" = vt-switch-to-4
|
||||||
|
"A+F5" = vt-switch-to-5
|
||||||
|
"A+F6" = vt-switch-to-6
|
||||||
|
"A+F7" = vt-switch-to-7
|
||||||
|
"A+F8" = vt-switch-to-8
|
||||||
|
"A+F9" = vt-switch-to-9
|
||||||
|
|
||||||
|
"CA+s" = layout-apply-s
|
||||||
|
"CA+q" = layout-apply-q
|
||||||
|
"CA+n" = layout-apply-n
|
||||||
|
"CA+f" = layout-apply-f
|
||||||
|
"CA+h" = layout-apply-h
|
||||||
|
"CA+v" = layout-apply-v
|
||||||
|
"CA+g" = layout-apply-g
|
||||||
|
}
|
||||||
|
|
||||||
|
mouse {
|
||||||
|
"L+left" = mode-enter-move
|
||||||
|
"L+right" = mode-enter-resize
|
||||||
|
}
|
||||||
|
}
|
77
home/.config/imv/config
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
# Default config for imv
|
||||||
|
|
||||||
|
[options]
|
||||||
|
|
||||||
|
# Suppress built-in key bindings, and specify them explicitly in this
|
||||||
|
# config file.
|
||||||
|
suppress_default_binds = true
|
||||||
|
|
||||||
|
# Theme
|
||||||
|
background = 2e3440
|
||||||
|
overlay_text_color = eceff4
|
||||||
|
overlay_background_color = 2e3440
|
||||||
|
# background = 282c34
|
||||||
|
# overlay_text_color = bbc2cf
|
||||||
|
# overlay_background_color = 282c34
|
||||||
|
overlay_background_alpha = c3
|
||||||
|
|
||||||
|
# Custom settings
|
||||||
|
initial_pan = 0 0
|
||||||
|
scaling_mode = full
|
||||||
|
overlay = true
|
||||||
|
overlay_font = Sarasa Fixed J:20
|
||||||
|
overlay_text = [$imv_current_index/$imv_file_count] $imv_current_file [${imv_width}x${imv_height}] [$imv_scaling_mode - $imv_scale%]
|
||||||
|
|
||||||
|
[aliases]
|
||||||
|
# Define aliases here. Any arguments passed to an alias are appended to the
|
||||||
|
# command.
|
||||||
|
# alias = command to run
|
||||||
|
|
||||||
|
[binds]
|
||||||
|
# Define some key bindings
|
||||||
|
q = quit
|
||||||
|
y = exec echo working!
|
||||||
|
|
||||||
|
# Image navigation
|
||||||
|
<Left> = prev
|
||||||
|
<bracketleft> = prev
|
||||||
|
<Right> = next
|
||||||
|
<bracketright> = next
|
||||||
|
gg = goto 1
|
||||||
|
<Shift+G> = goto -1
|
||||||
|
|
||||||
|
# Panning
|
||||||
|
j = pan 0 -50
|
||||||
|
k = pan 0 50
|
||||||
|
h = pan 50 0
|
||||||
|
l = pan -50 0
|
||||||
|
|
||||||
|
# Zooming
|
||||||
|
<Up> = zoom 1
|
||||||
|
<Shift+plus> = zoom 1
|
||||||
|
i = zoom 1
|
||||||
|
<Down> = zoom -1
|
||||||
|
<minus> = zoom -1
|
||||||
|
o = zoom -1
|
||||||
|
|
||||||
|
# Rotate Clockwise by 90 degrees
|
||||||
|
<Ctrl+r> = rotate by 90
|
||||||
|
|
||||||
|
# Other commands
|
||||||
|
x = close
|
||||||
|
f = fullscreen
|
||||||
|
d = overlay
|
||||||
|
p = exec echo $imv_current_file
|
||||||
|
c = center
|
||||||
|
s = scaling next
|
||||||
|
<Shift+S> = upscaling next
|
||||||
|
a = zoom actual
|
||||||
|
r = reset
|
||||||
|
|
||||||
|
# Gif playback
|
||||||
|
<period> = next_frame
|
||||||
|
<space> = toggle_playing
|
||||||
|
|
||||||
|
# Slideshow control
|
||||||
|
t = slideshow +1
|
||||||
|
<Shift+T> = slideshow -1
|
3
home/.config/ion/initrc
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
eval $(starship init ion --print-full-init)
|
||||||
|
|
||||||
|
~/.local/bin/bunny
|
143
home/.config/jesseduffield/lazygit/config.yml
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
confirmonquit: true
|
||||||
|
git:
|
||||||
|
autofetch: false
|
||||||
|
merging:
|
||||||
|
args: ""
|
||||||
|
manualcommit: true
|
||||||
|
paging:
|
||||||
|
colorarg: always
|
||||||
|
useconfig: true
|
||||||
|
skiphookprefix: WIP
|
||||||
|
gui:
|
||||||
|
commitlength:
|
||||||
|
show: true
|
||||||
|
mouseevents: false
|
||||||
|
scrollheight: 2
|
||||||
|
scrollpastbottom: true
|
||||||
|
sidepanelwidth: 0.3333
|
||||||
|
skipstashwarning: true
|
||||||
|
skipunstagelinewarning: false
|
||||||
|
theme:
|
||||||
|
activebordercolor:
|
||||||
|
- white
|
||||||
|
- bold
|
||||||
|
inactivebordercolor:
|
||||||
|
- blue
|
||||||
|
lighttheme: false
|
||||||
|
optionstextcolor:
|
||||||
|
- yellow
|
||||||
|
selectedlinebgcolor:
|
||||||
|
- default
|
||||||
|
selectedrangebgcolor:
|
||||||
|
- green
|
||||||
|
keybinding:
|
||||||
|
branches:
|
||||||
|
checkoutbranchbyname: c
|
||||||
|
createpullrequest: o
|
||||||
|
fastforward: f
|
||||||
|
fetchremote: f
|
||||||
|
forcecheckoutbranch: F
|
||||||
|
mergeintocurrentbranch: M
|
||||||
|
pushtag: P
|
||||||
|
rebasebranch: r
|
||||||
|
setupstream: u
|
||||||
|
viewgitflowoptions: i
|
||||||
|
commitfiles:
|
||||||
|
checkoutcommitfile: c
|
||||||
|
commits:
|
||||||
|
amendtocommit: A
|
||||||
|
checkoutcommit: <space>
|
||||||
|
cherrypickcopy: c
|
||||||
|
cherrypickcopyrange: C
|
||||||
|
createfixupcommit: F
|
||||||
|
markcommitasfixup: f
|
||||||
|
movedowncommit: <c-j>
|
||||||
|
moveupcommit: <c-k>
|
||||||
|
pastecommits: v
|
||||||
|
pickcommit: p
|
||||||
|
renamecommit: r
|
||||||
|
renamecommitwitheditor: R
|
||||||
|
resetcherrypick: <c-R>
|
||||||
|
revertcommit: t
|
||||||
|
squashabovecommits: S
|
||||||
|
squashdown: s
|
||||||
|
tagcommit: T
|
||||||
|
viewresetoptions: g
|
||||||
|
files:
|
||||||
|
amendlastcommit: A
|
||||||
|
commitchanges: c
|
||||||
|
commitchangeswitheditor: C
|
||||||
|
commitchangeswithouthook: w
|
||||||
|
fetch: f
|
||||||
|
ignorefile: i
|
||||||
|
refreshfiles: r
|
||||||
|
stashallchanges: s
|
||||||
|
togglestagedall: a
|
||||||
|
viewresetoptions: D
|
||||||
|
viewstashoptions: S
|
||||||
|
main:
|
||||||
|
pickbothhunks: b
|
||||||
|
toggledragselect: v
|
||||||
|
toggledragselect-alt: V
|
||||||
|
toggleselecthunk: a
|
||||||
|
stash:
|
||||||
|
popstash: g
|
||||||
|
status:
|
||||||
|
checkforupdate: u
|
||||||
|
recentrepos: <enter>
|
||||||
|
universal:
|
||||||
|
copytoclipboard: <c-o>
|
||||||
|
createpatchoptionsmenu: <c-p>
|
||||||
|
createrebaseoptionsmenu: m
|
||||||
|
diffingmenu: <c-e>
|
||||||
|
edit: e
|
||||||
|
executecustomcommand: ':'
|
||||||
|
filteringmenu: <c-s>
|
||||||
|
gointo: <enter>
|
||||||
|
gotobottom: '>'
|
||||||
|
gototop: <
|
||||||
|
new: "n"
|
||||||
|
nextblock: <right>
|
||||||
|
nextblock-alt: l
|
||||||
|
nextitem: <down>
|
||||||
|
nextitem-alt: j
|
||||||
|
nextmatch: "n"
|
||||||
|
nextpage: .
|
||||||
|
nextscreenmode: +
|
||||||
|
nexttab: ']'
|
||||||
|
openfile: o
|
||||||
|
optionmenu: x
|
||||||
|
optionmenu-alt1: '?'
|
||||||
|
prevblock: <left>
|
||||||
|
prevblock-alt: h
|
||||||
|
previtem: <up>
|
||||||
|
previtem-alt: k
|
||||||
|
prevmatch: "N"
|
||||||
|
prevpage: ','
|
||||||
|
prevscreenmode: _
|
||||||
|
prevtab: '['
|
||||||
|
pullfiles: p
|
||||||
|
pushfiles: P
|
||||||
|
quit: q
|
||||||
|
quit-alt1: <c-c>
|
||||||
|
quitwithoutchangingdirectory: Q
|
||||||
|
redo: <c-z>
|
||||||
|
refresh: R
|
||||||
|
remove: d
|
||||||
|
return: <esc>
|
||||||
|
scrolldownmain: <pgdown>
|
||||||
|
scrolldownmain-alt1: J
|
||||||
|
scrolldownmain-alt2: <c-d>
|
||||||
|
scrollupmain: <pgup>
|
||||||
|
scrollupmain-alt1: K
|
||||||
|
scrollupmain-alt2: <c-u>
|
||||||
|
select: <space>
|
||||||
|
togglepanel: <tab>
|
||||||
|
undo: z
|
||||||
|
reporting: "off"
|
||||||
|
startuppopupversion: 1
|
||||||
|
update:
|
||||||
|
days: 14
|
||||||
|
method: never
|
||||||
|
os:
|
||||||
|
openCommand: 'sh -c "xdg-open {{filename}} >/dev/null"'
|
88
home/.config/kitty/kitty.conf
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
# Font
|
||||||
|
font_family Iosevka Nerd Font
|
||||||
|
font_size 13.0
|
||||||
|
|
||||||
|
# url handler
|
||||||
|
url_color #ebcb8b
|
||||||
|
# url_color #e5c07b
|
||||||
|
url_style curly
|
||||||
|
open_url_modifiers kitty_mod
|
||||||
|
open_url_with default
|
||||||
|
url_prefixes http https file ftp
|
||||||
|
|
||||||
|
# Ring
|
||||||
|
enable_audio_bell yes
|
||||||
|
bell_on_tab yes
|
||||||
|
|
||||||
|
allow_remote_control yes
|
||||||
|
|
||||||
|
remember_window_size no
|
||||||
|
raw_minimal_borders yes
|
||||||
|
tab_title_template "{index}:{title}"
|
||||||
|
initial_window_width 640
|
||||||
|
initial_window_height 480
|
||||||
|
|
||||||
|
background_opacity 0.95
|
||||||
|
background_image none
|
||||||
|
dim_opacity 0.65
|
||||||
|
|
||||||
|
# --- Nord --- #
|
||||||
|
cursor #d8dee9
|
||||||
|
cursor_text_color #2e3440
|
||||||
|
foreground #d8dee9
|
||||||
|
background #2e3440
|
||||||
|
selection_foreground #2e3440
|
||||||
|
selection_background #d8dee9
|
||||||
|
color0 #3b4252
|
||||||
|
color8 #4c566a
|
||||||
|
color1 #bf616a
|
||||||
|
color9 #bf616a
|
||||||
|
color2 #a3be8c
|
||||||
|
color10 #a3be8c
|
||||||
|
color3 #ebcb8b
|
||||||
|
color11 #ebcb8b
|
||||||
|
color4 #81a1c1
|
||||||
|
color12 #81a1c1
|
||||||
|
color5 #b48ead
|
||||||
|
color13 #b48ead
|
||||||
|
color6 #88c0d0
|
||||||
|
color14 #8fbcbb
|
||||||
|
color7 #e5e9f0
|
||||||
|
color15 #eceff4
|
||||||
|
# -- OneDark -- #
|
||||||
|
# cursor #bbc2cf
|
||||||
|
# cursor_text_color #282c34
|
||||||
|
# foreground #abb2bf
|
||||||
|
# background #282c34
|
||||||
|
# selection_foreground #282c34
|
||||||
|
# selection_background #abb2bf
|
||||||
|
# color0 #282c34
|
||||||
|
# color8 #3e4452
|
||||||
|
# color1 #be5046
|
||||||
|
# color9 #e06c75
|
||||||
|
# color2 #98c379
|
||||||
|
# color10 #98c379
|
||||||
|
# color3 #d19a66
|
||||||
|
# color11 #e5c07b
|
||||||
|
# color4 #61afef
|
||||||
|
# color12 #61afef
|
||||||
|
# color5 #c678dd
|
||||||
|
# color13 #c678dd
|
||||||
|
# color6 #56b6c2
|
||||||
|
# color14 #56b6c2
|
||||||
|
# color7 #abb2bf
|
||||||
|
# color15 #bbc2cf
|
||||||
|
|
||||||
|
map shift+up move_window up
|
||||||
|
map shift+left move_window left
|
||||||
|
map shift+right move_window right
|
||||||
|
map shift+down move_window down
|
||||||
|
|
||||||
|
map ctrl+left resize_window narrower
|
||||||
|
map ctrl+right resize_window wider
|
||||||
|
map ctrl+up resize_window taller
|
||||||
|
map ctrl+down resize_window shorter
|
||||||
|
|
||||||
|
map ctrl+f2 detach_window
|
||||||
|
map ctrl+f3 detach_tab
|
||||||
|
map ctrl+f4 detach_window new-tab
|
272
home/.config/lf/lfrc
Normal file
@ -0,0 +1,272 @@
|
|||||||
|
# _______ __________
|
||||||
|
# __ __ \_________ /___(_)____________________
|
||||||
|
# _ / / /__ __ \ __/_ /_ __ \_ __ \_ ___/
|
||||||
|
# / /_/ /__ /_/ / /_ _ / / /_/ / / / /(__ )
|
||||||
|
# \____/ _ .___/\__/ /_/ \____//_/ /_//____/
|
||||||
|
# /_/
|
||||||
|
# Shell
|
||||||
|
set shell sh
|
||||||
|
set shellopts '-eu'
|
||||||
|
set ifs "\n"
|
||||||
|
|
||||||
|
# Interface
|
||||||
|
set ratios '1:2'
|
||||||
|
set dircounts
|
||||||
|
set hidden
|
||||||
|
set info 'size'
|
||||||
|
set icons
|
||||||
|
set preview
|
||||||
|
set previewer '~/.config/lf/preview 2>/dev/null'
|
||||||
|
|
||||||
|
# General
|
||||||
|
set globsearch
|
||||||
|
set incsearch
|
||||||
|
set ignorecase
|
||||||
|
set tabstop 4
|
||||||
|
# set filesep ' '
|
||||||
|
|
||||||
|
# _________ _________
|
||||||
|
# __ ____/____________ __________ _________ _____________ /_______
|
||||||
|
# _ / _ __ \_ __ `__ \_ __ `__ \ __ `/_ __ \ __ /__ ___/
|
||||||
|
# / /___ / /_/ / / / / / / / / / / / /_/ /_ / / / /_/ / _(__ )
|
||||||
|
# \____/ \____//_/ /_/ /_//_/ /_/ /_/\__,_/ /_/ /_/\__,_/ /____/
|
||||||
|
#
|
||||||
|
# define a custom 'open' command
|
||||||
|
# This command is called when current file is not a directory. You may want to
|
||||||
|
# use either file extensions and/or mime types here
|
||||||
|
cmd open ${{
|
||||||
|
case $(file --mime-type $f -b) in
|
||||||
|
text/* | */xml) $EDITOR $fx;;
|
||||||
|
audio/*) ffplay -nodisp -autoexit $fx;;
|
||||||
|
video/*) mpv $fx;;
|
||||||
|
*) for f in $fx; do setsid $OPENER $f > /dev/null 2> /dev/null & done;;
|
||||||
|
esac
|
||||||
|
}}
|
||||||
|
|
||||||
|
cmd open-with %{{
|
||||||
|
printf "Open with: "
|
||||||
|
read ans
|
||||||
|
|
||||||
|
for file in "$fx"
|
||||||
|
do
|
||||||
|
$ans $file >/dev/null 2>&1 &
|
||||||
|
done
|
||||||
|
|
||||||
|
lf -remote 'send reload'
|
||||||
|
}}
|
||||||
|
|
||||||
|
# extract the current file with the right command
|
||||||
|
# (xkcd link: https://xkcd.com/1168/)
|
||||||
|
cmd extract ${{
|
||||||
|
set -f
|
||||||
|
case $f in
|
||||||
|
*.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;;
|
||||||
|
*.tar.gz|*.tgz) tar xzvf $f;;
|
||||||
|
*.tar.xz|*.txz) tar xJvf $f;;
|
||||||
|
*.zip) unzip $f;;
|
||||||
|
*.rar) unrar x $f;;
|
||||||
|
*.7z) 7z x $f;;
|
||||||
|
esac
|
||||||
|
}}
|
||||||
|
cmd atool %atool -xD "$f"
|
||||||
|
|
||||||
|
# compress current file or selected files with tar and gunzip
|
||||||
|
cmd tar ${{
|
||||||
|
set -f
|
||||||
|
mkdir $1
|
||||||
|
cp -r $fx $1
|
||||||
|
tar czf $1.tar.gz $1
|
||||||
|
rm -rf $1
|
||||||
|
}}
|
||||||
|
|
||||||
|
# compress current file or selected files with zip
|
||||||
|
cmd zip ${{
|
||||||
|
set -f
|
||||||
|
mkdir $1
|
||||||
|
cp -r $fx $1
|
||||||
|
zip -r $1.zip $1
|
||||||
|
rm -rf $1
|
||||||
|
}}
|
||||||
|
|
||||||
|
# fzf
|
||||||
|
cmd fzf_jump ${{
|
||||||
|
res="$(find . -maxdepth 1 | fzf --no-multi --reverse --header='Jump to location')"
|
||||||
|
if [ -f "$res" ]; then
|
||||||
|
cmd="select"
|
||||||
|
elif [ -d "$res" ]; then
|
||||||
|
cmd="cd"
|
||||||
|
fi
|
||||||
|
lf -remote "send $id $cmd \"$res\""
|
||||||
|
}}
|
||||||
|
|
||||||
|
# selection
|
||||||
|
cmd select-files ${{
|
||||||
|
{ echo "$fs"; find -L "$(pwd)" -mindepth 1 -maxdepth 1 -type f; } |
|
||||||
|
if [ "$lf_hidden" = "false" ]; then
|
||||||
|
# remove any hidden files so you only select files you can see.
|
||||||
|
grep -v '/\.[^/]\+$'
|
||||||
|
else
|
||||||
|
cat
|
||||||
|
fi |
|
||||||
|
sed '/^$/d' | sort | uniq -u |
|
||||||
|
xargs -d '\n' -r -I{} lf -remote "send $id toggle {}"
|
||||||
|
}}
|
||||||
|
cmd select-dirs ${{
|
||||||
|
{ echo "$fs"; find -L "$(pwd)" -mindepth 1 -maxdepth 1 -type d; } |
|
||||||
|
if [ "$lf_hidden" = "false" ]; then
|
||||||
|
grep -v '/\.[^/]\+$'
|
||||||
|
else
|
||||||
|
cat
|
||||||
|
fi |
|
||||||
|
sed '/^$/d' | sort | uniq -u |
|
||||||
|
xargs -d '\n' -r -I{} lf -remote "send $id toggle {}"
|
||||||
|
}}
|
||||||
|
|
||||||
|
# cp, mv with progression
|
||||||
|
cmd paste &{{
|
||||||
|
load=$(lf -remote 'load')
|
||||||
|
mode=$(echo "$load" | sed -n '1p')
|
||||||
|
list=$(echo "$load" | sed '1d')
|
||||||
|
if [ $mode = 'copy' ]; then
|
||||||
|
rsync -av --ignore-existing --progress $list . \
|
||||||
|
| stdbuf -i0 -o0 -e0 tr '\r' '\n' \
|
||||||
|
| while read line; do
|
||||||
|
lf -remote "send $id echo $line"
|
||||||
|
done
|
||||||
|
elif [ $mode = 'move' ]; then
|
||||||
|
mv -n $list .
|
||||||
|
fi
|
||||||
|
lf -remote 'send load'
|
||||||
|
lf -remote 'send clear'
|
||||||
|
}}
|
||||||
|
|
||||||
|
# basic stuff
|
||||||
|
cmd mkdir %mkdir "$@"
|
||||||
|
cmd touch %touch "$@"
|
||||||
|
cmd chmod %{{
|
||||||
|
printf "Mode Bits: "
|
||||||
|
read ans
|
||||||
|
|
||||||
|
for file in "$fx"
|
||||||
|
do
|
||||||
|
chmod $ans $file
|
||||||
|
done
|
||||||
|
|
||||||
|
lf -remote 'send reload'
|
||||||
|
}}
|
||||||
|
|
||||||
|
# bulk rename
|
||||||
|
cmd bulk-rename ${{
|
||||||
|
old=$(mktemp)
|
||||||
|
new=$(mktemp)
|
||||||
|
[ -n $fs ] && fs=$(ls)
|
||||||
|
printf "$fs\n" > $old
|
||||||
|
printf "$fs\n" > $new
|
||||||
|
$EDITOR $new
|
||||||
|
[ $(cat $new | wc -l) -ne $(cat $old | wc -l) ] && exit
|
||||||
|
paste $old $new | while read names; do
|
||||||
|
src=$(printf $names | cut -f1)
|
||||||
|
dst=$(printf $names | cut -f2)
|
||||||
|
[ $src = $dst ] && continue
|
||||||
|
[ -e $dst ] && continue
|
||||||
|
mv $src $dst
|
||||||
|
done
|
||||||
|
rm $old $new
|
||||||
|
lf -remote "send $id unselect"
|
||||||
|
}}
|
||||||
|
|
||||||
|
# symlink
|
||||||
|
cmd Link %{{
|
||||||
|
for file in $(lf -remote 'load'); do
|
||||||
|
if [ ! -n "${mode+1}" ]; then
|
||||||
|
mode="$file"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
files+=("$file")
|
||||||
|
done
|
||||||
|
if [ "${#files[@]}" -lt 1 ]; then
|
||||||
|
lf -remote "send $id echo no files to link files: ${files}"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
# symbolically copy mode is indicating a soft link
|
||||||
|
if [[ "$mode" == copy ]]; then
|
||||||
|
ln -sr $files -t .
|
||||||
|
# while a move mode is indicating a hard link
|
||||||
|
elif [[ "$mode" == move ]]; then
|
||||||
|
ln $files -t .
|
||||||
|
fi
|
||||||
|
}}
|
||||||
|
|
||||||
|
# fzf + zlua
|
||||||
|
cmd zlua ${{
|
||||||
|
sel=$(awk -F "|" '{print $1}' "$HOME/.local/share/zlua/zlua" | fzf | awk '{$1=$1};1')
|
||||||
|
lf -remote "send $id cd \"$sel\""
|
||||||
|
}}
|
||||||
|
|
||||||
|
# ______ ___ _____
|
||||||
|
# ___ |/ /_____ ___________________(_)_____________ ________
|
||||||
|
# __ /|_/ /_ __ `/__ __ \__ __ \_ /__ __ \_ __ `/_ ___/
|
||||||
|
# _ / / / / /_/ /__ /_/ /_ /_/ / / _ / / / /_/ /_(__ )
|
||||||
|
# /_/ /_/ \__,_/ _ .___/_ .___//_/ /_/ /_/_\__, / /____/
|
||||||
|
# /_/ /_/ /____/
|
||||||
|
# unmap
|
||||||
|
map d
|
||||||
|
|
||||||
|
# general
|
||||||
|
map . set hidden!
|
||||||
|
map ; read
|
||||||
|
map <enter> open
|
||||||
|
map d delete
|
||||||
|
map x cut
|
||||||
|
map R reload
|
||||||
|
map b $vi $fx
|
||||||
|
|
||||||
|
# put lf to background
|
||||||
|
map <c-z> $ kill -STOP $PPID
|
||||||
|
|
||||||
|
# dedicated key for file opener
|
||||||
|
map o open-with
|
||||||
|
|
||||||
|
# fzf
|
||||||
|
map <c-f> $vi $(fzf)
|
||||||
|
map <a-f> zlua
|
||||||
|
map f :fzf_jump
|
||||||
|
|
||||||
|
# archives
|
||||||
|
map ax extract
|
||||||
|
map aa atool
|
||||||
|
map az push :zip<space>
|
||||||
|
map at push :tar<space>
|
||||||
|
|
||||||
|
# selection
|
||||||
|
map <c-v> select-dirs
|
||||||
|
map <a-v> select-files
|
||||||
|
|
||||||
|
# symlink
|
||||||
|
# y (select for copy) and P to paste soft-link
|
||||||
|
# d (select for cut) and P to paste hard-link
|
||||||
|
map P :Link
|
||||||
|
|
||||||
|
# bookmarks
|
||||||
|
map gh cd ~
|
||||||
|
map gC cd ~/Code
|
||||||
|
map gD cd ~/Downloads
|
||||||
|
map gA cd ~/Media
|
||||||
|
map gU cd ~/Music
|
||||||
|
map gP cd ~/Pictures
|
||||||
|
map gV cd ~/Videos
|
||||||
|
map gf cd ~/.config
|
||||||
|
map gl cd ~/.local/share
|
||||||
|
map ge cd /etc
|
||||||
|
map gb cd /boot
|
||||||
|
map gu cd /usr/share
|
||||||
|
map gd cd /dev
|
||||||
|
map go cd /opt
|
||||||
|
map gv cd /var
|
||||||
|
map gm cd /media
|
||||||
|
map gi cd /run/media
|
||||||
|
map gM cd /mnt
|
||||||
|
map gt cd /tmp
|
||||||
|
map gr cd /
|
||||||
|
map gs cd /srv
|
||||||
|
# map gk cd /bedrock/strata
|
44
home/.config/lf/preview
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
# First check common extensions
|
||||||
|
*.png|*.jpg|*.bmp|*.jpeg|*.gif|*.xpm|*.svg) mediainfo "$1" || exiftool "$1" || identify "$1" ;;
|
||||||
|
*.wav|*.mp3|*.flac|*.m4a|*.ape|*.ac3|*.og[agx]|*.spx|*.dsf|*.opus|*.dff|*.wma|*.wvc?) mediainfo "$1" || exiftool "$1" ;;
|
||||||
|
*.avi|*.mp4|*.wmv|*.dat|*.3gp|*.vob|*.ogv|*.mkv|*.mpe?g|*.fl[icv]|*.m2v|*.webm|*.m?ts|*.r[am]|*.qt|*.divx|*.as[fx]|*.m4v|*.mov) mediainfo "$1" || exiftool "$1" || fprobe -pretty "$1" 2>&1 ;;
|
||||||
|
*.pdf) mutool draw -F txt -i -- "$1" 1-10 || pdftotext -l 10 -nopgbrk -q -- "$1" - || exiftool "$1" ;;
|
||||||
|
*.ps) pstotext "$1" || ps2ascii "$1" ;;
|
||||||
|
*.epub|*.fb2) pandoc -s -t markdown -- "$1" ;;
|
||||||
|
*.djvu) djvutxt "$1" || exiftool "$1" ;;
|
||||||
|
# *.ttf|*.otf) otfinfo --info "$1" ;;
|
||||||
|
*.html|*.xhtml|*.htm) pandoc -s -t markdown -- "$1" || lynx -dump -- "$1" ;;
|
||||||
|
*.mkd|*.md|*.markdown) glow -s dark "$1" || mdcat "$1" ;;
|
||||||
|
*.ipynb) notedown --from notebook "$1" --to markdown | pandoc -f markdown -t plain ;;
|
||||||
|
*.torrent) dumptorrent -v "$1" || transmission-show -- "$1" ;;
|
||||||
|
*.zip|*.war|*.ear|*.oxt|*.tar|*.tgz|*.tar.gz|*.tbz2|*.tar.bz2|*.tar.txz|*.txz|*.rar|*.7z|*.ace|*.rpm|*.deb|*.xbps|*.Z|*.lzo|*.lzma|*.lha|*.cpio|*.jar|*.lz|*.lzh)
|
||||||
|
atool -l -q "$1" | tail -n +3 | awk -F' ' '{print $NF}' ;;
|
||||||
|
*.iso) isoinfo -l -i "$1" ;;
|
||||||
|
*.doc) catdoc -- "$1" ;;
|
||||||
|
*.docx) pandoc -s -t markdown -- "$1" ;;
|
||||||
|
*.odt|*.ott|*.s[xt]w|*.sxc) pandoc -s -t markdown -- "$1" || odt2txt "$1" ;;
|
||||||
|
*.xls) xls2csv -- "$1" ;;
|
||||||
|
*.xlsx) xlsx2csv -- "$1" ;;
|
||||||
|
*.ods|*.odp|*.sxw) pandoc -s -t markdown -- "$1" ;;
|
||||||
|
*.json) jq --color-output . "$1" || python -m json.tool -- "$1" ;;
|
||||||
|
# Then fallback to mimetypes
|
||||||
|
*)
|
||||||
|
mimetype=$(file --dereference --brief --mime-type -- "$1")
|
||||||
|
case "$mimetype" in
|
||||||
|
application/zip | application/x-tar | application/x-rar | application/x-7z-compressed | application/x-xz | application/x-bzip2 | application/x-gzip)
|
||||||
|
atool -l -q "$1" | tail -n +3 | awk -F' ' '{print $NF}' ;;
|
||||||
|
image/vnd.djvu)
|
||||||
|
djvutxt "$1" || exiftool "$1" ;;
|
||||||
|
image/*)
|
||||||
|
mediainfo "$1" || exiftool "$1" || identify "$1" ;;
|
||||||
|
video/*)
|
||||||
|
mediainfo "$1" || exiftool "$1" || fprobe -pretty "$1" 2>&1 ;;
|
||||||
|
text/* | */xml)
|
||||||
|
bat --style=plain --color=always "$1" ;;
|
||||||
|
*)
|
||||||
|
echo '----- File Type Classification -----' && file --dereference --brief -- "$1" ;;
|
||||||
|
esac ;;
|
||||||
|
esac
|
247
home/.config/luakit/theme.lua
Normal file
@ -0,0 +1,247 @@
|
|||||||
|
--
|
||||||
|
-- Base16 Nord
|
||||||
|
-- Author: arcticicestudio
|
||||||
|
--
|
||||||
|
|
||||||
|
function hex2rgb(hex)
|
||||||
|
local hex = hex:gsub("#","")
|
||||||
|
return string.format("%s, %s, %s",tonumber("0x"..hex:sub(1,2)), tonumber("0x"..hex:sub(3,4)), tonumber("0x"..hex:sub(5,6)))
|
||||||
|
end
|
||||||
|
|
||||||
|
local base00 = "#2E3440" -- ----
|
||||||
|
local base01 = "#3B4252" -- ---
|
||||||
|
local base02 = "#434C5E" -- --
|
||||||
|
local base03 = "#4C566A" -- -
|
||||||
|
local base04 = "#D8DEE9" -- +
|
||||||
|
local base05 = "#E5E9F0" -- ++
|
||||||
|
local base06 = "#ECEFF4" -- +++
|
||||||
|
local base07 = "#8FBCBB" -- ++++
|
||||||
|
local base08 = "#BF616A" -- red
|
||||||
|
local base09 = "#D08770" -- orange
|
||||||
|
local base0A = "#EBCB8B" -- yellow
|
||||||
|
local base0B = "#A3BE8C" -- green
|
||||||
|
local base0C = "#88C0D0" -- aqua/cyan
|
||||||
|
local base0D = "#81A1C1" -- blue
|
||||||
|
local base0E = "#B48EAD" -- purple
|
||||||
|
local base0F = "#5E81AC" -- brown
|
||||||
|
|
||||||
|
local theme = {}
|
||||||
|
|
||||||
|
-- Default settings
|
||||||
|
theme.fg = base00
|
||||||
|
theme.bg = base07
|
||||||
|
|
||||||
|
-- Genaral colours
|
||||||
|
theme.success_fg = base0C
|
||||||
|
theme.loaded_fg = base0D
|
||||||
|
theme.error_fg = base00
|
||||||
|
theme.error_bg = base08
|
||||||
|
|
||||||
|
-- Warning colours
|
||||||
|
theme.warning_fg = base00
|
||||||
|
theme.warning_bg = base0E
|
||||||
|
|
||||||
|
-- Notification colours
|
||||||
|
theme.notif_fg = base00
|
||||||
|
theme.notif_bg = base05
|
||||||
|
|
||||||
|
-- Menu colours
|
||||||
|
theme.menu_fg = base05
|
||||||
|
theme.menu_bg = base00
|
||||||
|
theme.menu_selected_fg = base01
|
||||||
|
theme.menu_selected_bg = base0A
|
||||||
|
|
||||||
|
theme.menu_title_bg = base00
|
||||||
|
theme.menu_primary_title_fg = base05
|
||||||
|
theme.menu_secondary_title_fg = base04
|
||||||
|
|
||||||
|
theme.menu_disabled_fg = base03
|
||||||
|
theme.menu_disabled_bg = theme.menu_bg
|
||||||
|
theme.menu_enabled_fg = theme.menu_fg
|
||||||
|
theme.menu_enabled_bg = theme.menu_bg
|
||||||
|
theme.menu_active_fg = base06
|
||||||
|
theme.menu_active_bg = theme.menu_bg
|
||||||
|
|
||||||
|
-- Proxy manager
|
||||||
|
theme.proxy_active_menu_fg = base05
|
||||||
|
theme.proxy_active_menu_bg = base00
|
||||||
|
theme.proxy_inactive_menu_fg = base03
|
||||||
|
theme.proxy_inactive_menu_bg = base00
|
||||||
|
|
||||||
|
-- Statusbar specific
|
||||||
|
theme.sbar_fg = base05
|
||||||
|
theme.sbar_bg = base00
|
||||||
|
|
||||||
|
-- Downloadbar specific
|
||||||
|
theme.dbar_fg = base00
|
||||||
|
theme.dbar_bg = base0D
|
||||||
|
theme.dbar_error_fg = base08
|
||||||
|
|
||||||
|
-- Input bar specific
|
||||||
|
theme.ibar_fg = base05
|
||||||
|
theme.ibar_bg = base00
|
||||||
|
|
||||||
|
-- Tab label
|
||||||
|
theme.tab_fg = base05
|
||||||
|
theme.tab_bg = base00
|
||||||
|
theme.tab_hover_bg = base03
|
||||||
|
theme.tab_ntheme = base03
|
||||||
|
theme.selected_fg = base05
|
||||||
|
theme.selected_bg = base03
|
||||||
|
theme.selected_ntheme = base00
|
||||||
|
theme.loading_fg = base0D
|
||||||
|
theme.loading_bg = base00
|
||||||
|
|
||||||
|
theme.selected_private_tab_bg = base05
|
||||||
|
theme.private_tab_bg = base03
|
||||||
|
|
||||||
|
-- Trusted/untrusted ssl colours
|
||||||
|
theme.trust_fg = base0B
|
||||||
|
theme.notrust_fg = base0D
|
||||||
|
|
||||||
|
-- Follow mode hints
|
||||||
|
theme.hint_fg = base00
|
||||||
|
theme.hint_bg = base0A
|
||||||
|
theme.hint_border = string.format("1px dashed %s", base0A)
|
||||||
|
|
||||||
|
theme.hint_overlay_bg = string.format("rgba(%s, 0.3)", hex2rgb(base07))
|
||||||
|
theme.hint_overlay_border = string.format("1px dotted %s", base07)
|
||||||
|
|
||||||
|
theme.hint_overlay_selected_bg = string.format("rgba(%s, 0.3)", hex2rgb(base0B))
|
||||||
|
theme.hint_overlay_selected_border = theme.hint_overlay_border
|
||||||
|
|
||||||
|
-- General colour pairings
|
||||||
|
theme.ok = { fg = base05, bg = base00 }
|
||||||
|
theme.warn = { fg = base00, bg = base0E }
|
||||||
|
theme.error = { fg = base08, bg = base00 }
|
||||||
|
|
||||||
|
-- Font
|
||||||
|
theme.font = "13pt Sarasa Fixed J"
|
||||||
|
theme.hint_font = "12pt Sarasa Fixed J"
|
||||||
|
|
||||||
|
return theme
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Base16 OneDark
|
||||||
|
-- Author: Lalit Magant (http://github.com/tilal6991)
|
||||||
|
--
|
||||||
|
|
||||||
|
-- function hex2rgb(hex)
|
||||||
|
-- local hex = hex:gsub("#","")
|
||||||
|
-- return string.format("%s, %s, %s",tonumber("0x"..hex:sub(1,2)), tonumber("0x"..hex:sub(3,4)), tonumber("0x"..hex:sub(5,6)))
|
||||||
|
-- end
|
||||||
|
|
||||||
|
-- local base00 = "#282c34" -- ----
|
||||||
|
-- local base01 = "#353b45" -- ---
|
||||||
|
-- local base02 = "#3e4451" -- --
|
||||||
|
-- local base03 = "#545862" -- -
|
||||||
|
-- local base04 = "#565c64" -- +
|
||||||
|
-- local base05 = "#abb2bf" -- ++
|
||||||
|
-- local base06 = "#b6bdca" -- +++
|
||||||
|
-- local base07 = "#c8ccd4" -- ++++
|
||||||
|
-- local base08 = "#e06c75" -- red
|
||||||
|
-- local base09 = "#d19a66" -- orange
|
||||||
|
-- local base0A = "#e5c07b" -- yellow
|
||||||
|
-- local base0B = "#98c379" -- green
|
||||||
|
-- local base0C = "#56b6c2" -- aqua/cyan
|
||||||
|
-- local base0D = "#61afef" -- blue
|
||||||
|
-- local base0E = "#c678dd" -- purple
|
||||||
|
-- local base0F = "#be5046" -- brown
|
||||||
|
|
||||||
|
-- local theme = {}
|
||||||
|
|
||||||
|
-- -- Default settings
|
||||||
|
-- theme.fg = base00
|
||||||
|
-- theme.bg = base07
|
||||||
|
|
||||||
|
-- -- Genaral colours
|
||||||
|
-- theme.success_fg = base0C
|
||||||
|
-- theme.loaded_fg = base0D
|
||||||
|
-- theme.error_fg = base00
|
||||||
|
-- theme.error_bg = base08
|
||||||
|
|
||||||
|
-- -- Warning colours
|
||||||
|
-- theme.warning_fg = base00
|
||||||
|
-- theme.warning_bg = base0E
|
||||||
|
|
||||||
|
-- -- Notification colours
|
||||||
|
-- theme.notif_fg = base00
|
||||||
|
-- theme.notif_bg = base05
|
||||||
|
|
||||||
|
-- -- Menu colours
|
||||||
|
-- theme.menu_fg = base05
|
||||||
|
-- theme.menu_bg = base00
|
||||||
|
-- theme.menu_selected_fg = base01
|
||||||
|
-- theme.menu_selected_bg = base0A
|
||||||
|
|
||||||
|
-- theme.menu_title_bg = base00
|
||||||
|
-- theme.menu_primary_title_fg = base05
|
||||||
|
-- theme.menu_secondary_title_fg = base04
|
||||||
|
|
||||||
|
-- theme.menu_disabled_fg = base03
|
||||||
|
-- theme.menu_disabled_bg = theme.menu_bg
|
||||||
|
-- theme.menu_enabled_fg = theme.menu_fg
|
||||||
|
-- theme.menu_enabled_bg = theme.menu_bg
|
||||||
|
-- theme.menu_active_fg = base06
|
||||||
|
-- theme.menu_active_bg = theme.menu_bg
|
||||||
|
|
||||||
|
-- -- Proxy manager
|
||||||
|
-- theme.proxy_active_menu_fg = base05
|
||||||
|
-- theme.proxy_active_menu_bg = base00
|
||||||
|
-- theme.proxy_inactive_menu_fg = base03
|
||||||
|
-- theme.proxy_inactive_menu_bg = base00
|
||||||
|
|
||||||
|
-- -- Statusbar specific
|
||||||
|
-- theme.sbar_fg = base05
|
||||||
|
-- theme.sbar_bg = base00
|
||||||
|
|
||||||
|
-- -- Downloadbar specific
|
||||||
|
-- theme.dbar_fg = base00
|
||||||
|
-- theme.dbar_bg = base0D
|
||||||
|
-- theme.dbar_error_fg = base08
|
||||||
|
|
||||||
|
-- -- Input bar specific
|
||||||
|
-- theme.ibar_fg = base05
|
||||||
|
-- theme.ibar_bg = base00
|
||||||
|
|
||||||
|
-- -- Tab label
|
||||||
|
-- theme.tab_fg = base05
|
||||||
|
-- theme.tab_bg = base00
|
||||||
|
-- theme.tab_hover_bg = base03
|
||||||
|
-- theme.tab_ntheme = base03
|
||||||
|
-- theme.selected_fg = base05
|
||||||
|
-- theme.selected_bg = base03
|
||||||
|
-- theme.selected_ntheme = base00
|
||||||
|
-- theme.loading_fg = base0D
|
||||||
|
-- theme.loading_bg = base00
|
||||||
|
|
||||||
|
-- theme.selected_private_tab_bg = base05
|
||||||
|
-- theme.private_tab_bg = base03
|
||||||
|
|
||||||
|
-- -- Trusted/untrusted ssl colours
|
||||||
|
-- theme.trust_fg = base0B
|
||||||
|
-- theme.notrust_fg = base0D
|
||||||
|
|
||||||
|
-- -- Follow mode hints
|
||||||
|
-- theme.hint_fg = base00
|
||||||
|
-- theme.hint_bg = base0A
|
||||||
|
-- theme.hint_border = string.format("1px dashed %s", base0A)
|
||||||
|
|
||||||
|
-- theme.hint_overlay_bg = string.format("rgba(%s, 0.3)", hex2rgb(base07))
|
||||||
|
-- theme.hint_overlay_border = string.format("1px dotted %s", base07)
|
||||||
|
|
||||||
|
-- theme.hint_overlay_selected_bg = string.format("rgba(%s, 0.3)", hex2rgb(base0B))
|
||||||
|
-- theme.hint_overlay_selected_border = theme.hint_overlay_border
|
||||||
|
|
||||||
|
-- -- General colour pairings
|
||||||
|
-- theme.ok = { fg = base05, bg = base00 }
|
||||||
|
-- theme.warn = { fg = base00, bg = base0E }
|
||||||
|
-- theme.error = { fg = base08, bg = base00 }
|
||||||
|
|
||||||
|
-- -- Font
|
||||||
|
-- theme.font = "13pt Sarasa Fixed J"
|
||||||
|
-- theme.hint_font = "12pt Sarasa Fixed J"
|
||||||
|
|
||||||
|
-- return theme
|
||||||
|
|
||||||
|
-- vim: et:sw=4:ts=8:sts=4:tw=80:ft=lua
|
65
home/.config/luakit/userconf.lua
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
-- Settings
|
||||||
|
local settings = require "settings"
|
||||||
|
|
||||||
|
settings.window.home_page = "file:///home/follie/Code/Startpage/index.html"
|
||||||
|
settings.completion.history.order = "title"
|
||||||
|
settings.webview.default_charset = "utf-8"
|
||||||
|
settings.webview.enable_caret_browsing = true
|
||||||
|
settings.webview.enable_developer_extras = true
|
||||||
|
settings.webview.user_agent = "Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0"
|
||||||
|
|
||||||
|
local engines = settings.window.search_engines
|
||||||
|
engines.duckduckgo = "https://www.duckduckgo.com/?q=%s"
|
||||||
|
engines.searx0 = "https://search.disroot.org/?category_general=on&q=%s"
|
||||||
|
engines.searx1 = "https://searx.info/?category_general=on&q=%s"
|
||||||
|
engines.searx2 = "https://searx.fmac.xyz/?category_general=on&q=%s"
|
||||||
|
engines.searx3 = "https://searx.be/?category_general=on&q=%s"
|
||||||
|
engines.searx4 = "https://searx.monicz.pl/?category_general=on&q=%s"
|
||||||
|
engines.startpage = "https://startpage.com/do/search?query=%s"
|
||||||
|
engines.qwant = "https://www.qwant.com/?q=%s"
|
||||||
|
engines.stackoverflow = "http://stackoverflow.com/search?q=%s"
|
||||||
|
engines.github = "https://github.com/search?utf8=✓&q=%s"
|
||||||
|
engines.gitlab = "https://gitlab.com/explore?utf8=✓&sort=latest_activity_desc&name=%s"
|
||||||
|
engines.mdn = "https://developer.mozilla.org/en-US/search?q=%s"
|
||||||
|
engines.devhints = "https://devhints.io/%s"
|
||||||
|
engines.gentoowiki = "https://wiki.gentoo.org/index.php?title=Special%3ASearch&profile=default&fulltext=Search&search=%s"
|
||||||
|
engines.archwiki = "https://wiki.archlinux.org/index.php?search=%s"
|
||||||
|
engines.wiki = "https://en.wikipedia.org/wiki/%s"
|
||||||
|
engines.osm = "https://www.openstreetmap.org/search?query=%s"
|
||||||
|
engines.gi = "https://www.google.com/search?tbm=isch&q=%s"
|
||||||
|
engines.urban = "https://www.urbandictionary.com/define.php?term=%s"
|
||||||
|
engines.thesaurus = "https://www.thesaurus.com/browse/%s"
|
||||||
|
engines.vocab = "https://www.vocabulary.com/dictionary/%s"
|
||||||
|
engines.twitter = "https://twitter.com/search?q=%s"
|
||||||
|
engines.odysee = "https://odysee.com/$/search?q=%s"
|
||||||
|
engines.yt = "https://www.youtube.com/results?search_query=%s"
|
||||||
|
engines.archive = "https://archive.org/search.php?query=%s"
|
||||||
|
engines.alto = "https://archive.org/search.php?query=%s"
|
||||||
|
engines.default = engines.searx0
|
||||||
|
|
||||||
|
local downloads = require "downloads"
|
||||||
|
downloads.default_dir = os.getenv("HOME") .. "/Downloads"
|
||||||
|
|
||||||
|
local noscript = require "noscript"
|
||||||
|
noscript.enable_scripts = false
|
||||||
|
|
||||||
|
require_web_module("referer_control_wm")
|
||||||
|
|
||||||
|
-- Bindings
|
||||||
|
local modes = require "modes"
|
||||||
|
|
||||||
|
modes.add_binds("normal", {{
|
||||||
|
"<control-c>",
|
||||||
|
"Copy selected text.",
|
||||||
|
function ()
|
||||||
|
luakit.selection.clipboard = luakit.selection.primary
|
||||||
|
end
|
||||||
|
}})
|
||||||
|
|
||||||
|
modes.add_binds("normal", {{
|
||||||
|
"<control-shift-c>",
|
||||||
|
"Stop loading the current tab.",
|
||||||
|
function (w)
|
||||||
|
w.view:stop()
|
||||||
|
end
|
||||||
|
}})
|
BIN
home/.config/mako/clipboard.png
Normal file
After Width: | Height: | Size: 14 KiB |
44
home/.config/mako/config
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
font=Sarasa Fixed J 11
|
||||||
|
border-size=4
|
||||||
|
border-radius=10
|
||||||
|
margin=10,10,10
|
||||||
|
max-visible=10
|
||||||
|
default-timeout=5000
|
||||||
|
ignore-timeout=1
|
||||||
|
layer=overlay
|
||||||
|
|
||||||
|
# --- Nord --- #
|
||||||
|
background-color=#2e3440
|
||||||
|
text-color=#81a1c1
|
||||||
|
border-color=#81a1c1
|
||||||
|
progress-color=source #d08770
|
||||||
|
|
||||||
|
[urgency=low]
|
||||||
|
text-color=#81a1c1
|
||||||
|
|
||||||
|
[urgency=normal]
|
||||||
|
text-color=#ebcb8b
|
||||||
|
|
||||||
|
[urgency=high]
|
||||||
|
background-color=#bf616a
|
||||||
|
text-color=#2e3440
|
||||||
|
border-color=#ebcb8b
|
||||||
|
default-timeout=0
|
||||||
|
|
||||||
|
# -- OneDark -- #
|
||||||
|
# background-color=#282c34
|
||||||
|
# text-color=#61afef
|
||||||
|
# border-color=#61afef
|
||||||
|
# progress-color=source #d19a66
|
||||||
|
|
||||||
|
# [urgency=low]
|
||||||
|
# text-color=#61afef
|
||||||
|
|
||||||
|
# [urgency=normal]
|
||||||
|
# text-color=#e5c07b
|
||||||
|
|
||||||
|
# [urgency=high]
|
||||||
|
# background-color=#e06c75
|
||||||
|
# text-color=#282c34
|
||||||
|
# border-color=#e5c07b
|
||||||
|
# default-timeout=0
|
BIN
home/.config/mako/headphones.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
home/.config/mako/idea.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
home/.config/mako/microphone.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
home/.config/mako/mute.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
home/.config/mako/notrackpad.png
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
home/.config/mako/penguin.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
home/.config/mako/penguin_red.png
Executable file
After Width: | Height: | Size: 32 KiB |
BIN
home/.config/mako/photograph.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
home/.config/mako/speaker.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
home/.config/mako/trackpad.png
Normal file
After Width: | Height: | Size: 17 KiB |
10
home/.config/mimeapps.list
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[Default Applications]
|
||||||
|
text/html=firefox.desktop
|
||||||
|
x-scheme-handler/http=firefox.desktop
|
||||||
|
x-scheme-handler/https=firefox.desktop
|
||||||
|
x-scheme-handler/about=firefox.desktop
|
||||||
|
x-scheme-handler/unknown=firefox.desktop
|
||||||
|
video/*=mpv.desktop
|
||||||
|
|
||||||
|
[Added Associations]
|
||||||
|
video/*=mpv.desktop;
|
12
home/.config/mpDris2/mpDris2.conf
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[Connection]
|
||||||
|
host = 127.0.0.1
|
||||||
|
port = 6600
|
||||||
|
|
||||||
|
[Library]
|
||||||
|
music_dir = ~/Music
|
||||||
|
cover_regex = ^(Album|album|Cover|cover|Folder|\.?folder|Front|front|Artwork|artwork).*\.(gif|jpeg|jpg|png|bmp)$
|
||||||
|
|
||||||
|
[Bling]
|
||||||
|
mmkeys = False
|
||||||
|
notify = True
|
||||||
|
notify_urgency = 0
|
25
home/.config/mpd/mpd.conf
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
pid_file "~/.local/share/mpd/mpd.pid"
|
||||||
|
db_file "~/.local/share/mpd/mpd.db"
|
||||||
|
state_file "~/.local/share/mpd/mpdstate"
|
||||||
|
playlist_directory "~/.local/share/mpd/playlists"
|
||||||
|
log_file "~/.local/share/mpd/mpd.log"
|
||||||
|
music_directory "~/Music"
|
||||||
|
|
||||||
|
audio_output {
|
||||||
|
type "fifo"
|
||||||
|
name "Visualizer feed"
|
||||||
|
path "/tmp/mpd.fifo"
|
||||||
|
format "44100:16:2"
|
||||||
|
}
|
||||||
|
|
||||||
|
audio_output {
|
||||||
|
type "pulse"
|
||||||
|
name "PulseAudio"
|
||||||
|
}
|
||||||
|
|
||||||
|
auto_update "yes"
|
||||||
|
bind_to_address "127.0.0.1"
|
||||||
|
port "6600"
|
||||||
|
follow_outside_symlinks "yes"
|
||||||
|
follow_inside_symlinks "yes"
|
||||||
|
filesystem_charset "UTF-8"
|
25
home/.config/ncmpcpp/album_art.sh
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
MUSIC_DIR=$HOME/Music/
|
||||||
|
COVER=/tmp/cover.jpg
|
||||||
|
|
||||||
|
{
|
||||||
|
file="$(mpc --format %file% current -p 6600)"
|
||||||
|
album_dir="${file%/*}"
|
||||||
|
[[ -z "$album_dir" ]] && exit 1
|
||||||
|
album_dir="$MUSIC_DIR/$album_dir"
|
||||||
|
covers="$(find "$album_dir" -type d -exec find {} -maxdepth 1 -type f -iregex ".*/.*\(Album\|album\|Cover\|cover\|Folder\|folder\|Artwork\|artwork\|Front\|front\).*[.]\(jpe?g\|png\|gif\|bmp\)" \; )"
|
||||||
|
src="$(echo -n "$covers" 2>/dev/null | head -n1)"
|
||||||
|
rm -f "$COVER"
|
||||||
|
|
||||||
|
# For Notifications
|
||||||
|
if [[ -n "$src" ]] ; then
|
||||||
|
# Resize the image's width to 64px
|
||||||
|
convert "$src" -resize 64x "$COVER"
|
||||||
|
if [[ -f "$COVER" ]] ; then
|
||||||
|
notify-send -u low -i ${COVER} " Now Playing" "$(mpc --format '%title% \n%artist% - %album%' current)"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
notify-send -u low -i $HOME/.config/dunst/headphones.png " Now Playing" "$(mpc --format '%title% \n%artist% - %album%' current)"
|
||||||
|
fi
|
||||||
|
} &
|