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
|
||||
} &
|