1
0
Fork 0

Use VSCode sync, fix startup completions and config

main
Ambrose Chua 2024-03-19 14:23:01 +08:00
parent 8801737f2f
commit e87ebf499e
No known key found for this signature in database
GPG Key ID: 36C99AADD44C83D2
6 changed files with 55 additions and 124 deletions

View File

@ -1,7 +0,0 @@
// Place your key bindings in this file to override the defaultsauto[]
[
{
"key": "ctrl+[Backquote]",
"command": "workbench.action.focusFirstEditorGroup"
}
]

View File

@ -1,97 +0,0 @@
{
"window.autoDetectColorScheme": true,
"window.titleBarStyle": "custom",
"workbench.sideBar.location": "right",
"workbench.preferredDarkColorTheme": "Solarized Dark",
"workbench.preferredLightColorTheme": "Solarized Light",
"workbench.colorTheme": "Solarized Light",
"workbench.colorCustomizations": {
"editorInlayHint.background": "#88888811",
"editorInlayHint.foreground": "#88888899"
},
"workbench.startupEditor": "none",
"terminal.integrated.scrollback": 10000,
"terminal.integrated.smoothScrolling": true,
"editor.fontFamily": "'Fira Code', 'Droid Sans Mono', 'monospace', monospace",
"editor.inlayHints.fontSize": 12,
"editor.lineHeight": 1.3,
"editor.minimap.showSlider": "always",
"editor.minimap.enabled": false,
"editor.rulers": [80],
"editor.smoothScrolling": true,
"editor.cursorSmoothCaretAnimation": "on",
"files.autoSaveDelay": 10000,
"files.exclude": {
"**/__pycache__": true,
"**/.pytest_cache": true
},
"vim.normalModeKeyBindings": [
{
"before": ["K"],
"commands": ["editor.action.showHover"]
},
{
"before": ["<space>", "r", "f"],
"commands": ["fileutils.renameFile"]
},
{
"before": ["<space>", "f"],
"commands": ["editor.action.formatDocument"]
},
{
"before": ["<space>", "b"],
"commands": [
"workbench.action.toggleSidebarVisibility"
//"workbench.files.action.focusFilesExplorer",
]
},
{
"before": ["<space>", "$"],
"commands": ["terminal.focus"]
}
],
"redhat.telemetry.enabled": false,
"gitlens.statusBar.enabled": false,
"docker.containers.label": "ContainerName",
"docker.containers.description": ["Image", "Status"],
"[python]": {
"editor.formatOnType": true,
"editor.defaultFormatter": "ms-python.black-formatter"
},
"python.analysis.typeCheckingMode": "strict",
"python.analysis.inlayHints.functionReturnTypes": true,
"python.analysis.inlayHints.variableTypes": true,
"python.analysis.inlayHints.pytestParameters": true,
"go.inlayHints.assignVariableTypes": true,
"go.inlayHints.compositeLiteralFields": true,
"go.inlayHints.compositeLiteralTypes": true,
"go.inlayHints.constantValues": true,
"go.inlayHints.rangeVariableTypes": true,
"go.coverageDecorator": {
"coveredHighlightColor": "rgba(64,128,64,0.1)",
"uncoveredHighlightColor": "rgba(128,64,64,0.1)",
"coveredBorderColor": "rgba(64,128,64,0.1)",
"uncoveredBorderColor": "rgba(128,64,64,0.1)",
"coveredGutterStyle": "slashgreen",
"uncoveredGutterStyle": "slashred"
},
"go.coverOnSave": true,
"powermode.enabled": true,
"powermode.shake.enabled": false,
"powermode.explosions.customExplosions": [
"/home/ambrose/Documents/sparkles.gif"
],
"powermode.explosions.maxExplosions": 1,
"powermode.explosions.frequency": 1,
"powermode.explosions.backgroundMode": "mask",
"powermode.combo.location": "off",
"gitlens.plusFeatures.enabled": false,
"go.lintTool": "golangci-lint",
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"window.commandCenter": false
}

View File

@ -327,6 +327,7 @@ gaps outer 8
# Toggle large gaps # Toggle large gaps
bindsym $mod+g gaps inner current set 34, gaps outer current set 10 bindsym $mod+g gaps inner current set 34, gaps outer current set 10
bindsym $mod+Shift+g gaps inner current set 4, gaps outer current set 8 bindsym $mod+Shift+g gaps inner current set 4, gaps outer current set 8
bindsym $mod+Shift+Ctrl+g gaps inner current set 0, gaps outer current set 0
# #
# Special sizes # Special sizes
# #

View File

@ -24,8 +24,8 @@ output * max_render_time 5
# #
workspace 1 output $output_secondary workspace 1 output $output_secondary
workspace 2 output $output_primary workspace 2 output $output_primary
workspace 7 output $output_tv $output_laptop
workspace 10 output $output_laptop workspace 10 output $output_laptop
workspace 7 output $output_tv $output_laptop
# #
# Windows # Windows

4
.gitignore vendored
View File

@ -26,8 +26,8 @@
.config/Code/* .config/Code/*
!.config/Code/User !.config/Code/User
.config/Code/User/* .config/Code/User/*
!.config/Code/User/keybindings.json #!.config/Code/User/keybindings.json
!.config/Code/User/settings.json #!.config/Code/User/settings.json
!.config/Yubico/u2f_keys !.config/Yubico/u2f_keys
!.config/contain !.config/contain
!.config/containers !.config/containers

68
.zshrc
View File

@ -1,4 +1,4 @@
#zmodload zsh/zprof # zmodload zsh/zprof
# basic settings # basic settings
@ -47,10 +47,10 @@ sup() {
prompt_run_count=0 prompt_run_count=0
on_second_prompt() { on_second_prompt() {
if [[ "$prompt_run_count" == 1 ]] && [[ "$USER" != "root" ]]; then if [[ "$prompt_run_count" == 1 ]] && [[ "$USER" != "root" ]]; then
#zmodload zsh/zprof # zmodload zsh/zprof
load_slower load_slower
load_slowest load_slowest
#zprof # zprof
fi fi
(( prompt_run_count = prompt_run_count + 1 )) (( prompt_run_count = prompt_run_count + 1 ))
} }
@ -59,26 +59,31 @@ precmd_functions+=( on_second_prompt )
# executables # executables
export PATH="$HOME/.local/bin:$HOME/.pwn/bin:$PATH" export PATH="$HOME/.local/bin:$HOME/.pwn/bin:$PATH"
setup_pulumi() { setup_pulumi() {
export PATH="$HOME/.pulumi/bin:$PATH" export PATH="$HOME/.pulumi/bin:$PATH"
} }
[[ -d "$HOME/.pulumi/bin" ]] && setup_pulumi [[ -d "$HOME/.pulumi/bin" ]] && setup_pulumi
setup_deno() { setup_deno() {
export PATH="$DENO_INSTALL/bin:$PATH" export PATH="$DENO_INSTALL/bin:$PATH"
} }
export DENO_INSTALL="$HOME/.deno" export DENO_INSTALL="$HOME/.deno"
[[ -d "$DENO_INSTALL" ]] && setup_deno [[ -d "$DENO_INSTALL" ]] && setup_deno
setup_pyenv() { setup_pyenv() {
unfunction pyenv python3 pip python unfunction -m pyenv python python3 pip pip3
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH" command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)" eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)" eval "$(pyenv virtualenv-init -)"
eval "$(pip completion --zsh)"
} }
pyenv_loaded=0 pyenv_loaded=0
setup_pyenv_on_demand() { setup_pyenv_on_demand() {
setup_pyenv_once() { setup_pyenv_once() {
if [[ ! -d "$PYENV_ROOT" ]] && ! which pip >/dev/null 2>/dev/null; then if [[ ! -d "$PYENV_ROOT" ]] && ! which pip >/dev/null 2>/dev/null; then
git clone https://github.com/pyenv/pyenv.git "$PYENV_ROOT" git clone https://github.com/pyenv/pyenv.git "$PYENV_ROOT"
git clone https://github.com/pyenv/pyenv-virtualenv.git "$PYENV_ROOT/plugins/pyenv-virtualenv"
fi fi
if [[ "$pyenv_loaded" != 1 ]]; then if [[ "$pyenv_loaded" != 1 ]]; then
echo "-- Loading pyenv --" echo "-- Loading pyenv --"
@ -92,15 +97,16 @@ setup_pyenv_on_demand() {
} }
precmd_functions+=( setup_pyenv_when_python_version ) precmd_functions+=( setup_pyenv_when_python_version )
pyenv() { setup_pyenv_once && pyenv "$@" } pyenv() { setup_pyenv_once && pyenv "$@" }
python() { setup_pyenv_once && python "$@" }
python3() { setup_pyenv_once && python3 "$@" } python3() { setup_pyenv_once && python3 "$@" }
pip() { setup_pyenv_once && pip "$@" } pip() { setup_pyenv_once && pip "$@" }
python() { setup_pyenv_once && python "$@" } pip3() { setup_pyenv_once && pip3 "$@" }
} }
export PYENV_ROOT="$HOME/.pyenv" export PYENV_ROOT="$HOME/.pyenv"
#[[ -d "$PYENV_ROOT" ]] && setup_pyenv_on_demand
setup_pyenv_on_demand setup_pyenv_on_demand
setup_nvm() { setup_nvm() {
unfunction nvm npm npx node unfunction -m nvm npm npx node
source "$NVM_DIR/nvm.sh" source "$NVM_DIR/nvm.sh"
} }
nvm_loaded=0 nvm_loaded=0
@ -119,29 +125,34 @@ setup_nvm_on_demand() {
export NVM_DIR="$HOME/.nvm" export NVM_DIR="$HOME/.nvm"
[[ -d "$NVM_DIR" ]] && setup_nvm_on_demand [[ -d "$NVM_DIR" ]] && setup_nvm_on_demand
[[ -f "$HOME/.nvm-setup-now" ]] && setup_nvm [[ -f "$HOME/.nvm-setup-now" ]] && setup_nvm
setup_bun() { setup_bun() {
[ -s "/var/home/ambrose/.bun/_bun" ] && source "/var/home/ambrose/.bun/_bun" [ -s "/var/home/ambrose/.bun/_bun" ] && source "/var/home/ambrose/.bun/_bun"
export PATH="$BUN_INSTALL/bin:$PATH" export PATH="$BUN_INSTALL/bin:$PATH"
} }
export BUN_INSTALL="$HOME/.bun" export BUN_INSTALL="$HOME/.bun"
[[ -d "$BUN_INSTALL" ]] && setup_bun [[ -d "$BUN_INSTALL" ]] && setup_bun
setup_ruby() { setup_ruby() {
export PATH="$(ruby -e 'puts Gem.user_dir')/bin:$PATH" export PATH="$(ruby -e 'puts Gem.user_dir')/bin:$PATH"
} }
which ruby >/dev/null 2>/dev/null && setup_ruby which ruby >/dev/null 2>/dev/null && setup_ruby
setup_go() { setup_go() {
export PATH="$(go env GOPATH)/bin:$PATH" export PATH="$(go env GOPATH)/bin:$PATH"
} }
which go >/dev/null 2>/dev/null && setup_go which go >/dev/null 2>/dev/null && setup_go
setup_g() { setup_g() {
export PATH="$HOME/go/bin:$PATH" GOPATH="$HOME/go" GOROOT="$HOME/.go" # g-install: do NOT edit, see https://github.com/stefanmaric/g export PATH="$HOME/go/bin:$PATH" GOPATH="$HOME/go" GOROOT="$HOME/.go" # g-install: do NOT edit, see https://github.com/stefanmaric/g
} }
export PATH="$HOME/.rd/bin:$PATH"
[[ -f "$HOME/go/bin/g" ]] && setup_g [[ -f "$HOME/go/bin/g" ]] && setup_g
setup_rancher_desktop() { setup_rancher_desktop() {
export PATH="$HOME/.rd/bin:$PATH" export PATH="$HOME/.rd/bin:$PATH"
} }
[[ -d "$HOME/.rd/bin" ]] && setup_rancher_desktop [[ -d "$HOME/.rd/bin" ]] && setup_rancher_desktop
setup_android_sdk() { setup_android_sdk() {
# See ~/.local/bin/install_android_sdk # See ~/.local/bin/install_android_sdk
export ANDROID_SDK_ROOT="$HOME/.android/sdk" export ANDROID_SDK_ROOT="$HOME/.android/sdk"
@ -152,6 +163,7 @@ setup_android_sdk() {
fi fi
} }
[[ -d "$HOME/.android/sdk" ]] && setup_android_sdk [[ -d "$HOME/.android/sdk" ]] && setup_android_sdk
setup_flutter() { setup_flutter() {
# See ~/.local/bin/install_android_sdk # See ~/.local/bin/install_android_sdk
export PATH="$HOME/flutter/bin:$HOME/.pub-cache/bin:$PATH" export PATH="$HOME/flutter/bin:$HOME/.pub-cache/bin:$PATH"
@ -163,12 +175,14 @@ setup_flutter() {
fi fi
} }
[[ -d "$HOME/flutter/bin" ]] && setup_flutter [[ -d "$HOME/flutter/bin" ]] && setup_flutter
setup_cargo() { setup_cargo() {
export PATH="$HOME/.cargo/bin:$PATH" export PATH="$HOME/.cargo/bin:$PATH"
} }
[[ -d "$HOME/.cargo" ]] && setup_cargo [[ -d "$HOME/.cargo" ]] && setup_cargo
setup_rbenv() { setup_rbenv() {
unfunction rbenv ruby gem unfunction -m rbenv ruby gem
command -v rbenv >/dev/null || export PATH="$RBENV_ROOT/bin:$PATH" command -v rbenv >/dev/null || export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init -)" eval "$(rbenv init -)"
} }
@ -188,7 +202,6 @@ setup_rbenv_on_demand() {
gem() { setup_rbenv_once && gem "$@" } gem() { setup_rbenv_once && gem "$@" }
} }
export RBENV_ROOT="$HOME/.rbenv" export RBENV_ROOT="$HOME/.rbenv"
#[[ -d "$RBENV_ROOT" ]] && setup_rbenv_on_demand
setup_rbenv_on_demand setup_rbenv_on_demand
# platform specific # platform specific
@ -273,12 +286,33 @@ setup_completion_more() {
# Depends: # Depends:
#setup_completion #setup_completion
if which kubectl >/dev/null 2>/dev/null; then setup_completion_kubectl() {
source <(kubectl completion zsh) if which kubectl >/dev/null 2>/dev/null; then
fi source <(kubectl completion zsh)
if [[ -d "$NVM_DIR" ]]; then fi
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" }
fi setup_completion_kubectl
setup_completion_pipenv() {
if which pipenv >/dev/null 2>/dev/null; then
eval "$(_PIPENV_COMPLETE=zsh_source pipenv)"
fi
}
setup_completion_pipenv
setup_completion_nvm() {
if [[ -d "$NVM_DIR" ]]; then
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
fi
}
setup_completion_nvm
setup_completion_docker() {
if which docker >/dev/null 2>/dev/null; then
eval "$(docker completion zsh)"
fi
}
setup_completion_docker
} }
slowest_functions+=( setup_completion_more ) slowest_functions+=( setup_completion_more )
@ -656,4 +690,4 @@ if which gpgconf >/dev/null 2>/dev/null; then
} }
fi fi
#zprof # zprof