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

This commit is contained in:
2022-11-01 16:09:17 -04:00
committed by Kevin Mok
84 changed files with 4269 additions and 374 deletions

View File

@@ -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'

File diff suppressed because it is too large Load Diff

View File

@@ -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'

View File

@@ -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
{{ if eq .linux_os "termux" }}
# 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
# 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 }}#]]]
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 -U BROWSER "chromium"
set -xU BROWSER "firefox"
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 #

View File

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

View File

@@ -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

View File

@@ -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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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

View File

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

View File

@@ -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

View File

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

View File

@@ -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

View File

@@ -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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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

View File

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

View File

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

View File

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

View File

@@ -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

View File

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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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

View File

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

View File

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

View File

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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

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

View File

@@ -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 #

View File

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

View File

@@ -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}%'}

View File

@@ -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}')

View File

@@ -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

View File

@@ -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 Normal file
View File

@@ -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;

View File

@@ -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

View File

@@ -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 Normal file
View File

@@ -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 #

View File

@@ -1 +0,0 @@

View File

@@ -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

View File

@@ -1,8 +1,13 @@
audio.crossfade_v2=true
audio.play_bitrate_non_metered_migrated=true
audio.sync_bitrate_enumeration=4
ui.track_notifications_enabled=false
ui.show_friend_feed=false
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
app.player.volume=40000
{{ if eq .chezmoi.hostname "x1-carbon" }}
app.browser.zoom-level=300