13 changed files with 2864 additions and 18 deletions
-
8aliases/key_aliases.tmpl
-
3aliases/key_dirs.tmpl
-
235dot_config/fish/completions/timetrace.fish
-
32dot_config/i3blocks/i3blocks.conf.tmpl
-
6dot_config/i3blocks/scripts/executable_dexscreener-fdv
-
6dot_config/ranger/executable_scope.sh
-
6dot_config/ranger/rc.conf.tmpl
-
3scripts/executable_dexscreener
-
24scripts/executable_dexscreener-fdv
-
2438txt/ubuntu/apt-packages.txt
-
5txt/ubuntu/npm-packages.txt
-
92txt/ubuntu/pip-packages.txt
-
24txt/ubuntu/snap-packages.txt
@ -0,0 +1,235 @@ |
|||||
|
# fish completion for timetrace -*- shell-script -*- |
||||
|
|
||||
|
function __timetrace_debug |
||||
|
set -l file "$BASH_COMP_DEBUG_FILE" |
||||
|
if test -n "$file" |
||||
|
echo "$argv" >> $file |
||||
|
end |
||||
|
end |
||||
|
|
||||
|
function __timetrace_perform_completion |
||||
|
__timetrace_debug "Starting __timetrace_perform_completion" |
||||
|
|
||||
|
# Extract all args except the last one |
||||
|
set -l args (commandline -opc) |
||||
|
# Extract the last arg and escape it in case it is a space |
||||
|
set -l lastArg (string escape -- (commandline -ct)) |
||||
|
|
||||
|
__timetrace_debug "args: $args" |
||||
|
__timetrace_debug "last arg: $lastArg" |
||||
|
|
||||
|
# Disable ActiveHelp which is not supported for fish shell |
||||
|
set -l requestComp "TIMETRACE_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg" |
||||
|
|
||||
|
__timetrace_debug "Calling $requestComp" |
||||
|
set -l results (eval $requestComp 2> /dev/null) |
||||
|
|
||||
|
# Some programs may output extra empty lines after the directive. |
||||
|
# Let's ignore them or else it will break completion. |
||||
|
# Ref: https://github.com/spf13/cobra/issues/1279 |
||||
|
for line in $results[-1..1] |
||||
|
if test (string trim -- $line) = "" |
||||
|
# Found an empty line, remove it |
||||
|
set results $results[1..-2] |
||||
|
else |
||||
|
# Found non-empty line, we have our proper output |
||||
|
break |
||||
|
end |
||||
|
end |
||||
|
|
||||
|
set -l comps $results[1..-2] |
||||
|
set -l directiveLine $results[-1] |
||||
|
|
||||
|
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>) |
||||
|
# completions must be prefixed with the flag |
||||
|
set -l flagPrefix (string match -r -- '-.*=' "$lastArg") |
||||
|
|
||||
|
__timetrace_debug "Comps: $comps" |
||||
|
__timetrace_debug "DirectiveLine: $directiveLine" |
||||
|
__timetrace_debug "flagPrefix: $flagPrefix" |
||||
|
|
||||
|
for comp in $comps |
||||
|
printf "%s%s\n" "$flagPrefix" "$comp" |
||||
|
end |
||||
|
|
||||
|
printf "%s\n" "$directiveLine" |
||||
|
end |
||||
|
|
||||
|
# this function limits calls to __timetrace_perform_completion, by caching the result behind $__timetrace_perform_completion_once_result |
||||
|
function __timetrace_perform_completion_once |
||||
|
__timetrace_debug "Starting __timetrace_perform_completion_once" |
||||
|
|
||||
|
if test -n "$__timetrace_perform_completion_once_result" |
||||
|
__timetrace_debug "Seems like a valid result already exists, skipping __timetrace_perform_completion" |
||||
|
return 0 |
||||
|
end |
||||
|
|
||||
|
set --global __timetrace_perform_completion_once_result (__timetrace_perform_completion) |
||||
|
if test -z "$__timetrace_perform_completion_once_result" |
||||
|
__timetrace_debug "No completions, probably due to a failure" |
||||
|
return 1 |
||||
|
end |
||||
|
|
||||
|
__timetrace_debug "Performed completions and set __timetrace_perform_completion_once_result" |
||||
|
return 0 |
||||
|
end |
||||
|
|
||||
|
# this function is used to clear the $__timetrace_perform_completion_once_result variable after completions are run |
||||
|
function __timetrace_clear_perform_completion_once_result |
||||
|
__timetrace_debug "" |
||||
|
__timetrace_debug "========= clearing previously set __timetrace_perform_completion_once_result variable ==========" |
||||
|
set --erase __timetrace_perform_completion_once_result |
||||
|
__timetrace_debug "Succesfully erased the variable __timetrace_perform_completion_once_result" |
||||
|
end |
||||
|
|
||||
|
function __timetrace_requires_order_preservation |
||||
|
__timetrace_debug "" |
||||
|
__timetrace_debug "========= checking if order preservation is required ==========" |
||||
|
|
||||
|
__timetrace_perform_completion_once |
||||
|
if test -z "$__timetrace_perform_completion_once_result" |
||||
|
__timetrace_debug "Error determining if order preservation is required" |
||||
|
return 1 |
||||
|
end |
||||
|
|
||||
|
set -l directive (string sub --start 2 $__timetrace_perform_completion_once_result[-1]) |
||||
|
__timetrace_debug "Directive is: $directive" |
||||
|
|
||||
|
set -l shellCompDirectiveKeepOrder 32 |
||||
|
set -l keeporder (math (math --scale 0 $directive / $shellCompDirectiveKeepOrder) % 2) |
||||
|
__timetrace_debug "Keeporder is: $keeporder" |
||||
|
|
||||
|
if test $keeporder -ne 0 |
||||
|
__timetrace_debug "This does require order preservation" |
||||
|
return 0 |
||||
|
end |
||||
|
|
||||
|
__timetrace_debug "This doesn't require order preservation" |
||||
|
return 1 |
||||
|
end |
||||
|
|
||||
|
|
||||
|
# This function does two things: |
||||
|
# - Obtain the completions and store them in the global __timetrace_comp_results |
||||
|
# - Return false if file completion should be performed |
||||
|
function __timetrace_prepare_completions |
||||
|
__timetrace_debug "" |
||||
|
__timetrace_debug "========= starting completion logic ==========" |
||||
|
|
||||
|
# Start fresh |
||||
|
set --erase __timetrace_comp_results |
||||
|
|
||||
|
__timetrace_perform_completion_once |
||||
|
__timetrace_debug "Completion results: $__timetrace_perform_completion_once_result" |
||||
|
|
||||
|
if test -z "$__timetrace_perform_completion_once_result" |
||||
|
__timetrace_debug "No completion, probably due to a failure" |
||||
|
# Might as well do file completion, in case it helps |
||||
|
return 1 |
||||
|
end |
||||
|
|
||||
|
set -l directive (string sub --start 2 $__timetrace_perform_completion_once_result[-1]) |
||||
|
set --global __timetrace_comp_results $__timetrace_perform_completion_once_result[1..-2] |
||||
|
|
||||
|
__timetrace_debug "Completions are: $__timetrace_comp_results" |
||||
|
__timetrace_debug "Directive is: $directive" |
||||
|
|
||||
|
set -l shellCompDirectiveError 1 |
||||
|
set -l shellCompDirectiveNoSpace 2 |
||||
|
set -l shellCompDirectiveNoFileComp 4 |
||||
|
set -l shellCompDirectiveFilterFileExt 8 |
||||
|
set -l shellCompDirectiveFilterDirs 16 |
||||
|
|
||||
|
if test -z "$directive" |
||||
|
set directive 0 |
||||
|
end |
||||
|
|
||||
|
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2) |
||||
|
if test $compErr -eq 1 |
||||
|
__timetrace_debug "Received error directive: aborting." |
||||
|
# Might as well do file completion, in case it helps |
||||
|
return 1 |
||||
|
end |
||||
|
|
||||
|
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2) |
||||
|
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2) |
||||
|
if test $filefilter -eq 1; or test $dirfilter -eq 1 |
||||
|
__timetrace_debug "File extension filtering or directory filtering not supported" |
||||
|
# Do full file completion instead |
||||
|
return 1 |
||||
|
end |
||||
|
|
||||
|
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2) |
||||
|
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2) |
||||
|
|
||||
|
__timetrace_debug "nospace: $nospace, nofiles: $nofiles" |
||||
|
|
||||
|
# If we want to prevent a space, or if file completion is NOT disabled, |
||||
|
# we need to count the number of valid completions. |
||||
|
# To do so, we will filter on prefix as the completions we have received |
||||
|
# may not already be filtered so as to allow fish to match on different |
||||
|
# criteria than the prefix. |
||||
|
if test $nospace -ne 0; or test $nofiles -eq 0 |
||||
|
set -l prefix (commandline -t | string escape --style=regex) |
||||
|
__timetrace_debug "prefix: $prefix" |
||||
|
|
||||
|
set -l completions (string match -r -- "^$prefix.*" $__timetrace_comp_results) |
||||
|
set --global __timetrace_comp_results $completions |
||||
|
__timetrace_debug "Filtered completions are: $__timetrace_comp_results" |
||||
|
|
||||
|
# Important not to quote the variable for count to work |
||||
|
set -l numComps (count $__timetrace_comp_results) |
||||
|
__timetrace_debug "numComps: $numComps" |
||||
|
|
||||
|
if test $numComps -eq 1; and test $nospace -ne 0 |
||||
|
# We must first split on \t to get rid of the descriptions to be |
||||
|
# able to check what the actual completion will be. |
||||
|
# We don't need descriptions anyway since there is only a single |
||||
|
# real completion which the shell will expand immediately. |
||||
|
set -l split (string split --max 1 \t $__timetrace_comp_results[1]) |
||||
|
|
||||
|
# Fish won't add a space if the completion ends with any |
||||
|
# of the following characters: @=/:., |
||||
|
set -l lastChar (string sub -s -1 -- $split) |
||||
|
if not string match -r -q "[@=/:.,]" -- "$lastChar" |
||||
|
# In other cases, to support the "nospace" directive we trick the shell |
||||
|
# by outputting an extra, longer completion. |
||||
|
__timetrace_debug "Adding second completion to perform nospace directive" |
||||
|
set --global __timetrace_comp_results $split[1] $split[1]. |
||||
|
__timetrace_debug "Completions are now: $__timetrace_comp_results" |
||||
|
end |
||||
|
end |
||||
|
|
||||
|
if test $numComps -eq 0; and test $nofiles -eq 0 |
||||
|
# To be consistent with bash and zsh, we only trigger file |
||||
|
# completion when there are no other completions |
||||
|
__timetrace_debug "Requesting file completion" |
||||
|
return 1 |
||||
|
end |
||||
|
end |
||||
|
|
||||
|
return 0 |
||||
|
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. |
||||
|
# Only do this if the program can be found, or else fish may print some errors; besides, |
||||
|
# the existing completions will only be loaded if the program can be found. |
||||
|
if type -q "timetrace" |
||||
|
# The space after the program name is essential to trigger completion for the program |
||||
|
# and not completion of the program name itself. |
||||
|
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish. |
||||
|
complete --do-complete "timetrace " > /dev/null 2>&1 |
||||
|
end |
||||
|
|
||||
|
# Remove any pre-existing completions for the program since we will be handling all of them. |
||||
|
complete -c timetrace -e |
||||
|
|
||||
|
# this will get called after the two calls below and clear the $__timetrace_perform_completion_once_result global |
||||
|
complete -c timetrace -n '__timetrace_clear_perform_completion_once_result' |
||||
|
# The call to __timetrace_prepare_completions will setup __timetrace_comp_results |
||||
|
# which provides the program's completion choices. |
||||
|
# If this doesn't require order preservation, we don't use the -k flag |
||||
|
complete -c timetrace -n 'not __timetrace_requires_order_preservation && __timetrace_prepare_completions' -f -a '$__timetrace_comp_results' |
||||
|
# otherwise we use the -k flag |
||||
|
complete -k -c timetrace -n '__timetrace_requires_order_preservation && __timetrace_prepare_completions' -f -a '$__timetrace_comp_results' |
@ -0,0 +1,6 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
. "/home/kevin/.cache/wal/colors.sh" |
||||
|
#ticker=$(~/scripts/dexscreener $CHAIN $PAIR) |
||||
|
ticker=$(~/scripts/dexscreener-fdv $1 $2) |
||||
|
printf "%s\n\n%s\n" "$ticker" "$color7" |
@ -0,0 +1,24 @@ |
|||||
|
# /bin/bash |
||||
|
|
||||
|
# curl -s https://api.dexscreener.com/latest/dex/pairs/$1/$2| jq -r '.pairs | .[] | .priceUsd' |
||||
|
#raw=$(curl -s "https://api.dexscreener.com/latest/dex/pairs/$1/$2") |
||||
|
#price=$(echo "$raw" | jq '.pairs[0].marketCap / 1000000000 | . as $marketCap | "\($marketCap | floor).$(($marketCap * 10 | floor % 10))"') |
||||
|
#price=$(echo "$raw" | jq -r '.pairs[0].marketCap / 1000000000 | "\(floor).\( (. * 10 | floor % 10) )B"') |
||||
|
#curl -s "https://api.dexscreener.com/latest/dex/pairs/$1/$2" | jq -r '.pairs[0].marketCap / 1000000000 | "\(floor).\( (. * 10 | floor % 10) )"' |
||||
|
curl -s "https://api.dexscreener.com/latest/dex/pairs/$1/$2" | jq -r '.pairs[0].fdv / 1000000000 | "\(floor).\( (. * 10 | floor % 10) )"' | jq -r 'tostring | gsub("\\.";"")' |
||||
|
|
||||
|
# if (( $(echo "$price < .05" | bc -l) )); then |
||||
|
# printf "%0.4f\n" "$price" | cut -c 4- |
||||
|
# elif (( $(echo "$price < .1" | bc -l) )); then |
||||
|
# printf "%0.3f\n" "$price" | cut -c 4- |
||||
|
#if (( $(echo "$price < .09" | bc -l) )); then |
||||
|
#printf "%0.4f\n" "$price" | cut -c 4- |
||||
|
#elif (( $(echo "$price < .1" | bc -l) )); then |
||||
|
#printf "%0.3f\n" "$price" | cut -c 4- |
||||
|
#elif (( $(echo "$price < 1" | bc -l) )); then |
||||
|
#printf "%0.3f\n" "$price" | cut -c 3- |
||||
|
#elif (( $(echo "$price < 10" | bc -l) )); then |
||||
|
#printf "%0.2f\n" "$price" |
||||
|
#fi |
||||
|
|
||||
|
|
2438
txt/ubuntu/apt-packages.txt
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,5 @@ |
|||||
|
/home/kevin/.local/share/fnm/node-versions/v23.6.0/installation/lib |
||||
|
├── corepack@0.30.0 |
||||
|
├── node-gyp@11.0.0 |
||||
|
└── npm@10.9.2 |
||||
|
|
@ -0,0 +1,92 @@ |
|||||
|
argcomplete==3.1.4 |
||||
|
attrs==23.2.0 |
||||
|
Babel==2.10.3 |
||||
|
bcc==0.29.1 |
||||
|
bcrypt==3.2.2 |
||||
|
blinker==1.7.0 |
||||
|
Brlapi==0.8.5 |
||||
|
certifi==2023.11.17 |
||||
|
chardet==5.2.0 |
||||
|
click==8.1.6 |
||||
|
cloud-init==24.4 |
||||
|
colorama==0.4.6 |
||||
|
command-not-found==0.3 |
||||
|
configobj==5.0.8 |
||||
|
cryptography==41.0.7 |
||||
|
cupshelpers==1.0 |
||||
|
dbus-python==1.3.2 |
||||
|
defer==1.0.6 |
||||
|
distro==1.9.0 |
||||
|
distro-info==1.7+build1 |
||||
|
docopt==0.6.2 |
||||
|
duplicity==2.1.4 |
||||
|
fasteners==0.18 |
||||
|
greenlet==3.0.3 |
||||
|
gyp==0.1 |
||||
|
httplib2==0.20.4 |
||||
|
idna==3.6 |
||||
|
iotop==0.6 |
||||
|
Jinja2==3.1.2 |
||||
|
jsonpatch==1.32 |
||||
|
jsonpointer==2.0 |
||||
|
jsonschema==4.10.3 |
||||
|
language-selector==0.1 |
||||
|
launchpadlib==1.11.0 |
||||
|
lazr.restfulclient==0.14.6 |
||||
|
lazr.uri==1.0.6 |
||||
|
louis==3.29.0 |
||||
|
Mako==1.3.2.dev0 |
||||
|
markdown-it-py==3.0.0 |
||||
|
MarkupSafe==2.1.5 |
||||
|
mdurl==0.1.2 |
||||
|
monotonic==1.6 |
||||
|
msgpack==1.0.3 |
||||
|
netaddr==0.8.0 |
||||
|
netifaces==0.11.0 |
||||
|
oauthlib==3.2.2 |
||||
|
olefile==0.46 |
||||
|
packaging==24.0 |
||||
|
paramiko==2.12.0 |
||||
|
pexpect==4.9.0 |
||||
|
pillow==10.2.0 |
||||
|
pipx==1.4.3 |
||||
|
platformdirs==4.2.0 |
||||
|
psutil==5.9.8 |
||||
|
ptyprocess==0.7.0 |
||||
|
pycairo==1.25.1 |
||||
|
pycups==2.0.1 |
||||
|
Pygments==2.17.2 |
||||
|
PyGObject==3.48.2 |
||||
|
PyJWT==2.7.0 |
||||
|
PyNaCl==1.5.0 |
||||
|
pynvim==0.5.0 |
||||
|
pyparsing==3.1.1 |
||||
|
pyrsistent==0.20.0 |
||||
|
pyserial==3.5 |
||||
|
python-apt==2.7.7+ubuntu3 |
||||
|
python-dateutil==2.8.2 |
||||
|
python-debian==0.1.49+ubuntu2 |
||||
|
python-xlib==0.33 |
||||
|
pytz==2024.1 |
||||
|
pyxdg==0.28 |
||||
|
PyYAML==6.0.1 |
||||
|
ranger-fm==1.9.3 |
||||
|
requests==2.31.0 |
||||
|
rich==13.7.1 |
||||
|
screen-resolution-extra==0.0.0 |
||||
|
setuptools==68.1.2 |
||||
|
six==1.16.0 |
||||
|
systemd-python==235 |
||||
|
typing_extensions==4.10.0 |
||||
|
ubuntu-drivers-common==0.0.0 |
||||
|
ubuntu-pro-client==8001 |
||||
|
ueberzug==18.2.2 |
||||
|
ufw==0.36.2 |
||||
|
unattended-upgrades==0.1 |
||||
|
urllib3==2.0.7 |
||||
|
usb-creator==0.3.16 |
||||
|
userpath==1.9.1 |
||||
|
wadllib==1.3.6 |
||||
|
wheel==0.42.0 |
||||
|
xdg==5 |
||||
|
xkit==0.0.0 |
@ -0,0 +1,24 @@ |
|||||
|
Name Version Rev Tracking Publisher Notes |
||||
|
bare 1.0 5 latest/stable canonical** base |
||||
|
core 16-2.61.4-20240607 17200 latest/stable canonical** core |
||||
|
core18 20240920 2846 latest/stable canonical** base |
||||
|
core20 20240911 2434 latest/stable canonical** base |
||||
|
core22 20241119 1722 latest/stable canonical** base |
||||
|
core24 20241119 716 latest/stable canonical** base |
||||
|
discord 0.0.80 222 latest/stable snapcrafters* - |
||||
|
firefox 129.0.2-1 4793 latest/stable/… mozilla** - |
||||
|
firmware-updater 0+git.7983059 147 1/stable/… canonical** - |
||||
|
gimp 2.10.38 484 latest/stable snapcrafters* - |
||||
|
gnome-3-38-2004 0+git.efb213a 143 latest/stable canonical** - |
||||
|
gnome-42-2204 0+git.510a601 176 latest/stable/… canonical** - |
||||
|
gnome-46-2404 0+git.7d0cf36 77 latest/stable canonical** - |
||||
|
gtk-common-themes 0.1-81-g442e511 1535 latest/stable/… canonical** - |
||||
|
gtk2-common-themes 0.1 13 latest/stable canonical** - |
||||
|
mesa-2404 24.0.9 143 latest/stable canonical** - |
||||
|
signal-desktop 7.38.0 745 latest/stable snapcrafters* - |
||||
|
snap-store 0+git.7a3a49a6 1248 2/stable/… canonical** - |
||||
|
snapd 2.67 23545 latest/stable canonical** snapd |
||||
|
snapd-desktop-integration 0.9 253 latest/stable/… canonical** - |
||||
|
spotify 1.2.52.442.g01893f92 82 latest/stable spotify** - |
||||
|
thunderbird 128.6.0esr-1 609 latest/stable canonical** - |
||||
|
tldr 3.3.0 627 latest/stable kbdk - |
Write
Preview
Loading…
Cancel
Save
Reference in new issue