Browse Source

Merge remote-tracking branch 'refs/remotes/origin/master'

master
Kevin Mok 1 year ago
committed by Kevin Mok
parent
commit
7b8685477b
  1. 640
      aliases/key_aliases.tmpl
  2. 196
      aliases/key_dirs.tmpl
  3. 68
      aliases/key_files.tmpl
  4. 10
      dot_Xmodmap
  5. 7
      dot_Xmodmap-old
  6. 9
      dot_Xresources.tmpl
  7. 137
      dot_config/fish/completions/kogito.fish
  8. 1728
      dot_config/fish/completions/kubectl.fish
  9. 178
      dot_config/fish/completions/minikube.fish
  10. 133
      dot_config/fish/config.fish.tmpl
  11. 3
      dot_config/fish/functions/cad-to-us.fish
  12. 7
      dot_config/fish/functions/clip.fish
  13. 15
      dot_config/fish/functions/discord-burner.fish
  14. 3
      dot_config/fish/functions/dump-rarity-check.fish
  15. 0
      dot_config/fish/functions/fish_mode_prompt.fish
  16. 4
      dot_config/fish/functions/fzf-cd.fish
  17. 6
      dot_config/fish/functions/fzf-ranger.fish
  18. 5
      dot_config/fish/functions/fzf-vim.fish
  19. 3
      dot_config/fish/functions/git-log-short.fish
  20. 3
      dot_config/fish/functions/git-submodule-branch.fish
  21. 2
      dot_config/fish/functions/git/git-clone-gitea.fish
  22. 3
      dot_config/fish/functions/git/git-push-diff-name.fish
  23. 4
      dot_config/fish/functions/git/git-push-new-gitea.fish
  24. 6
      dot_config/fish/functions/git/git-replace-origin-gitea.fish
  25. 3
      dot_config/fish/functions/libreoffice-silent.fish
  26. 4
      dot_config/fish/functions/maven-test-method.fish
  27. 3
      dot_config/fish/functions/mkdir-cd.fish
  28. 3
      dot_config/fish/functions/mute-video.fish
  29. 3
      dot_config/fish/functions/pastebin.fish
  30. 3
      dot_config/fish/functions/qalc-history.fish
  31. 3
      dot_config/fish/functions/qalc-update.fish
  32. 3
      dot_config/fish/functions/readlink-cp.fish
  33. 13
      dot_config/fish/functions/refresh-config-task.fish
  34. 3
      dot_config/fish/functions/reminder.fish
  35. 1
      dot_config/fish/functions/scan-history.fish
  36. 7
      dot_config/fish/functions/scp-vid.fish
  37. 8
      dot_config/fish/functions/server-pages.fish
  38. 3
      dot_config/fish/functions/sxiv-silent.fish
  39. 2
      dot_config/fish/functions/task/task-anno.fish
  40. 1
      dot_config/fish/functions/task/task-delete.fish
  41. 1
      dot_config/fish/functions/task/task-done.fish
  42. 4
      dot_config/fish/functions/task/task-due-rm.fish
  43. 4
      dot_config/fish/functions/task/task-due.fish
  44. 2
      dot_config/fish/functions/task/task-mod-pri.fish
  45. 4
      dot_config/fish/functions/task/task-next-rm.fish
  46. 4
      dot_config/fish/functions/task/task-wait.fish
  47. 4
      dot_config/fish/functions/us-to-cad.fish
  48. 10
      dot_config/fish/functions/vpn-red-hat.fish
  49. 11
      dot_config/fish/functions/watson-add-fortnite.fish
  50. 11
      dot_config/fish/functions/watson-add-game.fish
  51. 161
      dot_config/i3/config.tmpl
  52. 62
      dot_config/i3blocks/i3blocks-secondary.conf.tmpl
  53. 81
      dot_config/i3blocks/i3blocks.conf.tmpl
  54. 5
      dot_config/i3blocks/scripts/executable_ticker
  55. 4
      dot_config/i3blocks/scripts/executable_volume
  56. 3
      dot_config/i3blocks/scripts/executable_wifi
  57. 14
      dot_config/kitty/kitty.conf
  58. 33
      dot_config/mimeapps-ffox.list
  59. 34
      dot_config/mimeapps.list
  60. 21
      dot_config/mpv/input.conf
  61. 2
      dot_config/mpv/mpv.conf
  62. 423
      dot_config/picom/picom.conf
  63. 1
      dot_config/ranger/plugins/__init__.py
  64. 11
      dot_config/ranger/rc.conf.tmpl
  65. 9
      dot_config/spotify/Users/polarbier-user/prefs.tmpl
  66. 11
      dot_gitconfig.tmpl
  67. 6
      dot_imwheelrc
  68. 3
      dot_minikube/config/config.json
  69. 33
      dot_taskrc
  70. 8
      dot_tmux.conf
  71. 151
      dot_vimrc.tmpl
  72. 9
      dot_xinitrc.tmpl
  73. 2
      private_dot_calcurse/conf
  74. 9
      scripts/executable_backup
  75. 3
      scripts/executable_dmenu-twitch
  76. 3
      scripts/executable_spotify-clean
  77. 101
      scripts/executable_ticker
  78. 10
      scripts/executable_twem
  79. 8
      scripts/executable_twitchy-game
  80. 1
      txt/exclude-dirs-backup-full.txt
  81. 3
      txt/exclude-dirs-backup.txt.tmpl
  82. 54
      txt/nzxt-all.txt
  83. 31
      txt/nzxt-aur.txt
  84. 33
      txt/nzxt-pkgs.txt

640
aliases/key_aliases.tmpl
File diff suppressed because it is too large
View File

196
aliases/key_dirs.tmpl

@ -6,23 +6,32 @@ bg ~/Pictures/Backgrounds
cf ~/linux-config/dot_config
cfd ~/.config
cff ~/.config/fish
ch ~/Documents/chat
da /mnt/ipad
dl ~/Downloads
# dw ~/dwm
D ~/Documents
k ~/
lc ~/linux-config
lf /mnt/linux-files
lf2 /mnt/linux-files-2
lfp /mnt/linux-files/Pictures
lfv /mnt/linux-files/Videos
lfv2 /mnt/linux-files-2/Videos
lfy /mnt/linux-files/Videos/yt
me /run/media/kevin
o /
p ~/.password-store
pd ~/.password-store
pfp ~/Pictures/profile-pics
P ~/Pictures
ssu ~/Pictures/screenshots/desktop/unsorted
std ~/st
# tm /tmp
tm ~/tmp
{{ if and (eq .chezmoi.username "root") (eq .linux_os "debian") }}
ng /etc/nginx/sites-available
sv /etc/systemd/system
# sv /etc/systemd/system
{{ end }}
# ]]] sys #
@ -30,16 +39,26 @@ sv /etc/systemd/system
# cdn [[[ #
ad ~/.task
bm ~/Documents/bookmarks
ccd ~/.calcurse
cms ~/Documents/codm/site
cn ~/coding
drk ~/coding/dark-sky
ffx ~/linux-config/dot_config/fish/functions
hbd ~/.habitctl
ib ~/linux-config/dot_config/i3blocks/scripts
ms ~/coding/my-site
pr ~/coding/pull-requests
ra ~/linux-config/dot_config/ranger
rd ~/Documents/red-discord-bot
rda ~/Documents/red-discord-bot/repos/gobcog-kevin/adventure
rdt ~/coding/discord-bots
rdp ~/coding/discord-bots/pinky/cogs/CogManager/cogs/adventure
sr ~/linux-config/scripts
snp ~/.vim/plugged/vim-snippets/UltiSnips
sw ~/.local/share/nvim/swap/
ttd ~/.timetrace
ttdr ~/.timetrace/records
tx ~/linux-config/txt
wd ~/.config/watson
@ -48,25 +67,38 @@ b1 ~/coding/mf-site/themes/base16
2d ~/coding/godot-demos/2d-plat
ada ~/coding/ada-mario
ft ~/coding/face-tracker
hv ~/Documents/hevin
hvs ~/Documents/hevin/shopping
j ~/Documents/journal
lh ~/Documents/listening-history
mmd ~/coding/move-mouse-with-head
mh ~/coding/mf-site/layouts
ms ~/coding/mf-site
msl ~/coding/mf-site/content/letter
# mp ~/coding/mf-site/static/pdf
pk ~/Documents/journal/packing-lists
pn ~/coding/red-discord-bot
rs ~/coding/rarity-surf/backend/rarity_check/project
rsf ~/coding/rarity-surf/frontend
rsc ~/coding/rarity-surf/backend/rarity_check/project/management/commands
rsm ~/coding/rarity-surf/backend/rarity_check/project/migrations
sv ~/coding/spotify-lib-vis/src
svg ~/coding/spotify-lib-vis/src/graphs/static/graphs/scripts
swd ~/coding/swex
tb ~/coding/trapbot/src/trapbot
wo ~/Documents/workout-logs
ur ~/coding/uranium-godot
# wo ~/Documents/workout-logs
# gaming [[[ #
te ~/Documents/twitch-emotes
te ~/Pictures/twitch-emotes
mt ~/.minetest
mta ~/.minetest/clientmods/custom_aliases
mtc ~/.minetest/games/mineclone2/mods
mtm ~/.minetest/minetest
# mt ~/.minetest
# mta ~/.minetest/clientmods/custom_aliases
# mtc ~/.minetest/games/mineclone2/mods
# mtm ~/.minetest/minetest
pk ~/Downloads/gba/mgba/pokemon/emerald/1
# pk ~/Downloads/gba/mgba/pokemon/emerald/1
# ]]] gaming #
@ -80,18 +112,154 @@ ads ~/coding/ada-mario/scripts
adP ~/Pictures/ada-mario
{{ end }}
# ]]] cdn #
# gaming [[[ #
lfo /mnt/linux-files/Videos/obs
lfo2 /mnt/linux-files-2/Videos/obs
pxv /mnt/linux-files/Videos/pixel
# codm [[[ #
cm ~/Documents/codm
cs ~/Documents/codm/site
csi ~/Documents/codm/site/static/images
Css ~/Pictures/screenshots/mobile/codm
# ]]] codm #
# fortnite [[[ #
fn ~/Documents/fortnite
fnc /mnt/linux-files/Videos/yt/fortnite/clips/4
fni /mnt/ipad/DCIM/100APPLE
fnm ~/Documents/fortnite/pics/maps
fnn ~/Documents/fortnite/notes
fns ~/Documents/fortnite/stats/api
fnv /mnt/linux-files/Videos/personal-fortnite-games/review
tcd /mnt/linux-files/Videos/yt/fortnite/clips/twitch-clip-downloader
# ]]] fortnite #
pgv /mnt/linux-files/Videos/pokemon-go
tr ~/.local/share/Terraria
dc ~/Documents/chat/discord
twt ~/Documents/twitter
sdv ~/Documents/stardew-valley-aha
wo ~/Documents/workout-logs/3
# ]]] gaming #
# sch [[[ #
sc ~/school
lt ~/school/latex-notes
2 ~/school/324
2a ~/school/324-a2-2
2e ~/school/324/e/8
2l ~/school/324/l/8
8 ~/school/384
# 301 [[[ #
1 ~/school/301
1a ~/school/301/a2
1af ~/school/301/a1/price-calc/src
# 1ab ~/school/301/a1/backend
1ab ~/school/301/todo-app-medium-demo/flask_app
1as ~/school/301/a2/scripts
1apr ~/coding/pull-requests/301/a1
1d ~/school/301/korotu/deliverables/deliverable-2/minter/src
1d3 ~/school/301/korotu/deliverables/deliverable-3
1dc ~/school/301/korotu/deliverables/deliverable-2/nft-contract
1k ~/school/301/korotu
1kd ~/school/301/korotu/deliverables/deliverable-1
1pr ~/coding/pull-requests/301/d3
# ]]] 301 #
# solidity [[[ #
sl ~/coding/solidity
shd ~/coding/solidity/dotenv
shw ~/coding/solidity/hello-world
shws ~/coding/solidity/hello-world-part-four-tutorial/starter-files/src
snf ~/coding/solidity/nft
snm ~/coding/solidity/nft-minter-tutorial/minter-starter-files/src
# ]]] solidity #
# ]]] sch #
# pey [[[ #
atx ~/Documents/ataraxy-venture
em ~/Documents/emails
li ~/Documents/linkedin
lic ~/Documents/linkedin/msgs
rh ~/Documents/red-hat
rhc ~/Documents/red-hat/chat
rhe ~/Documents/red-hat/emails
rhl ~/Documents/red-hat/learned
sa ~/coding/rhcsa-notes
wcl ~/.weechat/logs
ep ~/Documents/expenses
# kogito [[[ #
kg ~/coding/kogito
kap ~/coding/kogito/kogito-apps
kdo ~/coding/kogito/kie-docs
kdoa ~/coding/kogito/kie-docs/doc-content/kogito-docs/src/main/asciidoc
kex ~/coding/kogito/kogito-examples
keh ~/coding/kogito/kogito-examples/process-scripts-quarkus/target
kep ~/coding/kogito/kogito-examples/process-postgresql-persistence-quarkus
kfl ~/coding/kogito/kogito-apps
kh ~/coding/kogito/kogito-helm-charts
kho ~/coding/kogito/kogito-helm-chart-old
ki ~/coding/kogito/kogito-images
kj ~/coding/kogito/jenkins-test
kjb ~/coding/kogito/jenkins-test-bot
kjf ~/coding/kogito/jenkins-test/full
kl ~/coding/kogito/shared-libraries
# operator [[[ #
ko ~/go/src/github.com/kiegroup/kogito-operator
kor ~/go/src/github.com/kiegroup/rhpam-kogito-operator
# koc ~/go/src/github.com/kiegroup/kogito-operator/cmd/kogito/command
koc ~/coding/kogito/kogito-operator
kod ~/go/src/github.com/kiegroup/kogito-operator/cmd/kogito/command/deploy
koe ~/go/src/github.com/kiegroup/kogito-operator/examples
kore ~/go/src/github.com/kiegroup/rhpam-kogito-operator/example
kof ~/go/src/github.com/kiegroup/kogito-operator/cmd/kogito/command/flag
# kor ~/go/src/github.com/kiegroup/kogito-operator/pkg/controller/kogitoruntime
kou ~/go/src/github.com/kiegroup/kogito-operator/cmd/kogito/command/util
ko2 ~/coding/kogito/kogito-operator-2
# ]]] operator #
kob ~/coding/kogito-operator-onboarding
kot ~/coding/kogito/optaplanner
kp ~/coding/kogito/kogito-pipelines
kp2 ~/coding/kogito/kogito-pipelines-2
kpr ~/coding/pull-requests/red-hat
kprh ~/coding/pull-requests/red-hat/helm
kr ~/coding/kogito/kogito-runtimes
krj ~/coding/kogito/kogito-runtimes/jenkins-spock-tests
ky ~/coding/kogito/kogito-kmok-yamls
gos ~/go/src
# ]]] kogito #
vb ~/coding/VileBot/vilebot
vbs ~/coding/VileBot/vilebot/src/main/java/com/oldterns/vilebot
dv ~/coding/devops-sre-knowledge
nxo ~/coding/kogito/nexus-operator
# ]]] pey #
mb ~/coding/mint-bot
nft ~/Documents/nft

68
aliases/key_files.tmpl

@ -3,14 +3,16 @@
# sys [[[ #
3 ~/linux-config/dot_config/i3/config.tmpl
3b ~/linux-config/dot_config/i3blocks/i3blocks.conf.tmpl
a ~/linux-config/aliases/key_aliases.tmpl
ak ~/linux-config/dot_ssh/authorized_keys-all
d ~/linux-config/aliases/key_dirs.tmpl
dw ~/dwm/config.def.h
f ~/linux-config/aliases/key_files.tmpl
h ~/.local/share/fish/fish_history
fh ~/.local/share/fish/fish_history
hc ~/Documents/hevin/cleaning.md
n ~/linux-config/dot_vimrc.tmpl
p ~/linux-config/txt/pacman-pkgs/pacman-pkgs.txt
pkg ~/linux-config/txt/pacman-pkgs/pacman-pkgs.txt
r ~/linux-config/dot_config/ranger/rc.conf.tmpl
sr ~/linux-config/configs/ranger/shortcuts.conf
ss ~/.shortcuts
@ -31,50 +33,78 @@ ng /etc/nginx/nginx.conf
# cdn [[[ #
ap ~/.task/pending.data
at ~/.task/to-add.md
bid ~/Documents/journal/todo/blog.md
cc ~/linux-config/private_dot_calcurse/conf
ci ~/linux-config/txt/ideas.md
cm ./commit-msg.txt
cmt /tmp/commit-msg.txt
hb ~/.habitctl/log
hbh ~/.habitctl/habits
el ~/Documents/twitch-emotes/links-new.md
h ~/.habitctl/log
hh ~/.habitctl/habits
hlg ~/coding/spotify-lib-vis/src/api/management/commands/update-history.log
id ~/Documents/journal/todo/ideas.md
ig ./.gitignore
jn ~/Documents/journal/todo/9.md
jt ~/Documents/journal/todo/todo.md
jt ~/Documents/journal/todo/22/2.md
k ~/linux-config/dot_config/kitty/kitty.conf
lh ~/Documents/listening-history/polarbier.csv
mc ~/coding/mf-site/assets/sass/main.scss
mi ~/coding/mf-site/ideas.md
ne ~/linux-config/configs/neofetch/config.conf
re README.md
rda ~/Documents/red-discord-bot/repos/gobcog-kevin/adventure/adventure.py
rdc ~/Documents/red-discord-bot/commands-freq.md
td todo.md
el ~/Documents/twitch-emotes/links-new.md
tg ~/.config/watson/tags_cache
tt txt/todo.md
tm ~/.vim/plugged/vim-snippets/UltiSnips/texmath.snippets
tp /tmp/
tw ~/linux-config/dot_taskrc
w ~/.config/watson/state.tmp
wh ~/Documents/journal/todo/work-habit.md
wt ~/.config/watson/state.md
wt ~/.config/watson/state.tmp
# ]]] cdn #
# sch [[[ #
# 309 [[[ #
0c ~/school/309-proj/sass/main.scss
0h ~/school/309-proj/public/js/helpers.js
0i ~/school/309-proj/public/index.html
0m ~/school/309-proj/public/js/main.js
0f ~/school/309-proj/public/js/food.js
0s ~/school/309-proj/server.js
0t ~/school/309-proj/public/js/stores.js
# ]]] 309 #
lb ~/coding/linux-basics/linux-basics.md
# ]]] sch #
# gaming [[[ #
bn ~/Documents/discord-burners/burners.md
cmr ~/Documents/codm/discord-recruitment.md
cra ~/Documents/red-discord-bot/repos/gobcog-kevin/adventure/data/default/attribs.json
crm ~/Documents/red-discord-bot/repos/gobcog-kevin/adventure/data/default/monsters.json
fn ~/Documents/fortnite/notes/fortnite-notes.md
fp ~/Documents/fortnite/notes/post.md
fv ~/Documents/fortnite/notes/vods.md
mta ~/.minetest/clientmods/custom_aliases/init.lua
cmr ~/Documents/codm/discord-recruitment.md
nb ~/Documents/chat/discord/pistol.md
pk ~/Downloads/pokecord/pokecord2.md
tc /mnt/linux-files/Videos/yt/fortnite/clips/twitch-clip-downloader/clips.txt
tdb ~/Documents/journal/todo/b.md
# ]]] gaming #
# pey [[[ #
dv ~/coding/devops-sre-knowledge/devops-sre-learned.md
j Jenkinsfile.
jd Jenkinsfile.deploy
klg ~/coding/kogito/shared-libraries/vars/githubscm.groovy
klm ~/coding/kogito/shared-libraries/vars/maven.groovy
kob ~/coding/kogito-operator-onboarding/README.md
kpr ~/coding/kogito/kogito-pipelines/Jenkinsfile.pr-bdd-tests
krt /home/kevin/coding/kogito/kogito-runtimes/jenkins-spock-tests/src/test/vars/JenkinsfilePromote.groovy
rd ~/Documents/red-hat/dates.md
rm ~/Documents/red-hat/meeting.md
rt ~/Documents/red-hat/todo.md
# ]]] pey #
nf ~/Documents/twitter/nft.md
ds ~/Documents/nft/deep-sea-research.md

10
dot_Xmodmap

@ -1,7 +1,9 @@
clear Lock
keycode 22 = Caps_Lock
keycode 66 = BackSpace
keycode 78 = End
keycode 9 = Caps_Lock
keycode 22 = BackSpace
keycode 66 = Escape
pointer = 1 10 3 6 7 4 5 2 11 12 8 9
pointer = 1 2 3 6 7 4 5 10 11 12 8 9
! side thumb button as middle click
! pointer = 1 10 3 6 7 4 5 2 11 12 8 9

7
dot_Xmodmap-old

@ -0,0 +1,7 @@
clear Lock
keycode 22 = Caps_Lock
keycode 66 = BackSpace
keycode 78 = End
pointer = 1 10 3 6 7 4 5 2 11 12 8 9

9
dot_Xresources.tmpl

@ -5,7 +5,10 @@
Xft.dpi: 235
! Xft.dpi: 240
{{ else }}
! Xft.dpi: 90
! Xft.dpi: 100
Xft.dpi: 135
! Xft.dpi: 170
{{ end }}
Xft.autohint: 0
Xft.lcdfilter: lcddefault
@ -21,6 +24,8 @@ Xft.rgba: rgb
{{ if eq .chezmoi.hostname "x1-carbon" }}
URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=11
! URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=10
URxvt*cursorBlink: 0
URxvt*cursorBlink: False
{{ else }}
! URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=15
! URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=14
@ -49,9 +54,9 @@ URxvt*transparent: true
URxvt*inheritPixmap: true
! URxvt*transparent: false
! URxvt*shading: 0 (blackest) to 99 black, 101 to 200 (whitest) white
URxvt*shading: 50
! URxvt*shading: 50
! URxvt*shading: 40
! URxvt*shading: 35
URxvt*shading: 35
! urxvt*blurRadius: 10
/* ]]] transparency */

137
dot_config/fish/completions/kogito.fish

@ -0,0 +1,137 @@
# fish completion for kogito -*- shell-script -*-
function __kogito_debug
set file "$BASH_COMP_DEBUG_FILE"
if test -n "$file"
echo "$argv" >> $file
end
end
function __kogito_perform_completion
__kogito_debug "Starting __kogito_perform_completion with: $argv"
set args (string split -- " " "$argv")
set lastArg "$args[-1]"
__kogito_debug "args: $args"
__kogito_debug "last arg: $lastArg"
set emptyArg ""
if test -z "$lastArg"
__kogito_debug "Setting emptyArg"
set emptyArg \"\"
end
__kogito_debug "emptyArg: $emptyArg"
set requestComp "$args[1] __complete $args[2..-1] $emptyArg"
__kogito_debug "Calling $requestComp"
set results (eval $requestComp 2> /dev/null)
set comps $results[1..-2]
set directiveLine $results[-1]
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
# completions must be prefixed with the flag
set flagPrefix (string match -r -- '-.*=' "$lastArg")
__kogito_debug "Comps: $comps"
__kogito_debug "DirectiveLine: $directiveLine"
__kogito_debug "flagPrefix: $flagPrefix"
for comp in $comps
printf "%s%s\n" "$flagPrefix" "$comp"
end
printf "%s\n" "$directiveLine"
end
# This function does three things:
# 1- Obtain the completions and store them in the global __kogito_comp_results
# 2- Set the __kogito_comp_do_file_comp flag if file completion should be performed
# and unset it otherwise
# 3- Return true if the completion results are not empty
function __kogito_prepare_completions
# Start fresh
set --erase __kogito_comp_do_file_comp
set --erase __kogito_comp_results
# Check if the command-line is already provided. This is useful for testing.
if not set --query __kogito_comp_commandLine
set __kogito_comp_commandLine (commandline)
end
__kogito_debug "commandLine is: $__kogito_comp_commandLine"
set results (__kogito_perform_completion "$__kogito_comp_commandLine")
set --erase __kogito_comp_commandLine
__kogito_debug "Completion results: $results"
if test -z "$results"
__kogito_debug "No completion, probably due to a failure"
# Might as well do file completion, in case it helps
set --global __kogito_comp_do_file_comp 1
return 0
end
set directive (string sub --start 2 $results[-1])
set --global __kogito_comp_results $results[1..-2]
__kogito_debug "Completions are: $__kogito_comp_results"
__kogito_debug "Directive is: $directive"
if test -z "$directive"
set directive 0
end
set compErr (math (math --scale 0 $directive / 1) % 2)
if test $compErr -eq 1
__kogito_debug "Received error directive: aborting."
# Might as well do file completion, in case it helps
set --global __kogito_comp_do_file_comp 1
return 0
end
set nospace (math (math --scale 0 $directive / 2) % 2)
set nofiles (math (math --scale 0 $directive / 4) % 2)
__kogito_debug "nospace: $nospace, nofiles: $nofiles"
# Important not to quote the variable for count to work
set numComps (count $__kogito_comp_results)
__kogito_debug "numComps: $numComps"
if test $numComps -eq 1; and test $nospace -ne 0
# To support the "nospace" directive we trick the shell
# by outputting an extra, longer completion.
__kogito_debug "Adding second completion to perform nospace directive"
set --append __kogito_comp_results $__kogito_comp_results[1].
end
if test $numComps -eq 0; and test $nofiles -eq 0
__kogito_debug "Requesting file completion"
set --global __kogito_comp_do_file_comp 1
end
# If we don't want file completion, we must return true even if there
# are no completions found. This is because fish will perform the last
# completion command, even if its condition is false, if no other
# completion command was triggered
return (not set --query __kogito_comp_do_file_comp)
end
# Remove any pre-existing completions for the program since we will be handling all of them
# TODO this cleanup is not sufficient. Fish completions are only loaded once the user triggers
# them, so the below deletion will not work as it is run too early. What else can we do?
complete -c kogito -e
# The order in which the below two lines are defined is very important so that __kogito_prepare_completions
# is called first. It is __kogito_prepare_completions that sets up the __kogito_comp_do_file_comp variable.
#
# This completion will be run second as complete commands are added FILO.
# It triggers file completion choices when __kogito_comp_do_file_comp is set.
complete -c kogito -n 'set --query __kogito_comp_do_file_comp'
# This completion will be run first as complete commands are added FILO.
# The call to __kogito_prepare_completions will setup both __kogito_comp_results abd __kogito_comp_do_file_comp.
# It provides the program's completion choices.
complete -c kogito -n '__kogito_prepare_completions' -f -a '$__kogito_comp_results'

1728
dot_config/fish/completions/kubectl.fish
File diff suppressed because it is too large
View File

178
dot_config/fish/completions/minikube.fish

@ -0,0 +1,178 @@
# Copyright 2016 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# fish completion for minikube -*- shell-script -*-
function __minikube_debug
set file "$BASH_COMP_DEBUG_FILE"
if test -n "$file"
echo "$argv" >> $file
end
end
function __minikube_perform_completion
__minikube_debug "Starting __minikube_perform_completion with: $argv"
set args (string split -- " " "$argv")
set lastArg "$args[-1]"
__minikube_debug "args: $args"
__minikube_debug "last arg: $lastArg"
set emptyArg ""
if test -z "$lastArg"
__minikube_debug "Setting emptyArg"
set emptyArg \"\"
end
__minikube_debug "emptyArg: $emptyArg"
if not type -q "$args[1]"
# This can happen when "complete --do-complete minikube" is called when running this script.
__minikube_debug "Cannot find $args[1]. No completions."
return
end
set requestComp "$args[1] __complete $args[2..-1] $emptyArg"
__minikube_debug "Calling $requestComp"
set results (eval $requestComp 2> /dev/null)
set comps $results[1..-2]
set directiveLine $results[-1]
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
# completions must be prefixed with the flag
set flagPrefix (string match -r -- '-.*=' "$lastArg")
__minikube_debug "Comps: $comps"
__minikube_debug "DirectiveLine: $directiveLine"
__minikube_debug "flagPrefix: $flagPrefix"
for comp in $comps
printf "%s%s\n" "$flagPrefix" "$comp"
end
printf "%s\n" "$directiveLine"
end
# This function does three things:
# 1- Obtain the completions and store them in the global __minikube_comp_results
# 2- Set the __minikube_comp_do_file_comp flag if file completion should be performed
# and unset it otherwise
# 3- Return true if the completion results are not empty
function __minikube_prepare_completions
# Start fresh
set --erase __minikube_comp_do_file_comp
set --erase __minikube_comp_results
# Check if the command-line is already provided. This is useful for testing.
if not set --query __minikube_comp_commandLine
# Use the -c flag to allow for completion in the middle of the line
set __minikube_comp_commandLine (commandline -c)
end
__minikube_debug "commandLine is: $__minikube_comp_commandLine"
set results (__minikube_perform_completion "$__minikube_comp_commandLine")
set --erase __minikube_comp_commandLine
__minikube_debug "Completion results: $results"
if test -z "$results"
__minikube_debug "No completion, probably due to a failure"
# Might as well do file completion, in case it helps
set --global __minikube_comp_do_file_comp 1
return 1
end
set directive (string sub --start 2 $results[-1])
set --global __minikube_comp_results $results[1..-2]
__minikube_debug "Completions are: $__minikube_comp_results"
__minikube_debug "Directive is: $directive"
set shellCompDirectiveError 1
set shellCompDirectiveNoSpace 2
set shellCompDirectiveNoFileComp 4
set shellCompDirectiveFilterFileExt 8
set shellCompDirectiveFilterDirs 16
if test -z "$directive"
set directive 0
end
set compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
if test $compErr -eq 1
__minikube_debug "Received error directive: aborting."
# Might as well do file completion, in case it helps
set --global __minikube_comp_do_file_comp 1
return 1
end
set filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
set dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
if test $filefilter -eq 1; or test $dirfilter -eq 1
__minikube_debug "File extension filtering or directory filtering not supported"
# Do full file completion instead
set --global __minikube_comp_do_file_comp 1
return 1
end
set nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
set nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
__minikube_debug "nospace: $nospace, nofiles: $nofiles"
# Important not to quote the variable for count to work
set numComps (count $__minikube_comp_results)
__minikube_debug "numComps: $numComps"
if test $numComps -eq 1; and test $nospace -ne 0
# To support the "nospace" directive we trick the shell
# by outputting an extra, longer completion.
__minikube_debug "Adding second completion to perform nospace directive"
set --append __minikube_comp_results $__minikube_comp_results[1].
end
if test $numComps -eq 0; and test $nofiles -eq 0
__minikube_debug "Requesting file completion"
set --global __minikube_comp_do_file_comp 1
end
# If we don't want file completion, we must return true even if there
# are no completions found. This is because fish will perform the last
# completion command, even if its condition is false, if no other
# completion command was triggered
return (not set --query __minikube_comp_do_file_comp)
end
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
# so we can properly delete any completions provided by another script.
# The space after the the program name is essential to trigger completion for the program
# and not completion of the program name itself.
complete --do-complete "minikube " > /dev/null 2>&1
# Using '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
# Remove any pre-existing completions for the program since we will be handling all of them.
complete -c minikube -e
# The order in which the below two lines are defined is very important so that __minikube_prepare_completions
# is called first. It is __minikube_prepare_completions that sets up the __minikube_comp_do_file_comp variable.
#
# This completion will be run second as complete commands are added FILO.
# It triggers file completion choices when __minikube_comp_do_file_comp is set.
complete -c minikube -n 'set --query __minikube_comp_do_file_comp'
# This completion will be run first as complete commands are added FILO.
# The call to __minikube_prepare_completions will setup both __minikube_comp_results and __minikube_comp_do_file_comp.
# It provides the program's completion choices.
complete -c minikube -n '__minikube_prepare_completions' -f -a '$__minikube_comp_results'

133
dot_config/fish/config.fish.tmpl

@ -17,41 +17,80 @@ set -x GPG_TTY (tty)
set -U fish_greeting
# spv
{{ if eq .chezmoi.hostname "nzxt" }}
set -U spv_dir "/home/kevin/coding/spotify-lib-vis"
set -U mfs_dir "/home/kevin/coding/mf-site"
source /home/kevin/coding/spotify-lib-vis/src/scripts/api-keys-fish.sh
abbr hum "cd $mfs_dir && hugo serve -D --disableFastRender"
{{ end }}
{{ end }}#]]]
set -x PATH $PATH ~/.local/bin ~/scripts ~/scripts/colors ~/go/bin ~/.minetest/minetest/bin ~/.gem/ruby/2.6.0/bin
set -x CLASSPATH $CLASSPATH /home/kevin/java/*.jar
set -x LD_LIBRARY_PATH $LD_LIBRARY_PATH /usr/local/lib /usr/local/lib64
set -x PKG_CONFIG_PATH $PKG_CONFIG_PATH /usr/lib/pkgconfig
# system [[[
set -x HASTE_SERVER https://pste.gq
{{ if eq .chezmoi.hostname "nzxt" }}
set -x CALCURSE_CALDAV_PASSWORD (pass show technology/linux/baikal | head -n1)
{{ end }}
set -x LD_LIBRARY_PATH $LD_LIBRARY_PATH /usr/local/lib /usr/local/lib64
set -x GOPATH ~/go
# set -x PATH $GRAALVM_BIN $PATH ~/.local/bin ~/scripts ~/scripts/colors ~/go/bin ~/.minetest/minetest/bin ~/.gem/ruby/2.6.0/bin
set -x PATH $PATH ~/.local/bin ~/scripts ~/scripts/colors $GOPATH/bin ~/.minetest/minetest/bin ~/.gem/ruby/*/bin ~/.yarn/bin
set -x PKG_CONFIG_PATH $PKG_CONFIG_PATH /usr/lib/pkgconfig
# Java [[[ #
set -x GRAALVM_HOME /usr/lib/jvm/graalvm-ce-java11-21.1.0
set -x GRAALVM_BIN $GRAALVM_HOME/bin
set -x JAVA_HOME $GRAALVM_HOME
{{ if eq .linux_os "termux" }}
# set -x JAVA_HOME /usr/lib/jvm/java-11-openjdk
# set -x JAVA_HOME /usr/lib/jvm/java-8-openjdk # for shared libs
set -x PATH $JAVA_HOME/bin $PATH
# ]]] Java #
# system ]]]
# space prompt[[[
# set SPACEFISH_PROMPT_ORDER time user dir host git package node docker ruby golang php rust haskell julia aws conda pyenv kubecontext exec_time line_sep battery jobs exit_code vi_mode char
set SPACEFISH_DIR_PREFIX ''
set SPACEFISH_ADD_NEWLINE false
set SPACEFISH_PROMPT_ORDER vi_mode dir git pyenv exec_time jobs exit_code line_sep char
set SPACEFISH_DIR_PREFIX ''
set SPACEFISH_DIR_TRUNC 0
set SPACEFISH_DIR_TRUNC_REPO false
set SPACEFISH_VI_MODE_INSERT ''
set SPACEFISH_VI_MODE_NORMAL '[n] '
set SPACEFISH_VI_MODE_SUFFIX ''
{{ end }}
#]]]
# pass[[[
set -x PASSWORD_STORE_CLIP_TIME 120
set -xU XSET_RATE 90
set -xU XSET_DELAY 200
{{ if and (eq .chezmoi.hostname "x1-carbon") (not (eq .chezmoi.username "root")) }}
xset r rate $XSET_DELAY $XSET_RATE
{{ end }}
{{ end }}#]]]
# set -U BROWSER "chromium"
set -xU BROWSER "firefox"
# set -U BROWSER "chromium"
set -xU FZF_DEFAULT_COMMAND "find ."
set -x PHONE_IP "192.168.0.12"
set -x PIXEL_IP "192.168.0.18"
set -x WORK_LAPTOP_IP "kmok@192.168.0.11"
{{ if eq .chezmoi.hostname "nzxt" }}
# set -x CALCURSE_CALDAV_PASSWORD (pass show technology/linux/baikal | head -n1)
set -x JENKINS_TOKEN 114a1b2e8693b57fa6f4bce88e2deee8cc
status --is-interactive; and source (pyenv init -|psub)
{{ end }}
set -xU MINIKUBE_IP "http://192.168.49.2"
set -xU LOCAL_KOGITO_SERVICE_PORT "32000"
# set -xU LOCAL_KOGITO_SERVICE_URL "$MINIKUBE_IP:$LOCAL_KOGITO_SERVICE_PORT"
set -x FLASK_DEBUG 1
set -x DB_NAME "covid_monitor"
# ]]] universal var's #
@ -67,11 +106,11 @@ builtin cd $last_dir && ls > /dev/null
bind \ce edit_command_buffer
bind \cr forward-word
chezmoi apply
# chezmoi apply
{{ if not (eq .linux_os "termux") }}
~/scripts/sync-shortcuts
{{ end }}
source ~/.config/fish/key_abbr.fish > /dev/null
# source ~/.config/fish/key_abbr.fish > /dev/null
set -U fish_fxn_dir "{{ .chezmoi.homeDir }}/linux-config/dot_config/fish/functions"
# set -U fish_fxn_dir "~/.config/fish/functions"
abbr ff "cd $fish_fxn_dir"
@ -97,33 +136,50 @@ abbr xf "fish_config"
abbr ! "sudo !!"
# task [[[ #
abbr aan "task-anno"
abbr aan "task-anno ''"
abbr ae "task-edit"
abbr adl "task-delete"
abbr adn "task-done"
abbr adu "task-due"
abbr adr "task-due-rm"
abbr an "task-next"
abbr anr "task-next-rm"
abbr ant "task-notes"
abbr apr "task-mod-pri"
abbr aprl "task-mod-pri L"
abbr aprm "task-mod-pri M"
abbr aprn "task-mod-pri ''"
abbr aprh "task-mod-pri H"
abbr apj "task-mod-proj"
abbr at "task-mod-tag"
abbr asr "task-start"
abbr at "task-mod-tag"
abbr atj "task-mod-tag jira"
abbr aw "task-wait"
abbr ax "task-context"
# ]]] task #
abbr ag "grep-aliases"
abbr b "buku-fzf"
abbr bf "buku-fzf fq"
abbr bk "buku-fzf"
abbr bkf "buku-fzf fq"
abbr bq "benq-brightness"
abbr bn "discord-burner"
abbr bun "backup nzxt"
abbr bupp "backup-phone-pics"
abbr ca "cad-to-us"
abbr cccs "sync-alt-cal class"
abbr cl "clip"
abbr cpc "copy cat"
abbr cpe "copy echo"
abbr cpp "copy echo (pwd)"
abbr cff "create-fish-function"
abbr ctr "systemctl-restart"
abbr def "define"
abbr drs "dump-rarity-check"
abbr ens "enable-site"
abbr ev "evince-silent"
abbr ff "fzf-cd"
# abbr fbg "find-bg"
# abbr fr "fzf-ranger"
abbr fv "fzf-vim"
abbr fvft "find-vim-filetype"
# git [[[ #
@ -131,49 +187,62 @@ abbr fvft "find-vim-filetype"
abbr gcamp "git-amend-push"
abbr gclg "git-clone-gitea"
abbr gdf "git-diff-files"
abbr gpsd "git-push-diff-name"
abbr gpsi "git-push-initial"
abbr gpsmt "git-push-multiple"
abbr gpng "git-push-new-gitea gitea"
abbr gpngo "git-push-new-gitea origin"
abbr gpng "git-push-new-gitea"
abbr gpngg "git-push-new-gitea gitea"
abbr gremotes "git-mult-remotes"
abbr grmb "git-delete-branch"
abbr gro "git-replace-origin"
abbr grog "git-replace-origin-gitea"
abbr gsmb "git-submodule-branch"
# ]]] git #
abbr i "sxiv-silent"
abbr lo "libreoffice-silent"
abbr ma "man-vim task"
abbr mat "math"
abbr mn "man-vim"
abbr mdf "mkdir-cd"
abbr mtm "maven-test-method"
abbr pgr "grep-pdf"
abbr pgrf "grep-pdf-file"
abbr png "git-push-new-gitea"
abbr pst "pastebin"
abbr qh "qalc-history"
abbr qu "qalc-update"
abbr re "reminder ''"
abbr rf "refresh-config"
abbr rs "redshift-set"
abbr rl "readlink-cp"
abbr rds "redshift-set"
abbr scf "scp-vid fn"
abbr sma "smol-add"
abbr smd "smol-delete"
abbr sml "smol-slist"
abbr smr "smol-replace"
abbr shrm "shred-rm"
abbr svs "scan-history"
abbr tac "tmux-attach config"
abbr taj "tmux-attach journal"
abbr shs "scan-history"
abbr svp "server-pages"
abbr ta "tmux-attach"
abbr taa "tmux-attach atx"
abbr taf "tmux-attach fn"
abbr tan "tmux-attach nft"
abbr tan2 "tmux-attach nft-2"
abbr tao "tmux-attach obs"
abbr thes "thesaurus"
# abbr usc "us-to-cad"
abbr us "us-to-cad"
abbr ut "unix-timestamp"
abbr uzr "unzip-rm"
abbr vsnp "vim-snippet"
abbr wga "wget-all"
abbr wag "watson-add-game"
abbr waf "watson-add-game fortnite"
abbr wap "watson-add-game pokemon-go"
abbr xya "export-pkgs"
# school [[[ #
# 369
abbr grc "grep-c"
abbr grh "grep-headers"
abbr rgh "rg-headers"
abbr jcr "java-compile-run"
abbr jct "java-compile-test"
# ]]] school #
# ]]] fxn abbr's #

3
dot_config/fish/functions/cad-to-us.fish

@ -0,0 +1,3 @@
function cad-to-us
qalc "$argv[1]CAD to \$"
end

7
dot_config/fish/functions/clip.fish

@ -0,0 +1,7 @@
function clip
if test (count $argv) -eq 3
ffmpeg -ss $argv[1] -i $argv[2] -codec copy $argv[3]
else
ffmpeg -ss $argv[1] -to $argv[2] -i $argv[3] -codec copy $argv[4]
end
end

15
dot_config/fish/functions/discord-burner.fish

@ -0,0 +1,15 @@
function discord-burner
# echo nordvpn connect ca1$argv[1] && curl ifconfig.me
# nordvpn connect ca1$argv[1] && \
# nordvpn connect ca10$argv[1]
nordvpn connect
curl ifconfig.me
if test (count $argv) -gt 1
firefox -P discord-$argv[2] $argv[1] &
else
firefox -P discord-$argv[1] &
end
# for i in (seq $argv[1] $argv[2])
# firefox -P discord-$i $argv[3] &
# end
end

3
dot_config/fish/functions/dump-rarity-check.fish

@ -0,0 +1,3 @@
function dump-rarity-check
pg_dump -U rarity_check rarity_check > $argv[1].sql
end

0
dot_config/fish/functions/fish_mode_prompt.fish

4
dot_config/fish/functions/fzf-cd.fish

@ -0,0 +1,4 @@
function fzf-cd
set dir (fd -td | fzf)
cd $dir
end

6
dot_config/fish/functions/fzf-ranger.fish

@ -0,0 +1,6 @@
function fzf-ranger
set dir (fd -td | fzf)
if test ! -z "$dir"
ranger $dir
end
end

5
dot_config/fish/functions/fzf-vim.fish

@ -1,3 +1,6 @@
function fzf-vim
fzf | xargs $EDITOR
set file (fzf)
if test ! -z "$file"
$EDITOR $file
end
end

3
dot_config/fish/functions/git-log-short.fish

@ -0,0 +1,3 @@
function git-log-short
git log --pretty="%C(Yellow)%h %C(reset)%ad (%C(Green)%cr%C(reset))%x09 %C(Cyan)%an: %C(reset)%s"
end

3
dot_config/fish/functions/git-submodule-branch.fish

@ -0,0 +1,3 @@
function git-submodule-branch
git submodule set-branch --branch $argv[2] -- $argv[1]
end

2
dot_config/fish/functions/git/git-clone-gitea.fish

@ -1,3 +1,3 @@
function git-clone-gitea
git clone ssh://git@ataraxy.tk:399/Kevin-Mok/$argv[1].git
git clone ssh://git@kevin-mok.com:399/Kevin-Mok/$argv[1].git
end

3
dot_config/fish/functions/git/git-push-diff-name.fish

@ -0,0 +1,3 @@
function git-push-diff-name
git push -f origin HEAD:$argv[1]
end

4
dot_config/fish/functions/git/git-push-new-gitea.fish

@ -1,4 +1,4 @@
function git-push-new-gitea
git remote add $argv[1] ssh://git@ataraxy.tk:399/Kevin-Mok/$argv[2].git
and git push --set-upstream $argv[1] master
git remote add origin ssh://git@kevin-mok.com:399/Kevin-Mok/$argv[1].git
and git push --set-upstream origin main
end

6
dot_config/fish/functions/git/git-replace-origin-gitea.fish

@ -0,0 +1,6 @@
function git-replace-origin-gitea
git remote remove origin
and git remote add origin ssh://git@kevin-mok.com:399/Kevin-Mok/$argv[1].git
and git branch --set-upstream-to=origin/master master
and git push
end

3
dot_config/fish/functions/libreoffice-silent.fish

@ -0,0 +1,3 @@
function libreoffice-silent
libreoffice $argv[1] &
end

4
dot_config/fish/functions/maven-test-method.fish

@ -0,0 +1,4 @@
function maven-test-method
mvn "-Dtest=$argv[1]#*$argv[2]*" clean test
# mvn "-Dtest=$argv[1]#*$argv[2]*" test
end

3
dot_config/fish/functions/mkdir-cd.fish

@ -0,0 +1,3 @@
function mkdir-cd
mkdir -p $argv[1] && cd $argv[1]
end

3
dot_config/fish/functions/mute-video.fish

@ -0,0 +1,3 @@
function mute-video
ffmpeg -i $argv[1] -c copy -an $argv[2]
end

3
dot_config/fish/functions/pastebin.fish

@ -1,5 +1,6 @@
function pastebin
# cat $argv[1] | curl -F 'sprunge=<-' http://sprunge.us
# set -x HASTE_SERVER https://pste.gq
cat $argv[1] | haste --raw
# cat $argv[1] | haste --raw
cat $argv[1] | haste
end

3
dot_config/fish/functions/qalc-history.fish

@ -0,0 +1,3 @@
function qalc-history
qalc $argv[1] | tee -a /home/kevin/Documents/journal/personal/calc-history.md
end

3
dot_config/fish/functions/qalc-update.fish

@ -0,0 +1,3 @@
function qalc-update
qalc -e "$argv[1]USD to CAD"
end

3
dot_config/fish/functions/readlink-cp.fish

@ -0,0 +1,3 @@
function readlink-cp
readlink -f $argv[1] | xclip -selection clipboard
end

13
dot_config/fish/functions/refresh-config-task.fish

@ -0,0 +1,13 @@
function refresh-config
chezmoi apply
and echo 'Applied chezmoi.'
# and tmux source-file ~/.tmux.conf
# and echo 'Sourced tmux config.'
sync-shortcuts
echo 'Synced shortcuts.'
source ~/.config/fish/key_abbr.fish > /dev/null
and echo 'Sourced shortcuts.'
and echo 'Reloading fish.'
and exec fish
end

3
dot_config/fish/functions/reminder.fish

@ -0,0 +1,3 @@
function reminder
termdown $argv[2] && notify-send $argv[1]
end

1
dot_config/fish/functions/scan-history.fish

@ -2,6 +2,7 @@ function scan-history
sudo systemctl start postgresql.service
# and systemctl status postgresql.service
and source $spv_dir/src/scripts/api-keys.sh
# and $spv_dir/src/scripts/update-history-2.sh
and $spv_dir/src/scripts/update-history.sh
and cat $spv_dir/src/api/management/commands/update-history.log | tail -n 1
end

7
dot_config/fish/functions/scp-vid.fish

@ -0,0 +1,7 @@
function scp-vid
set dest_dir "/mnt/linux-files/Videos/personal-fortnite-games/review"
if test $argv[1] = 'pogo'
set dest_dir "/mnt/linux-files/Videos/pokemon-go"
end
scp -P 8022 192.168.0.18:/data/data/com.termux/files/home/storage/dcim/\'Screen\ recordings\'/$argv[2] $dest_dir
end

8
dot_config/fish/functions/server-pages.fish

@ -1,8 +1,8 @@
function server-pages
set sites git.ataraxy.tk khkm.tk cal.khkm.tk mnpd.gq/k-bg pste.gq smol.gq twem.tk
set titles "Kevin Mok's Gitea" "Kevin Mok" "Baïkal server" "k-bg" "hastebin" "Kevin's URL Shortener" "Index of /"
# set sites mnpd.gq/k-bg
# set titles "k-bg"
set sites kevin-mok.com git.kevin-mok.com cal.khkm.tk mnpd.gq/kbg pste.gq smol.gq twem.tk
set titles "Kevin Mok" "Kevin Mok's Gitea" "Baïkal server" "kbg" "hastebin" "Kevin's URL Shortener" "Twitch Emote Links"
# set sites twem.tk
# set titles "Twitch Emote Links"
for i in (seq (count $sites))
set title (wget -qO- "$sites[$i]" | perl -l -0777 -ne 'print $1 if /<title.*?>\s*(.*?)\s*<\/title/si' | recode html)

3
dot_config/fish/functions/sxiv-silent.fish

@ -0,0 +1,3 @@
function sxiv-silent
sxiv $argv[1] &
end

2
dot_config/fish/functions/task/task-anno.fish

@ -1,4 +1,4 @@
function task-anno
task $argv[1] annotate $argv[2]
task $argv[2] annotate $argv[1]
and task
end

1
dot_config/fish/functions/task/task-delete.fish

@ -1,5 +1,4 @@
function task-delete
task $argv[1] delete
and task sync
and task
end

1
dot_config/fish/functions/task/task-done.fish

@ -1,5 +1,4 @@
function task-done
task $argv[1] done
and task sync
and task
end

4
dot_config/fish/functions/task/task-due-rm.fish

@ -0,0 +1,4 @@
function task-due-rm
task $argv[1] mod due:
and task
end

4
dot_config/fish/functions/task/task-due.fish

@ -0,0 +1,4 @@
function task-due
task $argv[1] mod due:+$argv[2]
and task
end

2
dot_config/fish/functions/task/task-mod-pri.fish

@ -1,4 +1,4 @@
function task-mod-pri
task $argv[1] modify pri:$argv[2]
task $argv[2] modify pri:$argv[1]
and task
end

4
dot_config/fish/functions/task/task-next-rm.fish

@ -0,0 +1,4 @@
function task-next-rm
task $argv[1] modify -next
and task
end

4
dot_config/fish/functions/task/task-wait.fish

@ -0,0 +1,4 @@
function task-wait
task $argv[1] mod wait:+$argv[2]
and task
end

4
dot_config/fish/functions/us-to-cad.fish

@ -0,0 +1,4 @@
function us-to-cad
# qalc -e "$argv[1]\$ to CAD"
qalc "$argv[1]\$ to CAD"
end

10
dot_config/fish/functions/vpn-red-hat.fish

@ -0,0 +1,10 @@
function vpn-red-hat
if test $argv[1] = 'up'
sudo systemctl start NetworkManager.service
and sleep 3
and nmcli con up id "1 - Red Hat Global VPN" --ask
else if test $argv[1] = 'down'
nmcli con down id "1 - Red Hat Global VPN"
and sudo systemctl stop NetworkManager.service
end
end

11
dot_config/fish/functions/watson-add-fortnite.fish

@ -0,0 +1,11 @@
function watson-add-fortnite
set year_month "2020-08"
set start_time "$year_month-$argv[1] $argv[2]"
set end_time "$year_month-$argv[3] $argv[4]"
if test (count $argv) -eq 4
watson add -f $start_time -t $end_time fun +fortnite
else
watson add -f $start_time -t $end_time fun +fortnite +$argv[5]
end
end

11
dot_config/fish/functions/watson-add-game.fish

@ -0,0 +1,11 @@
function watson-add-game
set year_month (date -u +"%Y-%m")
set start_time "$year_month-$argv[2] $argv[3]"
set end_time "$year_month-$argv[4] $argv[5]"
if test (count $argv) -eq 5
watson add -f $start_time -t $end_time fun +$argv[1]
else
watson add -f $start_time -t $end_time fun +$argv[1] +$argv[6]
end
end

161
dot_config/i3/config.tmpl

@ -1,20 +1,29 @@
# startup [[[ #
set $term urxvt
set $term_alt st
set $term kitty
# set $term st
# set $term_alt urxvt
{{ if eq .chezmoi.hostname "x1-carbon" }}
# set $term urxvt
# set $term_alt kitty
# set $term_alt st
set $term_alt urxvt
exec dunst
exec compton
exec imwheel
exec numlockx on
exec xbacklight -set 10
# exec wal -i "$(/home/kevin/scripts/shuffler \"/home/kevin/Pictures/Backgrounds/dim/non-editing\")"
exec wal -i $(/home/kevin/scripts/shuffler "$HOME/Pictures/Backgrounds/dim/non-editing")
exec wal -i $(/home/kevin/scripts/shuffler "$HOME/Pictures/Backgrounds/dim/editing")
{{ end }}
# exec --no-startup-id i3-msg 'workspace $ws2; exec $term'
# exec xrdb ~/.Xresources && grep wallpaper ~/.cache/wal/colors.sh | cut -d\' -f2 | xargs wal -i > /dev/null
# exec --no-startup-id i3-msg 'workspace $ws1; exec $term'
# exec --no-startup-id i3-msg 'workspace $ws2; exec $term -e fish -c "tmux-attach fortnite"'
exec --no-startup-id i3-msg 'workspace $ws3; exec $browser'
# exec --no-startup-id i3-msg 'workspace $ws5; exec $term -e twitchy'
exec --no-startup-id i3-msg 'workspace $ws5; exec firefox -P nft'
exec --no-startup-id i3-msg workspace $ws6; exec discord
# exec --no-startup-id i3-msg workspace $ws1; exec $term -e fish -c 'tmux-attach school'
# ]]] startup #
@ -22,7 +31,9 @@ exec --no-startup-id i3-msg 'workspace $ws3; exec $browser'
set $mod Mod1
set $browser "firefox"
set $browser_secondary "chromium"
# set $browser "chromium"
# set $browser_secondary "firefox"
set $scripts_path "/home/kevin/scripts"
set $sch_dir "$HOME/Documents/School"
@ -43,47 +54,72 @@ bindsym Mod4+Return exec /home/kevin/scripts/dmenu-history -nb "$fg" -nf "$bg" -
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# bindsym Mod4+b layout tabbed; exec zathura
bindsym Mod4+c exec $browser
# bindsym Mod4+c exec $browser
# bindsym Mod4+$mod+c exec chatterino
bindsym Mod4+c exec chatterino
bindsym Mod4+$mod+c exec $browser
# bindsym Mod4+e exec notify-send "HPS Word Count" "$(pdftotext /home/kevin/school/latex-notes/hps/essay.pdf - | wc -w)"
# bindsym Mod4+e exec emacs
bindsym Mod4+e exec ~/scripts/twem
bindsym Mod4+f exec firefox
# bindsym Mod4+e exec ~/scripts/twem
# bindsym Mod4+f exec firefox
# bindsym Mod4+f exec firefox --private-window
# bindsym Mod4+f exec firefox --private-window google.ca
# bindsym Mod4+$mod+f exec printf 'Kevin@fosstodon.org' | xclip -selection clipboard
# bindsym Mod4+h exec sleep .2 && xdotool type '.hint'
# bindsym Mod4+$mod+h exec $type_delay_cmd && xdotool type 'kevin.mok@live.ca'
bindsym Mod4+h exec $type_delay_cmd && xdotool type 'kevin.mok@live.ca'
# bindsym Mod4+$mod+h exec sleep .2 && xdotool type '.hint'
bindsym Mod4+$mod+i exec sleep .2 && xdotool type '.info latest'
bindsym Mod4+l exec ~/scripts/dmenu-twitch
# bindsym Mod4+m exec $term -e ~/scripts/vim-man
bindsym Mod4+m exec $type_delay_cmd && xdotool type 'me@kevin-mok.com'
# bindsym Mod4+$mod+m exec pass -c uoft/markus
bindsym Mod4+n exec $term -e nvim
# bindsym Mod4+$mod+o exec xset dpms force off
bindsym Mod4+o exec xclip -selection clipboard ~/.password-store/social/gmail && $type_delay_cmd && xdotool key 'Control_L+v'
# bindsym Mod4+o exec $type_delay_cmd && xdotool key 'Control_L+v'
bindsym Mod4+$mod+o exec xset dpms force off
bindsym $mod+Mod4+o workspace $ws11; exec obs
# bindsym Mod4+p workspace $ws4; exec pgadmin3
# bindsym Mod4+p exec pycharm
bindsym Mod4+p exec $type_delay_cmd && xdotool type '.catch '
bindsym Mod4+$mod+p exec passmenu
bindsym Mod4+p exec passmenu
# # bindsym Mod4+p exec sleep .2 && xdotool type '.catch '
# bindsym Mod4+$mod+p exec notify-send "ping" "$(ping -c 3 -W 1 8.8.8.8)"
bindsym Mod4+q exec qdirstat
bindsym Mod4+r exec $term -e ranger
bindsym Mod4+$mod+r exec notify-send "watson restart" "$(watson restart)"
# bindsym Mod4+q exec qdirstat
bindsym Mod4+q exec printf 'emad1 ' | xclip -selection clipboard && $type_delay_cmd && xdotool key 'Control_L+v'
bindsym Mod4+r exec $type_delay_cmd && xdotool type 'kmok@redhat.com'
bindsym Mod4+$mod+r exec pass show -c career/redhat && $type_delay_cmd && xdotool key 'Control_L+v'
# bindsym Mod4+$mod+r exec $term -e ranger
# bindsym Mod4+$mod+r exec notify-send "watson restart" "$(watson restart)"
bindsym Mod4+$mod+s exec $type_delay_cmd && xdotool type 'https://smol.gq/'
bindsym Mod4+$mod+t exec xclip -selection clipboard ~/.password-store/social/trapbot && $type_delay_cmd && xdotool key 'Control_L+v'
# bindsym Mod4+u exec printf 'kevin.mok@mail.utoronto.ca' | xclip -selection clipboard
bindsym Mod4+u exec $type_delay_cmd && xdotool type 'kevin.mok@mail.utoronto.ca'
# bindsym Mod4+$mod+u exec pass -c uoft/acorn
bindsym Mod4+w exec notify-send "watson status" "$(watson status)"
bindsym Mod4+$mod+w exec notify-send "watson stop" "$(watson status && watson stop)"
# bindsym Mod4+w exec notify-send "watson status" "$(watson status)"
# bindsym Mod4+$mod+w exec notify-send "watson stop" "$(watson status && watson stop)"
bindsym Control+Mod4+w exec $term -e nvim /home/kevin/.config/watson/state.tmp
# bindsym Mod4+x exec $swex
bindsym Control+$mod+x exec $type_delay_cmd && xdotool type 'http://codm.ataraxy.tk/'
bindsym Mod4+z exec cliqz
bindsym Pause exec ~/scripts/twem
# screenshot [[[ #
set $screenshot_folder "/home/kevin/Pictures/screenshots/desktop/unsorted"
set $scripts_path "/home/kevin/scripts"
{{ if .ext_kb }}
bindsym Mod4+x exec ~/scripts/xmodmap-custom
bindsym Print --release exec "scrot -s /tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
bindsym Control+Print --release exec "scrot -u /tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
# bindsym Mod4+x exec ~/scripts/xmodmap-custom
bindsym Mod4+x exec notify-send "xmodmap" "$(~/scripts/xmodmap-custom)"
# bindsym Mod4+e exec notify-send "HPS Word Count" "$(pdftotext /home/kevin/school/latex-notes/hps/essay.pdf - | wc -w)"
# bindsym Print --release exec "scrot -s $screenshot_folder/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
bindsym Print --release exec "maim -su | tee ~/Pictures/screenshots/desktop/unsorted/screenshot-$(date +%F_%T).png | xclip -selection clipboard -t image/png"
bindsym Control+Print --release exec "scrot -u ~/Pictures/screenshots/desktop/unsorted/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
{{ else }}
bindsym Mod4+x exec xmodmap ~/.Xmodmap-laptop && xset r rate $XSET_DELAY $XSET_RATE
bindsym Control+p --release exec "scrot -s ~/tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
bindsym Control+$mod+p --release exec "scrot -u ~/tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
{{ end }}
# ]]] screenshot #
# ]]] app shortcuts #
# redshift [[[ #
@ -120,6 +156,7 @@ bindsym Control+$mod+q exec sudo systemctl stop netctl-auto@wlp3s0.service
# ]]] backlight #
for_window [class="chatterino"] floating enable
for_window [class="Peek"] floating enable
for_window [title="Qalculate!"] floating enable
@ -168,7 +205,7 @@ for_window [class="^.*"] border pixel 3
gaps inner 0
gaps outer 0
{{ if eq .chezmoi.hostname "nzxt" }}
border_radius $border_radius
# border_radius $border_radius
{{ end }}
# other gaps [[[ #
@ -292,38 +329,72 @@ set $secondary "DVI-I-1"
set $main "HDMI-0"
{{ end }}
workspace $ws1 output $main
# workspace $ws1 output $main
workspace $ws1 output $secondary
bindsym $mod+F1 workspace $ws1; exec $term
bindsym Mod4+$mod+F1 workspace $ws1; exec chatterino
# bindsym Control+Shift+F1 workspace $ws1; exec $term -e fish -c 'tmux-attach school'
bindsym Control+Shift+F1 workspace $ws1; exec $term -e fish -c 'tmux-attach nft'
set $ws2 "2 "
set $work_laptop_ip "192.168.0.11"
workspace $ws2 output $secondary
bindsym $mod+F2 workspace $ws2; exec $term
# bindsym Control+Shift+F2 workspace $ws2; exec $term -e mosh kmok@$work_laptop_ip -- tmux a -t nzxt
# bindsym Control+Shift+F2 workspace $ws2; exec $term -e fish -c 'tmux-attach fortnite'
bindsym Control+Shift+F2 workspace $ws2; exec $term -e fish -c 'tmux-attach nft-2'
# bindsym Control+Shift+F2 workspace $ws2; exec $term -e fish -c 'tmux-attach school-2'
bindsym $mod+Shift+F2 workspace $ws2; exec $term -e mosh kmok@$work_laptop_ip -- tmux a -t nzxt-2
# ws3 [[[ #
set $ws3 "3 "
# set $ws3 "3 "
workspace $ws3 output $main
bindsym $mod+F3 workspace $ws3; exec $browser
# workspace $ws3 output $main
# bindsym $mod+F3 workspace $ws3; exec $browser
# bindsym $mod+F3 exec $browser; move container to workspace $ws3; workspace $ws3
bindsym $mod+F3 exec $browser
bindsym Control+Shift+F3 workspace $ws3; exec firefox -P work
# bindsym Mod4+$mod+F3 workspace $ws3; exec $browser_secondary
bindsym Mod4+$mod+F3 workspace $ws3; exec firefox -P default
# bindsym Mod4+$mod+F3 workspace $ws3; exec firefox -P work
# bindsym Mod4+b workspace $ws3; layout stacked; exec $term -e fish -c "buku-fzf"
# bindsym Mod4+$mod+b workspace $ws3; layout stacked; exec $term -e fish -c "buku-fzf fq"
# bindsym Mod4+b layout stacked; exec $term -e fish -c "buku-fzf"
# bindsym Mod4+$mod+b layout stacked; exec $term -e fish -c "buku-fzf fq"
bindsym Mod4+b layout tabbed; exec $term -e fish -c "buku-fzf"
bindsym Mod4+$mod+b layout tabbed; exec $term -e fish -c "buku-fzf fq"
# bindsym Mod4+g workspace $ws3; layout tabbed; exec gimp
# ]]] ws3 #
set $ws4 "4 "
workspace $ws4 output $secondary
bindsym $mod+F4 workspace $ws4; exec $term
bindsym Mod4+$mod+F4 workspace $ws4; exec urxvt -e ranger $screenshot_folder
bindsym Mod4+e workspace $ws4; exec libreoffice ~/Documents/expenses/investments.ods
bindsym Mod4+g workspace $ws4; layout tabbed; exec gimp
# ws5 [[[ #
set $ws5 "5 "
workspace $ws5 output $secondary
# workspace $ws5 output $secondary
assign [class="Steam"] $ws5
bindsym $mod+F5 workspace $ws5; exec $browser
# bindsym $mod+Mod4+F5 workspace $ws5; exec firefox -P work
bindsym $mod+Mod4+F5 workspace $ws5; exec firefox -P nft
# bindsym $mod+Mod4+F5 workspace $ws5; exec firefox --private-window
bindsym Control+Shift+F5 workspace $ws5; exec firefox -P work
bindsym Mod4+f workspace $ws5; exec firefox --private-window google.ca
bindsym $mod+Shift+F5 workspace $ws5; exec chromium
# bindsym Mod4+g workspace $ws5; layout stacking; exec $term -e steam
bindsym Mod4+g workspace $ws5; layout tabbed; exec gimp
# bindsym Mod4+g workspace $ws5; layout tabbed; exec gimp
# bindsym Mod4+g workspace $ws5; exec mgba-qt
bindsym Mod4+i workspace $ws5; exec idea
bindsym Mod4+m workspace $ws5; layout tabbed; exec $term -e ~/.minetest/minetest/bin/minetest
bindsym Mod4+t workspace $ws5; exec thunderbird
# bindsym Mod4+i workspace $ws5; exec idea
# bindsym Mod4+m workspace $ws5; layout tabbed; exec $term -e ~/.minetest/minetest/bin/minetest
# bindsym Mod4+$mod+t workspace $ws5; exec thunderbird
# bindsym Mod4+$mod+w workspace $ws5; exec $term -e twitchy
# bindsym Mod4+w workspace $ws5; exec $term -e twitchy
bindsym Mod4+5 workspace $ws5; exec godot
bindsym Mod4+F5 workspace $ws5; exec cd ~/coding/ada-mario && godot -e
# for_window [class="Move_mouse_with_head"] floating enable; move absolute position 0 0
@ -333,18 +404,31 @@ for_window [class="ada-mario"] floating enable
# for_window [class="ada-mario"] move absolute position 930 480
for_window [class="ada-mario"] move absolute position 640 0
# ]]] ws5 #
# ws6 [[[ #
set $ws6 "6 "
workspace $ws6 output $secondary
assign [class="Slack"] $ws6
bindsym Mod4+d workspace $ws6; exec discord
# bindsym Mod4+d workspace $ws6; exec riot-desktop
# bindsym Mod4+i workspace $ws6; exec firefox -new-window https://riot.im/app/#/home
bindsym Mod4+$mod+d workspace $ws6; exec element-desktop
# bindsym Mod4+d workspace $ws6; exec firefox -new-window https://riot.im/app
bindsym Mod4+k workspace $ws6; exec slack
# bindsym Mod4+i workspace $ws6; exec $term -e fish -c 'mosh kmok@$work_laptop_ip -- tmux a -t weechat'
bindsym Mod4+i workspace $ws6; exec $term -e fish -c 'mosh kmok@$work_laptop_ip -- tmux a -t weechat'
# bindsym Mod4+i workspace $ws6; exec $term -e fish -c 'tmux-attach weechat'
# ]]] ws6 #
set $ws7 "7 "
workspace $ws7 output $secondary
# bindsym $mod+F7 workspace $ws7; exec $term
bindsym $mod+F7 workspace $ws7; exec $term -e mosh --ssh='ssh -p 399' kevin@165.22.239.234 tmux a
# bindsym $mod+F7 workspace $ws7; exec $term -e mosh kmok@$work_laptop_ip -- tmux a -t nzxt
bindsym $mod+F7 workspace $ws7; exec $term
bindsym Mod4+$mod+F7 workspace $ws7; exec $term -e mosh --ssh='ssh -p 399' kevin@165.22.239.234 tmux a
bindsym $mod+Shift+F7 workspace $ws7; exec chromium https://txstreet.com/v/eth
bindsym Mod4+a workspace $ws7; exec android-file-transfer
# bindsym Mod4+v workspace $ws7; exec VBoxManage startvm "369-a1"
set $ws8 "8 "
@ -353,6 +437,8 @@ workspace $ws8 output $secondary
# bindsym $mod+F8 workspace $ws8; exec $term
# bindsym $mod+F8 workspace $ws8; exec $term -e tmux a -t journal
bindsym $mod+F8 workspace $ws8; exec $term -e fish -c 'tmux-attach journal'
bindsym Mod4+$mod+F8 workspace $ws8; exec libreoffice ~/Documents/sit-stand/sit-stand.ods
bindsym $mod+Shift+F8 workspace $ws8; exec libreoffice ~/Documents/red-hat/workday.ods
set $ws9 "9 "
workspace $ws9 output $secondary
@ -367,17 +453,20 @@ workspace $ws10 output $secondary
set $hp 2
# bindsym Mod4+v workspace $ws10; exec $term -e alsamixer -c 0
bindsym Mod4+v workspace $ws10; exec $term -e alsamixer -c 1
bindsym Mod4+$mod+c workspace $ws10; exec $term -e cava
# bindsym Mod4+$mod+c workspace $ws10; exec $term -e cava
# bindsym Mod4+h workspace $ws10; exec $term -e alsamixer -c $hp
bindsym Mod4+s workspace $ws10; exec spotify
bindsym Mod4+s workspace $ws10; exec ~/scripts/spotify-clean
set $ws11 "11 "
# set $ws11 "11 📊"
# assign [class="Summoners War Exporter"] $ws11
workspace $ws11 output $secondary
bindsym $mod+F11 workspace $ws11; exec $term -e htop -s PERCENT_CPU
# bindsym $mod+F11 workspace $ws11; exec $term -e htop -s PERCENT_CPU
bindsym $mod+F11 workspace $ws11; exec $term -e htop -s PERCENT_MEM
bindsym Mod4+$mod+F11 workspace $ws11; exec $term -e fish -c 'tmux-attach obs'
bindsym Mod4+t workspace $ws11; exec nordvpn connect && transmission-gtk
# bindsym $mod+F11 workspace $ws11; exec $term -e gotop -m
bindsym Mod4+a workspace $ws11; exec antimicro
# bindsym Mod4+a workspace $ws11; exec antimicro
set $ws12 "12 "
bindsym $mod+F12 workspace $ws12; exec $term

62
dot_config/i3blocks/i3blocks-secondary.conf.tmpl

@ -11,17 +11,48 @@ markup=pango
color=#cbe4ff
# ]]] Global properties #
# [ticker]
# label=$
# TICKER=GME
# interval=30
# # interval=10
# sys.monitoring [[[ #
{{ if eq .chezmoi.hostname "nzxt" }}
[temperature]
label=
interval=5
[cpu_usage]
label=
interval=5
[memory]
label=
# color=#3da061
interval=5
{{ end }}
# ]]] sys.monitoring #
# volume/spotify [[[ #
# [spotify]
# # command=python ~/linux-config/configs/i3blocks-scripts/spotify.py
# # label=
# label=
# # label=🎧
# # green
# # color=#198c19
# # aqua
# # color=#2d7272
# interval=5
[spotify]
# command=python ~/linux-config/configs/i3blocks-scripts/spotify.py
# label=
label=
# label=🎧
# green
# color=#198c19
# aqua
# color=#2d7272
LONG_NAME=
SHORT_NAME=
interval=5
[volume]
@ -36,13 +67,14 @@ interval=60
[calendar]
interval=30
label=
{{ if eq .chezmoi.hostname "nzxt" }}
DATEFMT=+%H:%M.%a-%m-%d
{{ else }}
# {{ if eq .chezmoi.hostname "nzxt" }}
# DATEFMT=+%H:%M.%a-%m-%d
# {{ else }}
# DATEFMT=+%H:%M
# {{ end }}
DATEFMT=+%H:%M
{{ end }}
# SHORTFMT=+%H:%M:%S
# SHORTFMT=+%H:%M.%a-%m-%d
SHORTFMT=+%H:%M.%a-%m-%d
HEIGHT=180
WIDTH=220
@ -53,7 +85,7 @@ WIDTH=220
label=
interval=5
[name]
label=
interval=30
# [name]
# label=
# interval=30
{{ end }}

81
dot_config/i3blocks/i3blocks.conf.tmpl

@ -13,6 +13,25 @@ color=#cbe4ff
# ]]] global #
# ticker [[[ #
# [ticker]
# label=BTC 
# TICKER=BTC-USD
# interval=30
[ticker]
label=ETH 
TICKER=ETH-USD
interval=30
# [ticker]
# label=DAQ 
# TICKER=^IXIC
# interval=30
# ]]] ticker #
# volume/spotify [[[ #
{{ if eq .chezmoi.hostname "nzxt" }}
@ -21,10 +40,21 @@ interval=once
signal=1
interval=60
# [spotify]
# label=
# LONG_NAME=
# SHORT_NAME=
# interval=5
[spotify]
# command=python ~/linux-config/configs/i3blocks-scripts/spotify.py
# label=
label=
LONG_NAME=
SHORT_NAME=
# label=🎧
# green
# color=#198c19
# aqua
# color=#2d7272
interval=5
{{ end }}
@ -47,6 +77,13 @@ label=
interval=5
{{ end }}
# {{ if eq .chezmoi.hostname "nzxt" }}
# [wifi]
# label=
# instance=wlp4s0
# interval=10
# {{ end }}
# ]]] laptop #
# time [[[ #
@ -54,11 +91,12 @@ interval=5
[calendar]
interval=30
label=
{{ if eq .chezmoi.hostname "nzxt" }}
DATEFMT=+%H:%M
{{ else }}
# {{ if eq .chezmoi.hostname "nzxt" }}
# DATEFMT=+%H:%M
# {{ else }}
# DATEFMT=+%H:%M.%a-%m-%d
# {{ end }}
DATEFMT=+%H:%M.%a-%m-%d
{{ end }}
# SHORTFMT=+%H:%M:%S
HEIGHT=180
WIDTH=220
@ -68,31 +106,18 @@ WIDTH=220
# sys.monitoring [[[ #
{{ if eq .chezmoi.hostname "nzxt" }}
# [wifi]
# label=
# instance=wlp4s0
# interval=10
[temperature]
label=
interval=5
# unbold this?
# [load_average]
# label=
# [temperature]
# label=
# interval=5
# color=#990000
{{ end }}
[cpu_usage]
label=
interval=5
# [cpu_usage]
# label=
# interval=5
{{ if eq .chezmoi.hostname "nzxt" }}
[memory]
label=
# color=#3da061
interval=5
# [memory]
# label=
# # color=#3da061
# interval=5
# ]]] sys.monitoring #

5
dot_config/i3blocks/scripts/executable_ticker

@ -0,0 +1,5 @@
#!/bin/bash
. "/home/kevin/.cache/wal/colors.sh"
ticker=$(~/scripts/ticker $TICKER)
printf "%s\n\n%s\n" "$ticker" "$color7"

4
dot_config/i3blocks/scripts/executable_volume

@ -32,7 +32,9 @@ SCONTROL=${SCONTROL:-""}
# }}} default vars #
AUDIO_DELTA=${AUDIO_DELTA:-5}
AUDIO_DELTA=${AUDIO_DELTA:-3}
# AUDIO_DELTA=${AUDIO_DELTA:-2}
# AUDIO_DELTA=${AUDIO_DELTA:-1}
# LONG_FORMAT=${LONG_FORMAT:-'${SYMB} ${VOL}% [${INDEX}:${NAME}]'}
LONG_FORMAT=${SHORT_FORMAT:-'${SINK_SYMB} ${VOL}%'}

3
dot_config/i3blocks/scripts/executable_wifi

@ -18,7 +18,6 @@
INTERFACE="${BLOCK_INSTANCE:-wlan0}"
# echo $INTERFACE
# INTERFACE="${INSTANCE}"
#------------------------------------------------------------------------
@ -29,7 +28,7 @@ INTERFACE="${BLOCK_INSTANCE:-wlan0}"
#------------------------------------------------------------------------
QUALITY=$(grep $INTERFACE /proc/net/wireless | awk '{ print int($3 * 100 / 70) }')
QUALITY=$(sudo grep $INTERFACE /proc/net/wireless | awk '{ print int($3 * 100 / 70) }')
# echo $QUALITY
W_inter=$(ip link | grep "[1-9]: wlp" | cut -d " " -f2 | tr -d ':')
W_name=$(nmcli d | grep "$W_inter" | awk '{print $4}')

14
dot_config/kitty/kitty.conf

@ -0,0 +1,14 @@
include ~/.cache/wal/colors-kitty.conf
# background_opacity .7
# background_opacity .8
# background_opacity .85
background_opacity .9
clipboard_control write-clipboard write-primary
enable_audio_bell no
# font
cursor_blink_interval 0
# font_size 12.5
font_size 12
map ctrl+alt+up change_font_size all +1.0
map ctrl+alt+down change_font_size all -1.0

33
dot_config/mimeapps-ffox.list

@ -0,0 +1,33 @@
[Default Applications]
text/html=firefox.desktop
x-scheme-handler/http=firefox.desktop
x-scheme-handler/https=firefox.desktop
x-scheme-handler/about=chromium.desktop
x-scheme-handler/unknown=chromium.desktop
x-scheme-handler/ftp=firefox.desktop
x-scheme-handler/chrome=firefox.desktop
application/x-extension-htm=firefox.desktop
application/x-extension-html=firefox.desktop
application/x-extension-shtml=firefox.desktop
application/xhtml+xml=firefox.desktop
application/x-extension-xhtml=firefox.desktop
application/x-extension-xht=firefox.desktop
x-scheme-handler/mailto=userapp-Thunderbird-DQE3YZ.desktop
message/rfc822=userapp-Thunderbird-DQE3YZ.desktop
image/jpeg=sxiv.desktop
image/png=sxiv.desktop
x-scheme-handler/discord-409416265891971072=discord-409416265891971072.desktop
[Added Associations]
x-scheme-handler/http=firefox.desktop;
x-scheme-handler/https=firefox.desktop;
text/html=firefox.desktop;
application/pdf=org.gnome.Evince.desktop;org.pwmt.zathura-pdf-mupdf.desktop;
text/plain=nvim.desktop;
x-scheme-handler/mailto=userapp-Thunderbird-DQE3YZ.desktop;
message/rfc822=userapp-Thunderbird-DQE3YZ.desktop;
text/x-python=nvim.desktop;gvim.desktop;
application/json=firefox.desktop;
image/jpeg=gimp.desktop;imv.desktop;
text/markdown=nvim.desktop;
image/png=imv.desktop;

34
dot_config/mimeapps.list

@ -0,0 +1,34 @@
[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
x-scheme-handler/ftp=firefox.desktop
x-scheme-handler/chrome=firefox.desktop
application/x-extension-htm=firefox.desktop
application/x-extension-html=firefox.desktop
application/x-extension-shtml=firefox.desktop
application/xhtml+xml=firefox.desktop
application/x-extension-xhtml=firefox.desktop
application/x-extension-xht=firefox.desktop
x-scheme-handler/mailto=userapp-Thunderbird-DQE3YZ.desktop
message/rfc822=userapp-Thunderbird-DQE3YZ.desktop
image/jpeg=sxiv.desktop
image/png=sxiv.desktop
x-scheme-handler/discord-409416265891971072=discord-409416265891971072.desktop
x-scheme-handler/eclipse+command=_usr_lib_dbeaver_.desktop
[Added Associations]
x-scheme-handler/http=firefox.desktop;
x-scheme-handler/https=firefox.desktop;
text/html=firefox.desktop;
application/pdf=org.gnome.Evince.desktop;org.pwmt.zathura-pdf-mupdf.desktop;
text/plain=nvim.desktop;
x-scheme-handler/mailto=userapp-Thunderbird-DQE3YZ.desktop;
message/rfc822=userapp-Thunderbird-DQE3YZ.desktop;
text/x-python=nvim.desktop;gvim.desktop;
application/json=firefox.desktop;
image/jpeg=gimp.desktop;imv.desktop;
text/markdown=nvim.desktop;
image/png=imv.desktop;

21
dot_config/mpv/input.conf

@ -1,17 +1,20 @@
# volume
WHEEL_UP add volume 1
WHEEL_DOWN add volume -1
WHEEL_UP add volume 5
WHEEL_DOWN add volume -5
v cycle mute
# speed
r set speed 1.0
g set speed 1.6
h set speed 2.4
s add speed -.2
d add speed .2
w add speed -.2
e add speed .2
# seek
Shift+RIGHT seek 1
Shift+LEFT seek -1
Ctrl+RIGHT no-osd seek 0.2 exact
Ctrl+LEFT no-osd seek -0.2 exact
Shift+RIGHT no-osd seek 1 exact
Shift+LEFT no-osd seek -1 exact
RIGHT seek 3
LEFT seek -3
UP seek 10
@ -24,5 +27,7 @@ m revert-seek mark # mark position for revert-seek
Shift+m revert-seek
# subtitle delay
z add sub-delay +0.25
Z add sub-delay -0.25
# z add sub-delay +0.25
# Z add sub-delay -0.25
u add sub-delay -0.25
i add sub-delay +0.25

2
dot_config/mpv/mpv.conf

@ -1,3 +1,5 @@
sub-auto=fuzzy
# volume=25
# volume=75
ytdl-format=best
ytdl-raw-options=sub-format=en,write-srt=

423
dot_config/picom/picom.conf

@ -0,0 +1,423 @@
# shadows {{{ #
# Enabled client-side shadows on windows. Note desktop windows
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
# unless explicitly requested using the wintypes option.
#
# shadow = false
shadow = true;
# The blur radius for shadows, in pixels. (defaults to 12)
# shadow-radius = 12
shadow-radius = 7;
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
# shadow-opacity = .75
# The left offset for shadows, in pixels. (defaults to -15)
# shadow-offset-x = -15
shadow-offset-x = -7;
# The top offset for shadows, in pixels. (defaults to -15)
# shadow-offset-y = -15
shadow-offset-y = -7;
# Avoid drawing shadows on dock/panel windows. This option is deprecated,
# you should use the *wintypes* option in your config file instead.
#
# no-dock-shadow = false
# Don't draw shadows on drag-and-drop windows. This option is deprecated,
# you should use the *wintypes* option in your config file instead.
#
# no-dnd-shadow = false
# Red color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-red = 0
# Green color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-green = 0
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-blue = 0
# Do not paint shadows on shaped windows. Note shaped windows
# here means windows setting its shape through X Shape extension.
# Those using ARGB background is beyond our control.
# Deprecated, use
# shadow-exclude = 'bounding_shaped'
# or
# shadow-exclude = 'bounding_shaped && !rounded_corners'
# instead.
#
# shadow-ignore-shaped = ''
# Specify a list of conditions of windows that should have no shadow.
#
# examples:
# shadow-exclude = "n:e:Notification";
#
# shadow-exclude = []
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
# Specify a X geometry that describes the region in which shadow should not
# be painted in, such as a dock window region. Use
# shadow-exclude-reg = "x10+0+0"
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
#
# shadow-exclude-reg = ""
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
# xinerama-shadow-crop = false
# }}} shadows #
# fading {{{ #
# Fade windows in/out when opening/closing and when opacity changes,
# unless no-fading-openclose is used.
fading = false
# fading = true
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
# fade-in-step = 0.028
fade-in-step = 0.03;
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
# fade-out-step = 0.03
fade-out-step = 0.03;
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
# fade-delta = 10
# Specify a list of conditions of windows that should not be faded.
# fade-exclude = []
# Do not fade on window open/close.
# no-fading-openclose = true
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
# no-fading-destroyed-argb = false
# }}} fading #
# transparency/opacity {{{ #
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
inactive-opacity = 1
# inactive-opacity = 0.9;
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
# frame-opacity = 1.0
frame-opacity = 0.7;
# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
# menu-opacity = 1.0
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
# inactive-opacity-override = true
inactive-opacity-override = false;
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
# active-opacity = 1.0
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
# inactive-dim = 0.0
# Specify a list of conditions of windows that should always be considered focused.
# focus-exclude = []
focus-exclude = [ "class_g = 'Cairo-clock'" ];
# Use fixed inactive dim value, instead of adjusting according to window opacity.
# inactive-dim-fixed = 1.0
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
# Note we don't make any guarantee about possible conflicts with other
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
# example:
# opacity-rule = [ "80:class_g = 'URxvt'" ];
#
# opacity-rule = []
# }}} transparency/opacity #
# bg blurring {{{ #
# Parameters for background blurring, see the *BLUR* section for more information.
# blur-method =
# blur-size = 12
#
# blur-deviation = false
# Blur background of semi-transparent / ARGB windows.
# Bad in performance, with driver-dependent behavior.
# The name of the switch may change without prior notifications.
#
# blur-background = false
# Blur background of windows when the window frame is not opaque.
# Implies:
# blur-background
# Bad in performance, with driver-dependent behavior. The name may change.
#
# blur-background-frame = false
# Use fixed blur strength rather than adjusting according to window opacity.
# blur-background-fixed = false
# Specify the blur convolution kernel, with the following format:
# example:
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
#
# blur-kern = ''
blur-kern = "3x3box";
# Exclude conditions for background blur.
# blur-background-exclude = []
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c"
];
# }}} bg blurring #
# general {{{ #
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
# daemon = false
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
# `xrender` is the default one.
#
# backend = 'glx'
backend = "xrender";
# Enable/disable VSync.
# vsync = false
vsync = true
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
# dbus = false
# Try to detect WM windows (a non-override-redirect window with no
# child that has 'WM_STATE') and mark them as active.
#
# mark-wmwin-focused = false
mark-wmwin-focused = true;
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
# mark-ovredir-focused = false
mark-ovredir-focused = true;
# Try to detect windows with rounded corners and don't consider them
# shaped windows. The accuracy is not very high, unfortunately.
#
# detect-rounded-corners = false
detect-rounded-corners = true;
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
# not passing '_NET_WM_OPACITY' of client windows to frame windows.
#
# detect-client-opacity = false
detect-client-opacity = true;
# Specify refresh rate of the screen. If not specified or 0, picom will
# try detecting this with X RandR extension.
#
# refresh-rate = 60
refresh-rate = 0
# Limit picom to repaint at most once every 1 / 'refresh_rate' second to
# boost performance. This should not be used with
# vsync drm/opengl/opengl-oml
# as they essentially does sw-opti's job already,
# unless you wish to specify a lower refresh rate than the actual value.
#
# sw-opti =
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
# provided that the WM supports it.
#
# use-ewmh-active-win = false
# Unredirect all windows if a full-screen opaque window is detected,
# to maximize performance for full-screen windows. Known to cause flickering
# when redirecting/unredirecting windows.
#
# unredir-if-possible = false
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
# unredir-if-possible-delay = 0
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
# unredir-if-possible-exclude = []
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
# in the same group focused at the same time.
#
# detect-transient = false
detect-transient = true
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
# detect-transient is enabled, too.
#
# detect-client-leader = false
detect-client-leader = true
# Resize damaged region by a specific number of pixels.
# A positive value enlarges it while a negative one shrinks it.
# If the value is positive, those additional pixels will not be actually painted
# to screen, only used in blur calculation, and such. (Due to technical limitations,
# with use-damage, those pixels will still be incorrectly painted to screen.)
# Primarily used to fix the line corruption issues of blur,
# in which case you should use the blur radius value here
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
# with a 5x5 one you use `--resize-damage 2`, and so on).
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
#
# resize-damage = 1
# Specify a list of conditions of windows that should be painted with inverted color.
# Resource-hogging, and is not well tested.
#
# invert-color-include = []
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
# Might cause incorrect opacity when rendering transparent content (but never
# practically happened) and may not work with blur-background.
# My tests show a 15% performance boost. Recommended.
#
# glx-no-stencil = false
# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes,
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
# Recommended if it works.
#
# glx-no-rebind-pixmap = false
# Disable the use of damage information.
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
# The opposing option is use-damage
#
# no-use-damage = false
use-damage = true
# Use X Sync fence to sync clients' draw calls, to make sure all draw
# calls are finished before picom starts drawing. Needed on nvidia-drivers
# with GLX backend for some users.
#
# xrender-sync-fence = false
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
# in the source tree for examples.
#
# glx-fshader-win = ''
# Force all windows to be painted with blending. Useful if you
# have a glx-fshader-win that could turn opaque pixels transparent.
#
# force-win-blend = false
# Do not use EWMH to detect fullscreen windows.
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
#
# no-ewmh-fullscreen = false
# Dimming bright windows so their brightness doesn't exceed this set value.
# Brightness of a window is estimated by averaging all pixels in the window,
# so this could comes with a performance hit.
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
#
# max-brightness = 1.0
# Make transparent windows clip other windows like non-transparent windows do,
# instead of blending on top of them.
#
# transparent-clipping = false
# Set the log level. Possible values are:
# "trace", "debug", "info", "warn", "error"
# in increasing level of importance. Case doesn't matter.
# If using the "TRACE" log level, it's better to log into a file
# using *--log-file*, since it can generate a huge stream of logs.
#
# log-level = "debug"
log-level = "warn";
# Set the log file.
# If *--log-file* is never specified, logs will be written to stderr.
# Otherwise, logs will to written to the given file, though some of the early
# logs might still be written to the stderr.
# When setting this option from the config file, it is recommended to use an absolute path.
#
# log-file = '/path/to/your/log/file'
# Show all X errors (for debugging)
# show-all-xerrors = false
# Write process ID to a file.
# write-pid-path = '/path/to/your/log/file'
# }}} general #
# window settings {{{ #
# Window type settings
#
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
# "tooltip", "notification", "combo", and "dnd".
#
# Following per window-type options are available: ::
#
# fade, shadow:::
# Controls window-type-specific shadow and fade settings.
#
# opacity:::
# Controls default opacity of the window type.
#
# focus:::
# Controls whether the window of this type is to be always considered focused.
# (By default, all window types except "normal" and "dialog" has this on.)
#
# full-shadow:::
# Controls whether shadow is drawn under the parts of the window that you
# normally won't be able to see. Useful when the window has parts of it
# transparent, and you want shadows in those areas.
#
# redir-ignore:::
# Controls whether this type of windows should cause screen to become
# redirected again after been unredirected. If you have unredir-if-possible
# set, and doesn't want certain window to cause unnecessary screen redirection,
# you can set this to `true`.
#
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
dock = { shadow = false; }
dnd = { shadow = false; }
# popup_menu = { opacity = 1; }
popup_menu = { opacity = .95; }
# dropdown_menu = { opacity = 1; }
dropdown_menu = { opacity = .9; }
};
# }}} window settings #

1
dot_config/ranger/plugins/__init__.py

@ -1 +0,0 @@

11
dot_config/ranger/rc.conf.tmpl

@ -166,8 +166,9 @@ set autoupdate_cumulative_size false
set show_cursor false
# One of: size, natural, basename, atime, ctime, mtime, type, random
set sort natural
# set sort natural
# set sort extension
set sort mtime
# Additional sorting options
set sort_reverse false
@ -666,9 +667,10 @@ set preview_images true
# * urxvt-full:
# The same as urxvt but utilizing not only the preview pane but the
# whole terminal window.
set preview_images_method w3m
# set preview_images_method w3m
# set preview_images_method ueberzug
# set preview_images_method urxvt
# set preview_images_method kitty
set preview_images_method urxvt
# set preview_images_method urxvt-full
# ]]] image preview #
@ -681,7 +683,8 @@ map rr source ~/.config/ranger/rc.conf
# backgrounds [[[ #
map w shell /usr/bin/wal -i %f && sudo ~/st/make-st.sh
# map w shell /usr/bin/wal -i %f && sudo ~/st/make-st.sh
map w shell /usr/bin/wal -i %f
map bde shell mv %f /home/kevin/Pictures/Backgrounds/dim/editing
map bdn shell mv %f /home/kevin/Pictures/Backgrounds/dim/non-editing
map bbe shell mv %f /home/kevin/Pictures/Backgrounds/bright/editing

9
dot_config/spotify/Users/polarbier-user/prefs.tmpl

@ -1,8 +1,13 @@
audio.crossfade_v2=true
audio.play_bitrate_non_metered_migrated=true
audio.sync_bitrate_enumeration=4
audio.crossfade_v2=true
gaia.attached_device_id="6ca6cdc7bc677d43534460982c3a13959dd1939c"
audio.play_bitrate_enumeration=4
ui.hide_hpto=true
ui.track_notifications_enabled=false
audio.play_bitrate_non_metered_enumeration=4
audio.normalize_v2=false
ui.show_friend_feed=false
audio.play_bitrate_enumeration=4
app.player.volume=40000
{{ if eq .chezmoi.hostname "x1-carbon" }}
app.browser.zoom-level=300

11
dot_gitconfig.tmpl

@ -1,7 +1,7 @@
[user]
email = kevin.mok@live.ca
email = kevin.mok@mail.utoronto.ca
name = Kevin Mok
signingkey = AEA75288DC135CF5
signingkey = C072BD80DB66DE18
[color]
ui = auto
[core]
@ -32,3 +32,10 @@
s = status
st = stash
r = remote
[init]
defaultBranch = main
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true

6
dot_imwheelrc

@ -1,3 +1,5 @@
".*"
None, Up, Button4, 3
None, Down, Button5, 3
/* None, Up, Button4, 3 */
/* None, Down, Button5, 3 */
None, Up, Button4, 1
None, Down, Button5, 1

3
dot_minikube/config/config.json

@ -0,0 +1,3 @@
{
"driver": "docker"
}

33
dot_taskrc

@ -15,6 +15,7 @@
# }}} info #
data.location=~/.task
# rc.debug=1
# Color theme (uncomment one to use){{{
#include /usr/share/doc/task/rc/light-16.theme
@ -41,34 +42,50 @@ include /usr/share/doc/task/rc/dark-16.theme
taskd.certificate=\/home\/kevin\/.task\/do.cert.pem
taskd.key=\/home\/kevin\/.task\/do.key.pem
taskd.ca=\/home\/kevin\/.task\/ca.cert.pem
taskd.server=taskd.khkm.tk:53589
taskd.server=taskd.khkm.gq:53589
taskd.credentials=Hevin\/Kevin\/eb6225dc-80fb-4721-8b03-9114c6c4423d
recurrence=no
# }}} server #
# urgency {{{ #
urgency.user.project.codm.coefficient=-2
urgency.due.coefficient=18
urgency.user.project.codm.coefficient=2
urgency.user.project.crim.coefficient=1
urgency.user.project.fn.coefficient=5
urgency.user.project.mny.coefficient=10
urgency.user.project.ms.coefficient=3
urgency.user.project.pey.coefficient=5
urgency.user.project.pey.coefficient=10
urgency.user.project.pogo.coefficient=0
urgency.user.project.sch.coefficient=7
urgency.uda.priority.H.coefficient=10
urgency.uda.priority.M.coefficient=4
urgency.uda.priority.L.coefficient=-7
urgency.uda.priority..coefficient=1
urgency.user.tag.nx.coefficient=15
urgency.user.tag.helm.coefficient=5
urgency.user.tag.jira.coefficient=5
# urgency.user.tag.nx.coefficient=15
urgency.user.tag.nexus.coefficient=3
report.ready.sort=urgency-
# }}} urgency #
# context {{{ #
# context.home=project.not:ieas project.not:out project.not:sch tag.not:amn
context.home=project.not:ieas project.not:out tag.not:amn
context.home=project.not:ieas project.not:out
context.ieas=project:ieas
context.not-pey=project.not:pey project.not:sch
context.out=project:out
context.mny=project:mny
context.pey=project:pey
context.sch=project:sch
context=home
# context=home
# context=out
# context=sch
context=mny
# context=pey
# context=not-pey
# }}} context #

8
dot_tmux.conf

@ -31,12 +31,12 @@ bind-key -n M-h if-shell "$is_vim" "send-keys M-h" "select-pane -L"
bind-key -n M-j if-shell "$is_vim" "send-keys M-j" "select-pane -D"
bind-key -n M-k if-shell "$is_vim" "send-keys M-k" "select-pane -U"
bind-key -n M-l if-shell "$is_vim" "send-keys M-l" "select-pane -R"
bind-key -n M-\ if-shell "$is_vim" "send-keys M-\\" "select-pane -l"
# bind-key -n M-\ if-shell "$is_vim" "send-keys M-\\" "select-pane -l"
bind-key -T copy-mode-vi M-h select-pane -L
bind-key -T copy-mode-vi M-j select-pane -D
bind-key -T copy-mode-vi M-k select-pane -U
bind-key -T copy-mode-vi M-l select-pane -R
bind-key -T copy-mode-vi M-\ select-pane -l
# bind-key -T copy-mode-vi M-\ select-pane -l
bind-key -n M-Enter split-window -h
# bind-key -n M-v split-window -h
@ -57,8 +57,8 @@ bind-key -n M-a command-prompt "rename-window '%%'"
bind-key -n M-p previous-window
bind-key -n M-n next-window
bind-key -n C-Left swap-window -t -1
bind-key -n C-Right swap-window -t +1
bind-key -n C-Left swap-window -t -1\; previous-window
bind-key -n C-Right swap-window -t +1\; next-window
# }}} windows #

151
dot_vimrc.tmpl

@ -14,11 +14,12 @@ set expandtab
" set foldmethod=indent
set foldmethod=marker
set hlsearch
set ignorecase
" set ignorecase
set linebreak
set linespace=5
set mouse=a
" set mouse=c
set nofixendofline
" set noswapfile
set relativenumber
set shiftwidth=4
@ -26,11 +27,11 @@ set smartcase
set tabstop=4
" set t_Co=256
" set termguicolors
" set timeoutlen=350
set timeoutlen=200
" set tw=80
set timeoutlen=350
" set timeoutlen=200
" set tw=75
set tw=70
" set tw=70
set tw=60
set undodir=~/.vim/undo
set undofile
" set updatetime=1000
@ -58,15 +59,19 @@ autocmd CursorHold * if !bufexists("[Command Line]") | checktime | endif
autocmd BufNewFile,BufRead .* set syntax=sh
autocmd BufRead,BufNewFile /tmp/calcurse*,~/.calcurse/notes/* set filetype=markdown
autocmd FileType *css,gitcommit,haskell,htmldjango,html,javascript,json,lisp,
\markdown,racket,tex,text,yaml set ts=2 sw=2
autocmd FileType *css,gitcommit,haskell,htmldjango,html,graphql,javascript,javascriptreact,json,lisp,markdown,
\racket,tex,text,yaml set tabstop=2 shiftwidth=2
" autocmd BufNewFile,BufRead *.md set filetype=markdown
" autocmd Filetype markdown set textwidth=0
" autocmd Filetype html set foldmarker=0
autocmd BufNewFile,BufRead *.gd set expandtab!
autocmd Filetype go set expandtab! sw=4
autocmd FileType javascript,python,lua set fdm=indent
autocmd Filetype markdown set commentstring=<!---\ %s\ -->
autocmd Filetype go set noexpandtab sw=4
" autocmd FileType go,html,java,javascript,python,lua set fdm=indent
" autocmd FileType go,html,java,javascript,javascriptreact,Jenkinsfile,python,lua set fdm=indent
autocmd FileType go,html,java,Jenkinsfile,python,lua set fdm=indent
" autocmd FileType html,javascript,Jenkinsfile,python,lua set fdm=indent
autocmd BufNewFile,BufRead *.gql setfiletype graphql
autocmd Filetype markdown let g:AutoPairs = {'(':')', '[':']', '{':'}','"':'"', "`":"`", '```':'```', '"""':'"""', "'''":"'''", "*":"*"}
" autocmd Filetype markdown map <F8> :LivedownToggle<CR>
autocmd Filetype markdown let g:AutoPairs={'(':')', '[':']', '{':'}','"':'"', "`":"`", '```':'```', '"""':'"""', "'''":"'''","*":"*"}
autocmd Filetype markdown map <F8> :InstantMarkdownPreview<CR>
@ -77,6 +82,7 @@ autocmd Filetype markdown inoremap < <Esc><<A
autocmd Filetype markdown inoremap << <
autocmd Filetype markdown inoremap > <Esc>>>A
autocmd Filetype markdown inoremap >> >
" autocmd Filetype markdown set commentstring=<!---\ %s\ -->
" format options [[[ "
" a = auto-format paragraphs
@ -88,16 +94,15 @@ autocmd Filetype markdown inoremap >> >
" v = break lines in insert
" w = whitespace continues paragraph
" ]]] format options "
" autocmd FileType markdown,tex,text set spell spelllang=en_us formatoptions=cjMqtvw
autocmd FileType markdown,tex,text set spell spelllang=en_us formatoptions=acjMqtvw
" autocmd FileType tex,text set spell spelllang=en_us formatoptions=acjMqtvw
" autocmd FileType markdown,tex,text set spell spelllang=en_us formatoptions=acjMqtvw
autocmd FileType markdown,tex,text set spell spelllang=en_us formatoptions=cjMqtvw
autocmd Filetype groovy,Jenkinsfile,taskdata set tw=0
autocmd Filetype json nnoremap <leader>j :%!python -m json.tool<CR>
autocmd Filetype json set foldmethod=marker
autocmd Filetype racket set commentstring=;%s;
autocmd Filetype racket let g:AutoPairs = {'(':')', '[':']', '{':'}','"':'"', "`":"`", '```':'```', '"""':'"""', "'''":"'''"}
autocmd FileType sh map <F8> :!clear && shellcheck %<CR>
autocmd Filetype taskdata set tw=0
autocmd FileType tex set updatetime=1000 timeoutlen=300 tw=65
autocmd FileType tex set updatetime=1000 timeoutlen=300
autocmd FileType tex map <F8> :VimtexCompile<CR>
autocmd VimEnter *.tex VimtexCompile
autocmd VimLeave *.tex !tex-clean %:p
@ -172,18 +177,27 @@ Plug 'lervag/vimtex'
" au BufWritePost *.tex silent call Tex_RunLaTeX()
au BufWritePost *.tex silent !pkill -USR1 xdvi.bin
let g:Tex_MultipleCompileFormats = 'dvi,pdf'
" let g:vimtex_view_general_viewer = 'evince'
let g:vimtex_view_general_viewer = 'zathura'
let g:vimtex_quickfix_latexlog = {
\ 'overfull' : 0,
\ 'underfull' : 0,
\ 'global' : 0,
\ 'references' : 0,
\ 'unused' : 0,
\}
" let g:vimtex_quickfix_latexlog = {
" \ 'overfull' : 0,
" \ 'underfull' : 0,
" \ 'global' : 0,
" \ 'packages' : {
" \ 'biblatex' : 0,
" \ 'gensymb' : 0,
" \ },
" \ 'references' : 0,
" \ 'unused' : 0,
" \}
let g:vimtex_quickfix_ignore_filters = [
\'Overfull',
\]
let g:vimtex_quickfix_autoclose_after_keystrokes = 5
" let g:vimtex_compiler_latexmk = {
let g:vimtex_compiler_latexmk = {
\ 'continuous' : 1,
\}
" \ 'continuous' : 0,
" \}
{{ if not (eq .chezmoi.username "root") }}
" auto-completion for various languages
@ -261,16 +275,19 @@ Plug 'jiangmiao/auto-pairs'
Plug 'henrik/vim-indexed-search'
Plug 'PotatoesMaster/i3-vim-syntax'
" vim file explorer
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'terryma/vim-multiple-cursors'
" let g:multi_cursor_select_all_word_key='<C-a>'
let g:multi_cursor_exit_from_visual_mode=0
let g:multi_cursor_exit_from_insert_mode=0
Plug 'dag/vim-fish'
" live preview Markdown"
" Plug 'shime/vim-livedown'
Plug 'suan/vim-instant-markdown', {'for': 'markdown'}
let g:instant_markdown_autostart = 0
let g:instant_markdown_port = 8888
" Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install' }
" let g:mkdp_auto_start = 1
" let g:mkdp_browser = 'firefox'
" let g:mkdp_echo_preview_url = 1
" git helper
Plug 'tpope/vim-fugitive'
" auto reload file
@ -292,11 +309,11 @@ Plug 'kana/vim-textobj-user'
Plug 'rbonvall/vim-textobj-latex'
" swap words
Plug 'tommcdo/vim-exchange'
Plug 'scrooloose/nerdtree'
let NERDTreeQuitOnOpen=1
let NERDTreeShowHidden=1
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
" Plug 'scrooloose/nerdtree'
" let NERDTreeQuitOnOpen=1
" let NERDTreeShowHidden=1
" Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
" Plug 'junegunn/fzf.vim'
Plug 'christoomey/vim-tmux-navigator'
" mappings [[[ "
@ -322,7 +339,23 @@ Plug 'junegunn/vim-easy-align'
" Start interactive EasyAlign for a motion/text object (e.g. gaip)
nmap ga <Plug>(EasyAlign)
Plug 'wlangstroth/vim-racket'
Plug 'neovimhaskell/haskell-vim'
Plug 'masukomi/vim-markdown-folding'
autocmd FileType markdown set foldexpr=NestedMarkdownFolds()
Plug 'cespare/vim-toml'
Plug 'dpelle/vim-LanguageTool'
" increment dates with C-a
Plug 'tpope/vim-speeddating'
Plug 'martinda/Jenkinsfile-vim-syntax'
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
let g:go_fmt_command = ""
Plug 'buoto/gotests-vim'
Plug 'tomlion/vim-solidity'
Plug 'jparise/vim-graphql'
Plug 'maxmellon/vim-jsx-pretty'
Plug 'mlaursen/vim-react-snippets', { 'branch': 'main' }
Plug 'cristianoliveira/vim-react-html-snippets'
Plug 'jidn/vim-dbml'
" ]]] vim-plug "
" Mappings [[[ "
@ -372,7 +405,8 @@ nnoremap <leader>dg ggdG
" delete entire line
nnoremap <leader>dl 0d$
" delete lines matching pattern
nnoremap <leader>dls :g//d<left><left>
" nnoremap <leader>dls :g//d<left><left>
nnoremap <leader>dls q:ig//d<left><left>
" show docstring for cur word
nnoremap <leader>do :YcmCompleter GetDoc<CR>
" delete line into system clipboard
@ -392,11 +426,15 @@ nnoremap <leader>fi :YcmCompleter FixIt<CR>
nnoremap <leader>ft :se ft?<CR>
" check todo's
nnoremap <leader>ftd /TODO<CR>
nnoremap <leader>g :YcmCompleter GoTo<CR>
" nnoremap <leader>g :YcmCompleter GoTo<CR>
nnoremap <leader>g :vs \| YcmCompleter GoTo<CR>
" nnoremap <leader>gb <C-O>
nnoremap <leader>gb :Git blame<CR>
" vimdiff split
nnoremap <leader>gd :Gvdiff
nnoremap <leader>gdh :Gvdiff HEAD~
nnoremap <leader>gdh :Gvdiff HEAD^
nnoremap <leader>gdm :Gvdiff master<CR>
nnoremap <leader>gdo :Gvdiff orig/master<CR>
" toggle search highlighting
nnoremap <leader>h :set hlsearch! hlsearch?<CR>
" help
@ -404,9 +442,13 @@ nnoremap <leader>he :vert help
nnoremap <leader>ht :set tabstop=2 shiftwidth=2 expandtab<CR>
nnoremap <leader>vhe :vert help
" don't add space when joining lines "
nnoremap <leader>j gJ
" nnoremap <leader>j gJ
" jump forward
nnoremap <leader>j <C-I>
" join all paragraphs into single line "
nnoremap <leader>jl :set tw=9999999<CR>gggqG
" jump back
nnoremap <leader>k <C-O>
" format current line
nnoremap <leader>l Vgq
" format this and next line
@ -416,6 +458,8 @@ nnoremap <leader>ll Vjgq
nnoremap <leader>m :vert Man
" apply normal command to selection
vnoremap <leader>n q:anorm
" turn off autoformat"
nnoremap <leader>na :set spell spelllang=en_us formatoptions=cjMqtvw<CR>
nnoremap <leader>nt :NERDTree<CR>
" check if in neovim
nnoremap <leader>nv :echo has('nvim')<CR>
@ -434,17 +478,19 @@ nnoremap <leader>plu :PlugUpdate<CR>
" don't break lines
nnoremap <leader>py :set tw=0<CR>
" replace in next x lines
nnoremap <leader>r q:i.,.+s///g<ESC>Fsi
" nnoremap <leader>r q:i.,.+s///g<ESC>Fsi
" replace in line
nnoremap <leader>rl q:i.s///g<left><left><left>
nnoremap <leader>r q:i.s///g<left><left><left>
" replace in visual selection
vnoremap <leader>r q:is///g<ESC>3ha
" replace in entire file
" nnoremap <leader>R q:i%s///g<ESC>2F/i
nnoremap <leader>ra q:i%s///g<ESC>2F/i
" remove italics tags
nnoremap <leader>rmi :%s/<\/\?i>//g<CR>
nnoremap <leader>rs :res
" reload vim config
nnoremap <leader>rv :source $MYVIMRC<CR>
vnoremap <leader>r q:is///g<ESC>3ha
" replace in entire file
nnoremap <leader>R q:i%s///g<ESC>2F/i
vnoremap <leader>s :sort<CR>
nnoremap <leader>sc :set spell spelllang=en_us<CR>
" run current file in shell
@ -460,6 +506,10 @@ nnoremap <leader>sys :set syn=sh<CR>
vnoremap <leader>t :!tac<CR>
" capitalize letter
nnoremap <leader>u vU
" comment visual block
" nnoremap <leader>vcc V<leader>cc
" uncomment visual block
" nnoremap <leader>vcu V<leader>cu
" horizontal split "
nnoremap <leader>vs :vs
" open vimrc in vertical split
@ -560,21 +610,38 @@ autocmd Filetype c inoremap <localleader>uc unsigned char
autocmd BufNewFile,BufRead *.h nnoremap <localleader>x 0iextern <Esc>f{hc$;<Esc>
autocmd BufNewFile,BufRead ~/.habitctl/log nnoremap <localleader>d Gy3kGp5e<C-V>3j<C-a>$rnj.j.j$.
autocmd BufNewFile,BufRead ~/.habitctl/log nnoremap <localleader>n $rn
autocmd BufNewFile,BufRead ~/.habitctl/log nnoremap <localleader>y $ry
autocmd Filetype fish inoremap <localleader>1 $argv[1]
autocmd Filetype fish inoremap <localleader>2 $argv[2]
autocmd Filetype javascript inoremap <localleader>x process.exit()
" autocmd Filetype markdown inoremap bc because
autocmd Filetype markdown inoremap <localleader>cb - [ ]
autocmd Filetype markdown inoremap <localleader>c - [ ]
autocmd Filetype markdown nnoremap <localleader>e 0f[lr<Space>
autocmd Filetype markdown inoremap <localleader>t TODO:
autocmd Filetype markdown vnoremap <localleader>r q:is/\[x/[ /g<Esc><CR>:set nohlsearch<CR>
autocmd Filetype markdown vnoremap <localleader>x q:is/\[ /[x/g<Esc><CR>:set nohlsearch<CR>
autocmd Filetype markdown nnoremap <localleader>x 0f[lrx
" nnoremap <localleader>x 0f[lrx
autocmd Filetype go nnoremap <localleader>f :GoTestFunc<CR>
autocmd Filetype go nnoremap <localleader>l :GoLint<CR>
autocmd Filetype go nnoremap <localleader>m :GoTests<CR>
autocmd Filetype go nnoremap <localleader>r yawq:iGoRename <Esc>p
autocmd Filetype go nnoremap <localleader>t :GoTest<CR>
autocmd Filetype go-template inoremap <localleader>e {{"{{ else }}"}}
autocmd Filetype go-template inoremap <localleader>hd {{"{{ .chezmoi.homeDir }}"}}
autocmd Filetype go-template nnoremap <localleader>fp :%s/{{"{{{"}}/[[[/g<CR>:%s/}}}/]]]/g<CR>
autocmd Filetype Jenkinsfile nnoremap <localleader>q :.s/"/'/g<CR>
autocmd Filetype Jenkinsfile vnoremap <localleader>q :s/"/'/g<CR>
autocmd Filetype python inoremap <localleader>bp breakpoint()
autocmd Filetype python inoremap <localleader>ip from pprint import pprint
autocmd Filetype python inoremap <localleader>s self.
" ]]] Local Mappings "

9
dot_xinitrc.tmpl

@ -1,5 +1,6 @@
xrandr --setprovideroutputsource modesetting NVIDIA-0
[[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources
# [[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources
[[ -f ~/.Xresources ]] && xrdb ~/.Xresources
# xrandr --auto
{{ if .ext_kb }}
xmodmap ~/.Xmodmap
@ -7,7 +8,8 @@ xmodmap ~/.Xmodmap
# xmodmap ~/.Xmodmap-laptop
xmodmap ~/tmp/.Xmodmap-laptop
{{ end }}
redshift -O 2000
# redshift -O 2000
redshift -O 3000
xset r rate $XSET_DELAY $XSET_RATE
# exec /home/kevin/Downloads/dwm/reload-dwm.sh
@ -19,7 +21,8 @@ numlockx on &
start-pulseaudio-x11 &
# wal -i "$(/home/kevin/scripts/shuffler \"$HOME/Pictures/Backgrounds/dim/non-editing\")" && /home/kevin/st/make-st.sh &
wal -i $(/home/kevin/scripts/shuffler "$HOME/Pictures/Backgrounds/dim/non-editing") &
# wal -i $(/home/kevin/scripts/shuffler "$HOME/Pictures/Backgrounds/dim/non-editing") &
wal -i $(/home/kevin/scripts/shuffler "$HOME/Pictures/Backgrounds/dim/editing") &
{{ end }}
exec i3

2
private_dot_calcurse/conf

@ -1,4 +1,4 @@
appearance.calendarview=weekly
appearance.calendarview=monthly
appearance.compactpanels=yes
appearance.defaultpanel=calendar
appearance.layout=3

9
scripts/executable_backup

@ -1,6 +1,7 @@
#!/bin/bash
mount_dir="/run/media/kevin/backup-hd"
# mount_dir="/run/media/kevin/backup-hd"
mount_dir="/mnt/linux-files-2"
# Backup destination
case $1 in
nzxt )
@ -23,9 +24,9 @@ case $2 in
sudo tar -czpvf "$backup_file" --exclude-from="$exclude_dirs_list" --exclude=/home /
;;
full )
sudo rsync -PraAX --exclude-from="$exclude_dirs_list_full" / "$backup_dest/full"
;;
# full )
# sudo rsync -PraAX --exclude-from="$exclude_dirs_list_full" / "$backup_dest/full"
# ;;
home )
sudo rsync -PraAX --exclude-from="$exclude_dirs_list_full" /home "$backup_dest/full"
esac

3
scripts/executable_dmenu-twitch

@ -0,0 +1,3 @@
#!/bin/bash
cat ~/Documents/twitch-emotes.md | dmenu -i | sed -z 's/\n/ /' | xclip -selection clipboard

3
scripts/executable_spotify-clean

@ -0,0 +1,3 @@
#!/bin/dash
sqlite3 ~/.cache/spotify/mercury.db 'VACUUM;' && spotify

101
scripts/executable_ticker

@ -0,0 +1,101 @@
#!/usr/bin/env bash
set -e
LANG=C
LC_NUMERIC=C
SYMBOLS=("$@")
if ! $(type jq > /dev/null 2>&1); then
echo "'jq' is not in the PATH. (See: https://stedolan.github.io/jq/)"
exit 1
fi
if [ -z "$SYMBOLS" ]; then
echo "Usage: ./ticker.sh AAPL MSFT GOOG BTC-USD"
exit
fi
FIELDS=(symbol marketState regularMarketPrice regularMarketChange regularMarketChangePercent \
preMarketPrice preMarketChange preMarketChangePercent postMarketPrice postMarketChange postMarketChangePercent)
API_ENDPOINT="https://query1.finance.yahoo.com/v7/finance/quote?lang=en-US&region=US&corsDomain=finance.yahoo.com"
if [ -z "$NO_COLOR" ]; then
: "${COLOR_BOLD:=\e[1;37m}"
: "${COLOR_GREEN:=\e[32m}"
: "${COLOR_RED:=\e[31m}"
: "${COLOR_RESET:=\e[00m}"
fi
symbols=$(IFS=,; echo "${SYMBOLS[*]}")
fields=$(IFS=,; echo "${FIELDS[*]}")
results=$(curl --silent "$API_ENDPOINT&fields=$fields&symbols=$symbols" \
| jq '.quoteResponse .result')
query () {
echo $results | jq -r ".[] | select(.symbol == \"$1\") | .$2"
}
for symbol in $(IFS=' '; echo "${SYMBOLS[*]}" | tr '[:lower:]' '[:upper:]'); do
marketState="$(query $symbol 'marketState')"
if [ -z $marketState ]; then
printf 'No results for symbol "%s"\n' $symbol
continue
fi
preMarketChange="$(query $symbol 'preMarketChange')"
postMarketChange="$(query $symbol 'postMarketChange')"
if [ $marketState == "PRE" ] \
&& [ $preMarketChange != "0" ] \
&& [ $preMarketChange != "null" ]; then
nonRegularMarketSign='*'
price=$(query $symbol 'preMarketPrice')
diff=$preMarketChange
percent=$(query $symbol 'preMarketChangePercent')
elif [ $marketState != "REGULAR" ] \
&& [ $postMarketChange != "0" ] \
&& [ $postMarketChange != "null" ]; then
nonRegularMarketSign='*'
price=$(query $symbol 'postMarketPrice')
diff=$postMarketChange
percent=$(query $symbol 'postMarketChangePercent')
else
nonRegularMarketSign=''
price=$(query $symbol 'regularMarketPrice')
diff=$(query $symbol 'regularMarketChange')
percent=$(query $symbol 'regularMarketChangePercent')
fi
if [ "$diff" == "0" ]; then
color=
elif ( echo "$diff" | grep -q ^- ); then
color=$COLOR_RED
else
color=$COLOR_GREEN
fi
if [ "$price" != "null" ]; then
# printf "%-10s$COLOR_BOLD%8.2f$COLOR_RESET" $symbol $price
# printf "$color%10.2f%12s$COLOR_RESET" $diff $(printf "(%.2f%%)" $percent)
# printf " %s\n" "$nonRegularMarketSign"
# echo \$$price
# echo $price
hour=$(date +"%H")
if [[ "$symbol" == "USDCAD=X" ]]; then
printf "%0.4f\n" "$price"
elif [[ "$symbol" == "BTC-USD" || "$symbol" == "ETH-USD" ]]; then
# echo "$price" | cut -c 2-3
echo "$price" | cut -c -3
elif (( $(echo "$price > 10000" | bc -l) )); then
printf "%'0.0f\n" "$price" | cut -c 2-4
# elif (( $(echo "$price < 1" | bc -l) )); then
# printf "%0.3f\n" "$price"
else
printf "%0.2f\n" "$price" | cut -c 3-
# printf "%0.2f\n" "$price"
fi
fi
done

10
scripts/executable_twem

@ -1,7 +1,13 @@
#!/bin/bash
#!/bin/dash
# for i in {1..4} ; do
# xdotool key Left
# done
sleep .3
xdotool type 'https://twem.gq/.png'
for i in {1..4} ; do
i=0
while [ "$i" -ne 4 ]
do
xdotool key Left
i=$((i + 1))
done

8
scripts/executable_twitchy-game

@ -0,0 +1,8 @@
#!/usr/bin/fish
set TEMP_CSV /tmp/twitchy-fortnite.csv
set HEADER "Game,Channel,Viewers,Uptime,Title"
echo $HEADER > $TEMP_CSV
twitchy --non-interactive >> $TEMP_CSV
xsv search -is1 $argv[1] $TEMP_CSV | xsv sort -NRs3 | xsv table

1
txt/exclude-dirs-backup-full.txt

@ -1,4 +1,5 @@
/dev/*
/home/kevin/.cache/*
/lost+found
/media/*
/mnt/*

3
txt/exclude-dirs-backup.txt.tmpl

@ -19,3 +19,6 @@
/tmp
/var/cache/pacman
/var/lib/systemd/coredump
/var/lib/dhcpcd/proc
/var/lib/docker/overlay2
/var/log/journal

54
txt/nzxt-all.txt

@ -2,14 +2,18 @@ acestream-engine
acestream-player
alsa-utils
android-file-transfer
angular-cli
antimicro
apache
arch-install-scripts
arno-iptables-firewall
asciinema
asp
audacity
aurvote
autoconf
automake
baka-mplayer
bash
bat
bc
@ -19,7 +23,7 @@ bison
bookworm
broadcom-wl
browserpass
bukuserver
buku-git
bzip2
calcurse
certbot
@ -30,6 +34,7 @@ cliqz-bin
cloc
cmake
cmatrix
code
colordiff
compton-tryone-git
coreutils
@ -37,6 +42,7 @@ cowsay
cronie
cryptsetup
curseradio-git
dash
dateutils
device-mapper
dhcpcd
@ -44,10 +50,12 @@ dialog
diffutils
discord
dmenu
docker
doxygen
dragon-drag-and-drop-git
dunst
e2fsprogs
eclipse-java
ecryptfs-simple
ecryptfs-utils
electrum
@ -55,6 +63,7 @@ emacs
encfs
evince
fakeroot
fbreader
fd
feh
ffcast
@ -66,6 +75,7 @@ fish
flashplugin
flashplugin-focusfix
flex
flowblade
fortune-mod
fzf
gawk
@ -75,14 +85,13 @@ gdb
gettext
gimp
git
git-lfs
glibc
godot-bin
gotop-bin
gradle
grep
grub
gzip
habitctl-git
handbrake
hdf5
heroku-cli
@ -103,9 +112,12 @@ intellij-idea-community-edition
iproute2
iputils
irrlicht
itch
jdk-openjdk
jfsutils
jmtpfs
jp2a
jre-openjdk-headless
junit
kitty
less
@ -116,10 +128,11 @@ licenses
linux
linux-firmware
linux-headers
linux-kevin
linux-kevin-headers
linux-lts
linux-lts-headers
linux-nzxt
linux-nzxt-headers
lmms
logrotate
lolcat
lsd
@ -127,6 +140,7 @@ lsof
lua-cjson
lvm2
lxappearance
maim
make
man-db
man-pages
@ -155,9 +169,12 @@ numlockx
nvidia-dkms
nvidia-settings
nx3-all
obs-studio
openshot
openssh
openvpn
os-prober
otf-ipafont
p7zip
pacman
pacman-contrib
@ -170,19 +187,27 @@ pdfgrep
peaclock
peek
perl
perl-file-mimeinfo
perl-image-exiftool
pfetch-git
pgadmin4
pipes.sh
pkgconf
podman
postgresql
procps-ng
psmisc
pulseaudio
pycp
pyenv
pyside2
python-dbus
python-discord
python-numpy
python-pip
python-praw
python-prettytable
python-pynvim
python-pywal
python-setuptools
python-tinydb
@ -210,6 +235,7 @@ qt5-scxml
qt5-serialbus
qt5-serialport
qt5-speech
qt5-styleplugins
qt5-tools
qt5-translations
qt5-virtualkeyboard
@ -219,25 +245,31 @@ qt5-webglplugin
qt5-websockets
qt5-webview
qt5-xmlpatterns
racket
ranger
redshift
reiserfsprogs
riot-desktop
ripgrep
robo3t-bin
rot13
rsync
rxvt-unicode-patched
runelite
rxvt-unicode-pixbuf-patched
s-nail
sc-im
scrcpy
scrot
sdcv
sed
shadow
shadowfox-updater
shellcheck
simple-mtpfs
sl
slack-desktop-dark
smartmontools
soundcloud-dl-git
spatialindex
spotify
spotify-now-git
@ -263,12 +295,11 @@ tasksh
tcpdump
termdown
texinfo
texlive-bibtexextra
texlive-core
texlive-local-adjustbox
texlive-local-algorithmicx
texlive-local-algorithms
texlive-local-biblatex
texlive-local-biblatex-apa
texlive-local-capt-of
texlive-local-collectbox
texlive-local-csquotes
@ -281,11 +312,11 @@ texlive-local-forest
texlive-local-gfsdidot
texlive-local-ifmtarg
texlive-local-inlinedef
texlive-local-logreq
texlive-local-multirow
texlive-local-numprint
texlive-local-pgfopts
texlive-local-pgfplots
texlive-local-preprint
texlive-local-siunitx
texlive-local-sourcesanspro
texlive-local-tcolorbox
@ -296,11 +327,11 @@ texlive-local-tkz-euclide
texlive-local-trimspaces
texlive-local-was
texlive-local-xifthen
texlive-localmanager-git
the_silver_searcher
thunderbird
tidy
time
tk
tmux
tor
traceroute
@ -309,6 +340,7 @@ transmission-gtk
trizen
ttf-dejavu
ttf-font-awesome
ttf-hack
ttf-joypixels
ttf-ubuntu-font-family
udisks2
@ -386,6 +418,7 @@ xorg-xvinfo
xorg-xwd
xorg-xwininfo
xorg-xwud
xsv
xvkbd
yad
yay
@ -396,3 +429,4 @@ zathura-pdf-mupdf
zbar
zip
zsh
zulip-desktop-git

31
txt/nzxt-aur.txt

@ -1,30 +1,30 @@
acestream-engine
acestream-player
angular-cli
antimicro
arno-iptables-firewall
aurvote
bear
bukuserver
buku-git
chromium-widevine
cliqz-bin
compton-tryone-git
curseradio-git
dragon-drag-and-drop-git
eclipse-java
ecryptfs-simple
ffcast
flashplugin-focusfix
godot-bin
flowblade
gotop-bin
habitctl-git
heroku-cli
htop-vim-git
i3-gaps-rounded
i3blocks-git
insomnia
itch
jmtpfs
libavutil-52
linux-kevin
linux-kevin-headers
linux-nzxt
linux-nzxt-headers
lua-cjson
@ -35,26 +35,32 @@ nerd-fonts-dejavu-complete
nerd-fonts-hack
nx3-all
peaclock
pfetch-git
pipes.sh
pycp
python-discord
python-tinydb
qdirstat
robo3t-bin
rxvt-unicode-patched
rot13
runelite
rxvt-unicode-pixbuf-patched
sc-im
scrcpy
shadowfox-updater
simple-mtpfs
slack-desktop-dark
soundcloud-dl-git
spotify
spotify-now-git
steamos-xpad-dkms
surf
systemd-numlockontty
taskopen
tasksh
texlive-local-adjustbox
texlive-local-algorithmicx
texlive-local-algorithms
texlive-local-biblatex
texlive-local-biblatex-apa
texlive-local-capt-of
texlive-local-collectbox
texlive-local-csquotes
@ -67,11 +73,11 @@ texlive-local-forest
texlive-local-gfsdidot
texlive-local-ifmtarg
texlive-local-inlinedef
texlive-local-logreq
texlive-local-multirow
texlive-local-numprint
texlive-local-pgfopts
texlive-local-pgfplots
texlive-local-preprint
texlive-local-siunitx
texlive-local-sourcesanspro
texlive-local-tcolorbox
@ -82,13 +88,16 @@ texlive-local-tkz-euclide
texlive-local-trimspaces
texlive-local-was
texlive-local-xifthen
texlive-localmanager-git
trizen
urxvt-resize-font-git
vidir
weechat-vimode-git
wego
wpa_actiond
xbindkeys
xf86-input-keyboard
xf86-input-mouse
xsv
xvkbd
yad
yay
zulip-desktop-git

33
txt/nzxt-pkgs.txt

@ -2,9 +2,12 @@ alsa-utils
android-file-transfer
apache
arch-install-scripts
asciinema
asp
audacity
autoconf
automake
baka-mplayer
bash
bat
bc
@ -21,11 +24,13 @@ chromium
cloc
cmake
cmatrix
code
colordiff
coreutils
cowsay
cronie
cryptsetup
dash
dateutils
device-mapper
dhcpcd
@ -33,6 +38,7 @@ dialog
diffutils
discord
dmenu
docker
doxygen
dunst
e2fsprogs
@ -42,6 +48,7 @@ emacs
encfs
evince
fakeroot
fbreader
fd
feh
file
@ -60,6 +67,7 @@ gdb
gettext
gimp
git
git-lfs
glibc
gradle
grep
@ -80,8 +88,10 @@ intellij-idea-community-edition
iproute2
iputils
irrlicht
jdk-openjdk
jfsutils
jp2a
jre-openjdk-headless
junit
kitty
less
@ -91,12 +101,16 @@ licenses
linux
linux-firmware
linux-headers
linux-lts
linux-lts-headers
lmms
logrotate
lolcat
lsd
lsof
lvm2
lxappearance
maim
make
man-db
man-pages
@ -119,9 +133,12 @@ ntp
numlockx
nvidia-dkms
nvidia-settings
obs-studio
openshot
openssh
openvpn
os-prober
otf-ipafont
p7zip
pacman
pacman-contrib
@ -133,17 +150,23 @@ pcmanfm
pdfgrep
peek
perl
perl-file-mimeinfo
perl-image-exiftool
pgadmin4
pkgconf
podman
postgresql
procps-ng
psmisc
pulseaudio
pyenv
pyside2
python-dbus
python-numpy
python-pip
python-praw
python-prettytable
python-pynvim
python-pywal
python-setuptools
qalculate-gtk
@ -169,6 +192,7 @@ qt5-scxml
qt5-serialbus
qt5-serialport
qt5-speech
qt5-styleplugins
qt5-tools
qt5-translations
qt5-virtualkeyboard
@ -178,6 +202,7 @@ qt5-webglplugin
qt5-websockets
qt5-webview
qt5-xmlpatterns
racket
ranger
redshift
reiserfsprogs
@ -201,7 +226,6 @@ steam-native-runtime
stow
subtitleeditor
sudo
surf
sxiv
sysfsutils
sysstat
@ -211,11 +235,13 @@ task
tcpdump
termdown
texinfo
texlive-bibtexextra
texlive-core
the_silver_searcher
thunderbird
tidy
time
tk
tmux
tor
traceroute
@ -223,6 +249,7 @@ transmission-cli
transmission-gtk
ttf-dejavu
ttf-font-awesome
ttf-hack
ttf-joypixels
ttf-ubuntu-font-family
udisks2
@ -242,12 +269,9 @@ wireless_tools
wkhtmltopdf
wpa_supplicant
xautomation
xbindkeys
xclip
xdotool
xf86-input-evdev
xf86-input-keyboard
xf86-input-mouse
xf86-input-synaptics
xf86-input-vmmouse
xf86-input-void
@ -295,6 +319,7 @@ xorg-xvinfo
xorg-xwd
xorg-xwininfo
xorg-xwud
yad
youtube-dl
youtube-viewer
zathura

Loading…
Cancel
Save