Compare commits

..

3 Commits

Author SHA1 Message Date
Vasili Svirydau 79c4a47169 chore: config template 2026-05-06 09:52:49 -07:00
Vasili Svirydau d2a2911f0a chore: git config 2026-05-06 09:46:25 -07:00
Vasili Svirydau 1d271b04fa chore: initial commit 2026-05-06 09:35:03 -07:00
37 changed files with 258 additions and 314 deletions
+6
View File
@@ -0,0 +1,6 @@
{{- $email := promptStringOnce . "email" "Email address" -}}
{{- $fullName := promptStringOnce . "fullName" "Full Name" -}}
[data]
email = {{ $email | quote }}
fullName = {{ $fullName | quote }}
-1
View File
@@ -1 +0,0 @@
*.local.sh
-6
View File
@@ -1,6 +0,0 @@
dotfiles
========
Configuration files
run setup.sh
-8
View File
@@ -1,8 +0,0 @@
#!/bin/bash
# shellcheck disable=SC2034
DOTFILES=$( cd "$(dirname "${BASH_SOURCE[0]}")"/.. && pwd || return)
function finalize {
unset DOTFILES
}
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
function dotenv {
export "$(grep -E -v '^#' .env | xargs)"
}
-3
View File
@@ -1,3 +0,0 @@
#!/bin/bash
export NO_AT_BRIDGE=1
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
export ELASTIC_APM_DISABLE_SEND=true
-2
View File
@@ -1,2 +0,0 @@
#!/bin/bash
export DOTNET_CLI_TELEMETRY_OPTOUT=1
-1
View File
@@ -1 +0,0 @@
export PACT_DO_NOT_TRACK=1
-15
View File
@@ -1,15 +0,0 @@
#!/bin/bash
export PATH="./node_modules/.bin:$PATH"
if [ -e "$HOME/.cargo/bin" ]; then
export PATH="$HOME/.cargo/bin:$PATH"
fi
if [ -e "$HOME/.bin" ]; then
export PATH="$HOME/.bin:$PATH"
fi
if [ -w "$HOME/go/bin" ]; then
export PATH="$HOME/go/bin:$PATH"
fi
-6
View File
@@ -1,6 +0,0 @@
#!/bin/bash
if test -d ~/.asdf; then
source $HOME/.asdf/asdf.sh
source $HOME/.asdf/completions/asdf.bash
fi
-17
View File
@@ -1,17 +0,0 @@
#!/bin/bash
function gr() {
cd "$(git rev-parse --show-toplevel)" || return
}
function tdd() {
set +e
path=$1
shift
echo "Path: \"$path\""
echo "Command: \"$@\""
while [[ $? == 0 ]]
inotifywait -r "$path" -e create -qq;
eval "$@"
do echo $?; done;
}
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
function gi() {
curl -sL "https://www.toptal.com/developers/gitignore/api/$*";
}
-11
View File
@@ -1,11 +0,0 @@
#!/bin/bash
if test -d ~/.nvm; then
NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
export NVM_DIR
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
fi
function dotfiles_install_nvm() {
git clone git@github.com:nvm-sh/nvm.git ~/.nvm
}
-9
View File
@@ -1,9 +0,0 @@
#!/bin/bash
if command -v rbenv > /dev/null; then
eval "$(rbenv init -)"
fi
function dotfiles_install_rbenv {
sudo apt install rbenv
}
-3
View File
@@ -1,3 +0,0 @@
#!/bin/bash
export ASPNETCORE_ENVIRONMENT=Development
-8
View File
@@ -1,8 +0,0 @@
#!/bin/bash
if uname -r | grep WSL > /dev/null; then
DISPLAY=$(ip route | awk '/^default/{print $3; exit}'):0
export LIBGL_ALWAYS_INDIRECT=1
export DISPLAY
fi
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
if command -v starship > /dev/null; then
eval "$(starship init bash)"
fi
-3
View File
@@ -1,3 +0,0 @@
#!/bin/bash
finalize
+5
View File
@@ -0,0 +1,5 @@
[tools]
chezmoi = "latest"
lua-language-server = "latest"
neovim = "nightly"
node = "21"
+87
View File
@@ -0,0 +1,87 @@
vim.o.number = true
vim.o.signcolumn = "yes"
vim.o.winborder = "rounded"
vim.g.loaded_perl_provider = 0
vim.g.airline_powerline_fonts = 1
vim.cmd([[set listchars=tab:▸\ ,eol:¬]])
vim.keymap.set("n", "<leader>r", ":edit $MYVIMRC<cr>")
vim.keymap.set("n", "<leader>f", vim.lsp.buf.format)
vim.keymap.set("n", "<leader>D", vim.lsp.buf.definition)
vim.keymap.set("n", "<leader>U", function() MiniExtra.pickers.lsp({ scope = "references" }) end)
vim.keymap.set("n", "<leader>p", vim.lsp.buf.hover, { desc = "LSP Hover" })
vim.keymap.set("n", "<leader>l", ":set list!<cr>")
vim.keymap.set("n", "<leader>]", ":bn<cr>")
vim.keymap.set("n", "<leader>[", ":bp<cr>")
vim.keymap.set("n", "<leader>d", ":bd<cr>")
vim.keymap.set("n", "<esc><esc>", "<esc>:nohlsearch<cr><esc>")
vim.keymap.set("n", "<space>", "zz")
vim.keymap.set("n", "<leader>w", ":update<cr>")
vim.keymap.set("n", "<c-p>", ":Pick files<cr>")
vim.keymap.set("n", "<leader>h", ":Pick help<cr>")
vim.pack.add(
{
{ src = "https://github.com/nvim-lua/plenary.nvim" }, -- Base functions library
{ src = "https://github.com/folke/lazydev.nvim" }, -- Lua Vim types
{ src = "https://github.com/andythigpen/nvim-coverage" }, -- Code coverage visualuzer
{ src = "https://github.com/echasnovski/mini.icons" }, -- Icons for Ctrl-P
{ src = "https://github.com/echasnovski/mini.pick" }, -- Ctrl-P Alternative
{ src = "https://github.com/echasnovski/mini.extra" }, -- Additional things for mini tools
{ src = "https://github.com/lewis6991/gitsigns.nvim" }, -- Show git changes in the gutter
{ src = "https://github.com/neovim/nvim-lspconfig" }, -- Common LSP Configurations
{ src = "https://github.com/sbdchd/neoformat" }, -- Formatter
{ src = "https://github.com/tpope/vim-fugitive" }, -- Git bindings
{ src = "https://github.com/vim-airline/vim-airline-themes" }, -- Status bar theme
{ src = "https://github.com/vim-airline/vim-airline" }, -- Status bar
{ src = "https://github.com/rebelot/kanagawa.nvim" }, -- Theme
{ src = "https://github.com/mfussenegger/nvim-lint" }, -- Linter
{ src = "https://github.com/rachartier/tiny-inline-diagnostic.nvim" }, -- Inline diagnostics
{ src = "https://github.com/j-hui/fidget.nvim" }, -- LSP Status Popup
}
)
-- Airline
vim.cmd [[
let g:airline#extensions#tabline#enabled = 1
]]
-- Ctrl-P
require("mini.pick").setup()
require("mini.icons").setup()
require("mini.extra").setup()
-- Coverage
require("coverage").setup()
-- Lint
require("lint").linters_by_ft = {
sh = { "shellcheck" }
}
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
callback = function()
require("lint").try_lint()
end,
})
-- Theme
vim.cmd.colorscheme "kanagawa-dragon"
-- LSP
vim.lsp.enable({ "lua_ls", "ts_ls", "bashls", "yamlls" })
vim.lsp.config("lua_ls", {
settings = {
Lua = {
workspace = {
library = vim.api.nvim_get_runtime_file("", true),
}
}
}
})
-- Fidget
require("fidget").setup()
-- Diagnostic
require('tiny-inline-diagnostic').setup()
vim.diagnostic.config({ virtual_text = false })
+104
View File
@@ -0,0 +1,104 @@
{
"plugins": {
"fidget.nvim": {
"rev": "2cb5edb2dd6700a958a446b20bb2be04d318da9d",
"src": "https://github.com/j-hui/fidget.nvim"
},
"gitsigns.nvim": {
"rev": "b01433169be710d6c69f7b4ee264d9670698b831",
"src": "https://github.com/lewis6991/gitsigns.nvim"
},
"kanagawa.nvim": {
"rev": "debe91547d7fb1eef34ce26a5106f277fbfdd109",
"src": "https://github.com/rebelot/kanagawa.nvim"
},
"lazydev.nvim": {
"rev": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c",
"src": "https://github.com/folke/lazydev.nvim"
},
"mason.nvim": {
"rev": "9e25c98d4826998460926f8c5c2284848d80ae89",
"src": "https://github.com/mason-org/mason.nvim"
},
"mini.extra": {
"rev": "0dec9611833d058f9d2d48f6333b41631f5ef3b9",
"src": "https://github.com/echasnovski/mini.extra"
},
"mini.icons": {
"rev": "b8f6fa6f5a3fd0c56936252edcd691184e5aac0c",
"src": "https://github.com/echasnovski/mini.icons"
},
"mini.pick": {
"rev": "c8f4ff0251ccb8c6a993ee0dee4e06d9c21a4b99",
"src": "https://github.com/echasnovski/mini.pick"
},
"neoformat": {
"rev": "04264e941927ea24f2f5b092b7503cfe9e15c893",
"src": "https://github.com/sbdchd/neoformat"
},
"nvim": {
"rev": "702d15f269777b8261f3b8904fb0db35f37a1cd9",
"src": "https://github.com/catppuccin/nvim"
},
"nvim-coverage": {
"rev": "a939e425e363319d952a6c35fb3f38b34041ded2",
"src": "https://github.com/andythigpen/nvim-coverage"
},
"nvim-java": {
"rev": "083114902630de67dd82fda73892966748a1eb7c",
"src": "https://github.com/nvim-java/nvim-java"
},
"nvim-java-core": {
"rev": "401bf7683012a25929a359deec418f36beb876e2",
"src": "https://github.com/nvim-java/nvim-java-core"
},
"nvim-java-dap": {
"rev": "55f239532f7a3789d21ea68d1e795abc77484974",
"src": "https://github.com/nvim-java/nvim-java-dap"
},
"nvim-java-refactor": {
"rev": "b51a57d862338999059e1d1717df3bc80a3a15c0",
"src": "https://github.com/nvim-java/nvim-java-refactor"
},
"nvim-java-test": {
"rev": "7f0f40e9c5b7eab5096d8bec6ac04251c6e81468",
"src": "https://github.com/nvim-java/nvim-java-test"
},
"nvim-lint": {
"rev": "7ef127aaede2a4d5ad8df8321e2eb4e567f29594",
"src": "https://github.com/mfussenegger/nvim-lint"
},
"nvim-lspconfig": {
"rev": "4d3b3bb8815fbe37bcaf3dbdb12a22382bc11ebe",
"src": "https://github.com/neovim/nvim-lspconfig"
},
"plenary.nvim": {
"rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
"src": "https://github.com/nvim-lua/plenary.nvim"
},
"spring-boot.nvim": {
"rev": "a6a61c048238457b6a67ec408f4f4d72213fadca",
"src": "https://github.com/JavaHello/spring-boot.nvim"
},
"tiny-inline-diagnostic.nvim": {
"rev": "7dcf8542059fb15c978de845fc8665428ae13a04",
"src": "https://github.com/rachartier/tiny-inline-diagnostic.nvim"
},
"vim-airline": {
"rev": "5ca7f0b7fef4f174d57fd741b477bbbac0b7886a",
"src": "https://github.com/vim-airline/vim-airline"
},
"vim-airline-themes": {
"rev": "0e976956eb674db8a6f72fae4dda6d1277433660",
"src": "https://github.com/vim-airline/vim-airline-themes"
},
"vim-fugitive": {
"rev": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4",
"src": "https://github.com/tpope/vim-fugitive"
},
"vim-hybrid": {
"rev": "cc58baabeabc7b83768e25b852bf89c34756bf90",
"src": "https://github.com/w0ng/vim-hybrid"
}
}
}
+31
View File
@@ -0,0 +1,31 @@
[gcloud]
format = 'on [$symbol(\($project\))]($style) '
[docker_context]
disabled=true
[direnv]
disabled=true
[env_var.NEXT_PUBLIC_ENVIRONMENT_ID]
[dotnet]
disabled = true
[kubernetes]
disabled = false
[[kubernetes.contexts]]
context_pattern = "gke_lt-shipyard-lower_northamerica-northeast1_nane1-lower-gke1"
context_alias = "nane1"
style = "green"
[[kubernetes.contexts]]
context_pattern = "gke_lt-sre-shipyard_northamerica-northeast1_banting"
context_alias = "banting"
style = "red"
[[kubernetes.contexts]]
context_pattern = "gke_ld-shipyard_us-east1_bluenose"
context_alias = "bluenose"
style = "blue"
+23
View File
@@ -0,0 +1,23 @@
[user]
name = {{ .fullName | quote }}
email = {{ .email | quote }}
[push]
autoSetupRemote = true
[diff]
tool = bc3
[difftool "bc3"]
trustExitCode = true
[merge]
tool = bc3
[mergetool "bc3"]
trustExitCode = true
[pull]
rebase = true
[alias]
parent = "!git show-branch | grep '*' | grep -v \"$(git rev-parse --abbrev-ref HEAD)\" | head -n1 | sed 's/.*\\[\\(.*\\)\\].*/\\1/' | sed 's/[\\^~].*//' #"
[alias]
cop = "!f() { git checkout \"$(git parent)\"; }; f"
[alias]
children = "!f() { git branch -a --contains \"$(git rev-parse HEAD)\"; }; f"
[init]
defaultBranch = master
+2 -1
View File
@@ -1,9 +1,10 @@
set -g default-terminal "xterm-256color"
set -g default-terminal "tmux-256color"
set -g base-index 1
set -g set-titles on
set -g status-keys vi
# Faster Command Sequences
set -s escape-time 0
set-option -g focus-events on
set -g set-clipboard on
set -g history-limit 50000
-6
View File
@@ -1,6 +0,0 @@
{
"version": 1,
"cli": {
"analytics": false
}
}
-6
View File
@@ -1,6 +0,0 @@
[elixir]
disabled=true
[kubernetes]
disabled=false
# format = 'on [⛵ $context \($namespace\)](dimmed green) '
-35
View File
@@ -1,35 +0,0 @@
[user]
name = Vasili Svirydau
email = vasili.svirydau@sterlingcapitalbrokers.com
[push]
default = simple
[core]
editor = /usr/bin/vim
[merge]
tool = bcompare
[diff]
tool = bcompare
[mergetool "bcompare"]
trustExitCode = true
cmd = bcompare "$LOCAL" "$REMOTE" "$BASE" "$MERGED"
[mergetool "meld"]
cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
[difftool "bcompare"]
trustExitCode = true
cmd = bcompare \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
[alias]
ignore = "!gi() { curl -sL https://www.gitignore.io/api/$@ ;}; gi"
[rebase]
instructionFormat = (%an <%ae>) %s
[pull]
rebase = true
ff = only
-22
View File
@@ -1,22 +0,0 @@
# Beware! This file is rewritten every time htop exits.
# The parser is also very primitive, and not human-friendly.
# (I know, it's in the todo list).
fields=0 48 17 18 38 39 40 2 46 47 49 1
sort_key=47
sort_direction=1
hide_threads=0
hide_kernel_threads=1
hide_userland_threads=1
shadow_other_users=1
highlight_base_name=1
highlight_megabytes=1
highlight_threads=1
tree_view=1
header_margin=1
detailed_cpu_time=0
color_scheme=0
delay=15
left_meters=AllCPUs Memory Swap
left_meter_modes=1 1 1
right_meters=Tasks LoadAverage Uptime
right_meter_modes=2 2 2
-13
View File
@@ -1,13 +0,0 @@
#!/bin/bash
if [[ $SHELL =~ "bash" ]]; then
SIGIL="# Managed by dotfiles"
if ! grep "$SIGIL" ~/.bashrc > /dev/null; then
(
echo "$SIGIL"
echo "for f in $DOTFILES/bash.d/*.sh; do source \"\$f\"; done"
echo "unset f"
) >> ~/.bashrc
fi
fi
-7
View File
@@ -1,7 +0,0 @@
#!/bin/bash
if [[ "$OSTYPE" == "darwin"* ]]; then
if ! command -v brew > /dev/null; then
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi
fi
-7
View File
@@ -1,7 +0,0 @@
#!/bin/bash
if [[ "$OSTYPE" == "darwin"* ]]; then
if ! command -v reattach-to-user-namespace > /dev/null; then
brew install reattach-to-user-namespace
fi
fi
-18
View File
@@ -1,18 +0,0 @@
#!/bin/bash
if ! command -v shellcheck > /dev/null; then
did_install=0
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
sudo apt update > /dev/null && sudo apt install shellcheck > /dev/null;
did_install=1
elif [[ "$OSTYPE" == "darwin"* ]]; then
brew install shellcheck
did_install=1
fi
if [[ "$did_install" == 1 ]]; then
echo "Installed Shellcheck"
else
echo "Did NOT install Shellcheck"
fi
fi
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
if ! command -v /usr/local/bin/starship > /dev/null; then
curl -fsSL https://starship.rs/install.sh | bash
fi
-8
View File
@@ -1,8 +0,0 @@
#!/bin/bash
if ! test -d ~/.asdf; then
echo "Cloning asdf-vm"
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.8.0
fi
-21
View File
@@ -1,21 +0,0 @@
#!/bin/bash
DOTFILES=$( cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd || return)
GITCONFIG="${DOTFILES}/bash.d/10-gitconfig.local.sh"
if [[ -z "${GIT_AUTHOR_NAME}" ]]; then
read -p 'Git Author Name: ' GIT_AUTHOR_NAME
fi
if [[ -z "${GIT_AUTHOR_EMAIL}" ]]; then
read -p 'Git Author Email: ' GIT_AUTHOR_EMAIL
fi
cat > "$GITCONFIG" <<EOL
#!/bin/bash
export GIT_AUTHOR_NAME="${GIT_AUTHOR_NAME}"
export GIT_AUTHOR_EMAIL="${GIT_AUTHOR_EMAIL}"
EOL
unset GIT_AUTHOR_NAME
unset GIT_AUTHOR_EMAIL
-55
View File
@@ -1,55 +0,0 @@
#!/bin/bash
OLD_PWD=$PWD
timestamp=$(date '+%m%d%Y%H%M')
function finish {
cd "$OLD_PWD" || exit;
}
trap finish EXIT
function overlay {
local source="$1"
local prefix="$2"
cd "$source" || exit;
find . -maxdepth 1 -type f -printf "%f\0" | while IFS= read -r -d $'\0' P; do
local target="${prefix}/${P}"
local backup="${prefix}/${P}.orig.${timestamp}"
# echo "$PWD/$P" "->" "$target"
# skip existing links
if [ -h "$target" ]; then continue; fi
# move existing dir out of the way
if [ -e "$target" ]; then
if [ -e "$backup" ]; then
echo "want to override $target but backup exists"
continue;
fi
echo -n "Backup ${P}"
mv -v "$target" "$backup"
fi
# create link
ln -v -s "$PWD/$P" "$target"
# ensure permissions
chmod -R o-rwx,g-rwx "$target"
done
}
# From aaronjensen/dotfiles
DOTFILES=$( cd "$(dirname "${BASH_SOURCE[0]}")" && pwd || return)
overlay "$DOTFILES/dotfiles" "$HOME"
overlay "$DOTFILES/dotfiles/.config" "$HOME/.config"
# shellcheck source=/dev/null
for f in "$DOTFILES/setup.d/"*.sh; do source "$f"; done
unset f;