diff --git a/NERDTreeBookmarks b/NERDTreeBookmarks index abbbc68..8678a7a 100644 --- a/NERDTreeBookmarks +++ b/NERDTreeBookmarks @@ -1,12 +1,12 @@ dl ~/Downloads dotfiles ~/dotfiles Downloads ~/Downloads -root ~ +root ~/ tm ~/Documents/workspace_tm obc ~/Documents/workspace_tm/obc -tix ~/Documents/workspace_tm/amadeus_api private ~/Documents/workspace_private +tix ~/Documents/workspace_tm/amadeus_api dropbox ~/Dropbox active ~/Documents/workspace_active archive ~/Documents/workspace_archive diff --git a/README.md b/README.md index 98f0bca..f9a185f 100644 --- a/README.md +++ b/README.md @@ -30,3 +30,6 @@ zlorfi's dotfiles * [TablePlus](https://tableplus.com/download) * Tunnelblick * Visual Studio Code + * install fish extension manager `curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher` + * add bass `fisher add edc/bass` + * install nvm `curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash` diff --git a/config/configstore/update-notifier-cordova.json b/config/configstore/update-notifier-cordova.json new file mode 100644 index 0000000..d910e17 --- /dev/null +++ b/config/configstore/update-notifier-cordova.json @@ -0,0 +1,4 @@ +{ + "optOut": false, + "lastUpdateCheck": 1634293619280 +} \ No newline at end of file diff --git a/config/configstore/update-notifier-json-server.json b/config/configstore/update-notifier-json-server.json new file mode 100644 index 0000000..2302d48 --- /dev/null +++ b/config/configstore/update-notifier-json-server.json @@ -0,0 +1,4 @@ +{ + "optOut": false, + "lastUpdateCheck": 1619531588150 +} \ No newline at end of file diff --git a/config/configstore/update-notifier-npm.json b/config/configstore/update-notifier-npm.json index 300756d..8936aa2 100644 --- a/config/configstore/update-notifier-npm.json +++ b/config/configstore/update-notifier-npm.json @@ -1,4 +1,4 @@ { "optOut": false, - "lastUpdateCheck": 1601886383398 + "lastUpdateCheck": 1634547408915 } \ No newline at end of file diff --git a/config/fish/completions/fisher.fish b/config/fish/completions/fisher.fish new file mode 100644 index 0000000..6d23ce4 --- /dev/null +++ b/config/fish/completions/fisher.fish @@ -0,0 +1,7 @@ +complete --command fisher --exclusive --long help --description "Print help" +complete --command fisher --exclusive --long version --description "Print version" +complete --command fisher --exclusive --condition __fish_use_subcommand --arguments install --description "Install plugins" +complete --command fisher --exclusive --condition __fish_use_subcommand --arguments update --description "Update installed plugins" +complete --command fisher --exclusive --condition __fish_use_subcommand --arguments remove --description "Remove installed plugins" +complete --command fisher --exclusive --condition __fish_use_subcommand --arguments list --description "List installed plugins matching regex" +complete --command fisher --exclusive --condition "__fish_seen_subcommand_from update remove" --arguments "(fisher list)" diff --git a/config/fish/conf.d/omf.fish b/config/fish/conf.d/omf.fish new file mode 100644 index 0000000..3e0f6d6 --- /dev/null +++ b/config/fish/conf.d/omf.fish @@ -0,0 +1,7 @@ +# Path to Oh My Fish install. +set -q XDG_DATA_HOME + and set -gx OMF_PATH "$XDG_DATA_HOME/omf" + or set -gx OMF_PATH "$HOME/.local/share/omf" + +# Load Oh My Fish configuration. +source $OMF_PATH/init.fish diff --git a/config/fish/config.fish b/config/fish/config.fish index ed230d7..f05b065 100644 --- a/config/fish/config.fish +++ b/config/fish/config.fish @@ -28,6 +28,11 @@ set -x LANG 'en_US.UTF-8' # define GOPATH set -x -U GOPATH $HOME/Documents/workspace_go +# definde Android SDK +set -x -U ANDROID_SDK_ROOT $HOME/Library/Android/sdk +# set -x -U JAVA_HOME /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home +# set -x -U JAVA_HOME /Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home + # setting GPG set GPG_TTY /dev/ttys001 @@ -58,18 +63,18 @@ if status --is-interactive abbr --add bxrc 'bundle exec rails c' abbr --add bxrs 'bundle exec rails s' abbr --add cloud 'cd ~/Library/Mobile\ Documents/com~apple~CloudDocs' - abbr --add pg_start 'pg_ctl -D /usr/local/var/postgresql@9.5 start' - abbr --add pg_stop 'pg_ctl -D /usr/local/var/postgresql@9.5 stop' + abbr --add pg_start 'pg_ctl -D /usr/local/var/postgresql@11 start' + abbr --add pg_stop 'pg_ctl -D /usr/local/var/postgresql@11 stop' abbr --add k 'kubectl' end # disable login greeting set fish_greeting '' -# set -g fish_user_paths "/usr/local/opt/node@10/bin" $fish_user_paths +# set -g fish_user_paths "/usr/local/opt/node@14/bin" $fish_user_paths set -g fish_user_paths "/usr/local/sbin" $fish_user_paths # add kitty support # kitty + complete setup fish | source -set -g fish_user_paths "/usr/local/opt/postgresql@9.5/bin" $fish_user_paths +set -g fish_user_paths "/usr/local/opt/postgresql@11/bin" $fish_user_paths set -g fish_user_paths "/usr/local/opt/imagemagick@6/bin" $fish_user_paths diff --git a/config/fish/fish_plugins b/config/fish/fish_plugins new file mode 100644 index 0000000..594dfc0 --- /dev/null +++ b/config/fish/fish_plugins @@ -0,0 +1 @@ +jorgebucaran/fisher diff --git a/config/fish/fish_variables b/config/fish/fish_variables index 716d46d..8c2aeb0 100644 --- a/config/fish/fish_variables +++ b/config/fish/fish_variables @@ -1,7 +1,9 @@ # This file contains fish universal variable definitions. # VERSION: 3.0 +SETUVAR --export ANDROID_SDK_ROOT:/Users/michi/Library/Android/sdk SETUVAR EDITOR:vim SETUVAR --export --path GOPATH:/Users/michi/Documents/workspace_go +SETUVAR --export JAVA_HOME:/Library/Internet\x20Plug\x2dIns/JavaAppletPlugin\x2eplugin/Contents/Home SETUVAR --export LANG:en_US\x2eUTF\x2d8 SETUVAR --export LC_ALL:en_US\x2eUTF\x2d8 SETUVAR __fish_classic_git_prompt_initialized:\x1d @@ -31,11 +33,13 @@ SETUVAR _fish_abbr_gst:git\x20status SETUVAR _fish_abbr_gup:git\x20fetch\x20\x26\x26\x20git\x20rebase SETUVAR _fish_abbr_k:kubectl SETUVAR _fish_abbr_obc:cd\x20\x7e/Documents/workspace_tm/obc -SETUVAR _fish_abbr_pg__start:pg_ctl\x20\x2dD\x20/usr/local/var/postgresql\x409\x2e5\x20start -SETUVAR _fish_abbr_pg__stop:pg_ctl\x20\x2dD\x20/usr/local/var/postgresql\x409\x2e5\x20stop +SETUVAR _fish_abbr_pg__start:pg_ctl\x20\x2dD\x20/usr/local/var/postgresql\x4011\x20start +SETUVAR _fish_abbr_pg__stop:pg_ctl\x20\x2dD\x20/usr/local/var/postgresql\x4011\x20stop SETUVAR _fish_abbr_tix:cd\x20\x7e/Documents/workspace_tm/amadeus_api/ SETUVAR _fish_abbr_wgo:cd\x20\x7e/Documents/workspace_go/src SETUVAR _fish_abbr_wtm:cd\x20\x7e/Documents/workspace_tm +SETUVAR _fisher_jorgebucaran_2F_fisher_files:/Users/michi/\x2econfig/fish/functions/fisher\x2efish\x1e/Users/michi/\x2econfig/fish/completions/fisher\x2efish +SETUVAR _fisher_plugins:jorgebucaran/fisher SETUVAR fish_color_autosuggestion:93a1a1 SETUVAR fish_color_cancel:\x2dr SETUVAR fish_color_command:586e75 diff --git a/config/fish/functions/fish_prompt.1633071929.copy b/config/fish/functions/fish_prompt.1633071929.copy new file mode 100644 index 0000000..9bb0617 --- /dev/null +++ b/config/fish/functions/fish_prompt.1633071929.copy @@ -0,0 +1,52 @@ +function _git_branch_name + echo (git symbolic-ref HEAD 2> /dev/null | sed -e 's|^refs/heads/||') +end + +function _is_git_dirty + echo (git status -s --ignore-submodules=dirty 2> /dev/null) +end + +function _rb_prompt + echo (rbenv version | awk '{print $1}') +end + +function _kb_context + kubectl config current-context 2> /dev/null + if [ (test $status -eq 0) ] + echo (kubectl config current-context | awk '{print $1}') + end +end + +function fish_prompt + set -l cyan (set_color -o cyan) + set -l magenta (set_color -o magenta) + set -l yellow (set_color -o yellow) + set -l red (set_color -o red) + set -l blue (set_color -o blue) + set -l normal (set_color normal) + + set -l arrow "$magenta↪ $normal" + # set -l arrow "$red↪ $normal" + set -l cwd $cyan(pwd|sed "s=$HOME=~=") + + if [ (_kb_context) ] + set -l kb_context $yellow(_kb_context) + set kube_context "|$kb_context" + end + + set -l ruby_version $magenta(_rb_prompt) + set -l ruby_version "[$ruby_version$normal$kube_context$normal] in " + + if [ (_git_branch_name) ] + set -l git_branch $red(_git_branch_name) + set git_info "$normal on $blue$git_branch$blue" + + if [ (_is_git_dirty) ] + set -l dirty "$yellow ✗" + set git_info "$git_info$dirty" + end + end + + echo -s $ruby_version $cwd $git_info $normal \n $arrow " " +end + diff --git a/config/fish/functions/fish_prompt.fish b/config/fish/functions/fish_prompt.fish index 8f043aa..9bb0617 100644 --- a/config/fish/functions/fish_prompt.fish +++ b/config/fish/functions/fish_prompt.fish @@ -1,9 +1,9 @@ function _git_branch_name - echo (git symbolic-ref HEAD ^/dev/null | sed -e 's|^refs/heads/||') + echo (git symbolic-ref HEAD 2> /dev/null | sed -e 's|^refs/heads/||') end function _is_git_dirty - echo (git status -s --ignore-submodules=dirty ^/dev/null) + echo (git status -s --ignore-submodules=dirty 2> /dev/null) end function _rb_prompt diff --git a/config/fish/functions/fisher.fish b/config/fish/functions/fisher.fish new file mode 100644 index 0000000..a1fb6cf --- /dev/null +++ b/config/fish/functions/fisher.fish @@ -0,0 +1,209 @@ +function fisher --argument-names cmd --description "A plugin manager for Fish" + set --query fisher_path || set --local fisher_path $__fish_config_dir + set --local fisher_version 4.3.0 + set --local fish_plugins $__fish_config_dir/fish_plugins + + switch "$cmd" + case -v --version + echo "fisher, version $fisher_version" + case "" -h --help + echo "Usage: fisher install Install plugins" + echo " fisher remove Remove installed plugins" + echo " fisher update Update installed plugins" + echo " fisher update Update all installed plugins" + echo " fisher list [] List installed plugins matching regex" + echo "Options:" + echo " -v or --version Print version" + echo " -h or --help Print this help message" + case ls list + string match --entire --regex -- "$argv[2]" $_fisher_plugins + case install update remove + isatty || read --local --null --array stdin && set --append argv $stdin + + set --local install_plugins + set --local update_plugins + set --local remove_plugins + set --local arg_plugins $argv[2..-1] + set --local old_plugins $_fisher_plugins + set --local new_plugins + + if ! set --query argv[2] + if test "$cmd" != update + echo "fisher: Not enough arguments for command: \"$cmd\"" >&2 && return 1 + else if test ! -e $fish_plugins + echo "fisher: \"$fish_plugins\" file not found: \"$cmd\"" >&2 && return 1 + end + set arg_plugins (string match --regex -- '^[^\s]+$' <$fish_plugins) + end + + for plugin in $arg_plugins + test -e "$plugin" && set plugin (realpath $plugin) + contains -- "$plugin" $new_plugins || set --append new_plugins $plugin + end + + if set --query argv[2] + for plugin in $new_plugins + if contains -- "$plugin" $old_plugins + test "$cmd" = remove && + set --append remove_plugins $plugin || + set --append update_plugins $plugin + else if test "$cmd" = install + set --append install_plugins $plugin + else + echo "fisher: Plugin not installed: \"$plugin\"" >&2 && return 1 + end + end + else + for plugin in $new_plugins + contains -- "$plugin" $old_plugins && + set --append update_plugins $plugin || + set --append install_plugins $plugin + end + + for plugin in $old_plugins + contains -- "$plugin" $new_plugins || set --append remove_plugins $plugin + end + end + + set --local pid_list + set --local source_plugins + set --local fetch_plugins $update_plugins $install_plugins + echo (set_color --bold)fisher $cmd version $fisher_version(set_color normal) + + for plugin in $fetch_plugins + set --local source (command mktemp -d) + set --append source_plugins $source + + command mkdir -p $source/{completions,conf.d,functions} + + fish --command " + if test -e $plugin + command cp -Rf $plugin/* $source + else + set temp (command mktemp -d) + set name (string split \@ $plugin) || set name[2] HEAD + set url https://codeload.github.com/\$name[1]/tar.gz/\$name[2] + + echo Fetching (set_color --underline)\$url(set_color normal) + + if curl --silent \$url | tar -xzC \$temp -f - 2>/dev/null + command cp -Rf \$temp/*/* $source + else + echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2 + command rm -rf $source + end + command rm -rf \$temp + end + + set files $source/* && string match --quiet --regex -- .+\.fish\\\$ \$files + " & + + set --append pid_list (jobs --last --pid) + end + + wait $pid_list 2>/dev/null + + for plugin in $fetch_plugins + if set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] && test ! -e $source + if set --local index (contains --index -- "$plugin" $install_plugins) + set --erase install_plugins[$index] + else + set --erase update_plugins[(contains --index -- "$plugin" $update_plugins)] + end + end + end + + for plugin in $update_plugins $remove_plugins + if set --local index (contains --index -- "$plugin" $_fisher_plugins) + set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files + + if contains -- "$plugin" $remove_plugins + for name in (string replace --filter --regex -- '.+/conf\.d/([^/]+)\.fish$' '$1' $$plugin_files_var) + emit {$name}_uninstall + end + printf "%s\n" Removing\ (set_color red --bold)$plugin(set_color normal) " "$$plugin_files_var + end + + command rm -rf $$plugin_files_var + functions --erase (string replace --filter --regex -- '.+/functions/([^/]+)\.fish$' '$1' $$plugin_files_var) + + for name in (string replace --filter --regex -- '.+/completions/([^/]+)\.fish$' '$1' $$plugin_files_var) + complete --erase --command $name + end + + set --erase _fisher_plugins[$index] + set --erase $plugin_files_var + end + end + + if set --query update_plugins[1] || set --query install_plugins[1] + command mkdir -p $fisher_path/{functions,conf.d,completions} + end + + for plugin in $update_plugins $install_plugins + set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] + set --local files $source/{functions,conf.d,completions}/* + + if set --local index (contains --index -- $plugin $install_plugins) + set --local user_files $fisher_path/{functions,conf.d,completions}/* + set --local conflict_files + + for file in (string replace -- $source/ $fisher_path/ $files) + contains -- $file $user_files && set --append conflict_files $file + end + + if set --query conflict_files[1] && set --erase install_plugins[$index] + echo -s "fisher: Cannot install \"$plugin\": please remove or move conflicting files first:" \n" "$conflict_files >&2 + continue + end + end + + for file in (string replace -- $source/ "" $files) + command cp -Rf $source/$file $fisher_path/$file + end + + set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files + set --query files[1] && set --universal $plugin_files_var (string replace -- $source $fisher_path $files) + + contains -- $plugin $_fisher_plugins || set --universal --append _fisher_plugins $plugin + contains -- $plugin $install_plugins && set --local event install || set --local event update + + printf "%s\n" Installing\ (set_color --bold)$plugin(set_color normal) " "$$plugin_files_var + + for file in (string match --regex -- '.+/[^/]+\.fish$' $$plugin_files_var) + source $file + if set --local name (string replace --regex -- '.+conf\.d/([^/]+)\.fish$' '$1' $file) + emit {$name}_$event + end + end + end + + command rm -rf $source_plugins + + set --query _fisher_plugins[1] || set --erase _fisher_plugins + set --query _fisher_plugins && + printf "%s\n" $_fisher_plugins >$fish_plugins || + command rm -f $fish_plugins + + set --local total (count $install_plugins) (count $update_plugins) (count $remove_plugins) + test "$total" != "0 0 0" && echo (string join ", " ( + test $total[1] = 0 || echo "Installed $total[1]") ( + test $total[2] = 0 || echo "Updated $total[2]") ( + test $total[3] = 0 || echo "Removed $total[3]") + ) plugin/s + case \* + echo "fisher: Unknown command: \"$cmd\"" >&2 && return 1 + end +end + +## Migrations ## +function _fisher_fish_postexec --on-event fish_postexec + if functions --query _fisher_list + fisher update >/dev/null 2>/dev/null + set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share + test -e $XDG_DATA_HOME/fisher && command rm -rf $XDG_DATA_HOME/fisher + functions --erase _fisher_list _fisher_plugin_parse + set --erase fisher_data + end + functions --erase _fisher_fish_postexec +end diff --git a/config/fish/functions/nvm.fish b/config/fish/functions/nvm.fish new file mode 100644 index 0000000..b21732f --- /dev/null +++ b/config/fish/functions/nvm.fish @@ -0,0 +1,3 @@ +function nvm + bass source ~/.nvm/nvm.sh --no-use ';' nvm $argv +end diff --git a/config/nvim/init.vim b/config/nvim/init.vim new file mode 100644 index 0000000..f182e5b --- /dev/null +++ b/config/nvim/init.vim @@ -0,0 +1,3 @@ +set runtimepath^=~/.vim runtimepath+=~/.vim/after +let &packpath = &runtimepath +source ~/.vimrc diff --git a/config/omf/bundle b/config/omf/bundle new file mode 100644 index 0000000..70a9366 --- /dev/null +++ b/config/omf/bundle @@ -0,0 +1,2 @@ +package bass +theme default diff --git a/config/omf/channel b/config/omf/channel new file mode 100644 index 0000000..2bf5ad0 --- /dev/null +++ b/config/omf/channel @@ -0,0 +1 @@ +stable diff --git a/config/omf/theme b/config/omf/theme new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/config/omf/theme @@ -0,0 +1 @@ +default diff --git a/gitconfig b/gitconfig index 4355f1d..2311f2d 100644 --- a/gitconfig +++ b/gitconfig @@ -18,10 +18,10 @@ [gpg] program = gpg2 [difftool "sourcetree"] - cmd = opendiff \"$LOCAL\" \"$REMOTE\" + cmd = /usr/local/bin/ksdiff -w \"$LOCAL\" \"$REMOTE\" path = [mergetool "sourcetree"] - cmd = /Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\" + cmd = /usr/local/bin/ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot trustExitCode = true [commit] template = /Users/michi/dotfiles/gitmessage diff --git a/gvimrc b/gvimrc index 8df3c14..30110e9 100644 --- a/gvimrc +++ b/gvimrc @@ -1,7 +1,7 @@ " Copy to ~/.gvimrc or ~/_gvimrc. " set guifont=Source\ Code\ Pro\ for\ Powerline:h14 "make sure to escape the spaces in the name properly -set guifont=SauceCodePro\ Nerd\ Font\ Mono:h14 "make sure to escape the spaces in the name properly +set guifont=SauceCodePro\ Nerd\ Font\ Mono:h16 "make sure to escape the spaces in the name properly set antialias " MacVim: smooth fonts. set encoding=utf-8 " Use UTF-8 everywhere. set guioptions-=T " Hide toolbar. diff --git a/make_my_dotfiles.sh b/make_my_dotfiles.sh index 13f188b..63d95a2 100755 --- a/make_my_dotfiles.sh +++ b/make_my_dotfiles.sh @@ -3,12 +3,11 @@ # some variables _fish_shell="/usr/local/bin/fish" _homebrew=`which brew` -_to_install="the_silver_searcher imagemagick postgresql@9.5 pgcli rbenv redis ruby-build \ - tmux yasm youtube-dl elixir git git-flow vim fish emacs node yarn \ - azure-cli octant openssl fzf kubectl" +_to_install="the_silver_searcher imagemagick postgresql pgcli rbenv redis ruby-build tmux yasm youtube-dl elixir \ + git git-flow vim fish yarn azure-cli lens openssl fzf kubectl" # Generate symlinks for files -for i in gemrc gitconfig gitmessage gitignore gvimrc irbrc mongorc.js NERDTreeBookmarks rspec screenrc tmux.conf vimrc rubocop.yml spacemacs +for i in gemrc gitconfig gitmessage gitignore gvimrc irbrc NERDTreeBookmarks rspec screenrc tmux.conf vimrc rubocop.yml prettierrc do if [ ! -f $HOME/.$i ] then diff --git a/mongorc.js b/mongorc.js deleted file mode 100644 index e629dc2..0000000 --- a/mongorc.js +++ /dev/null @@ -1,17 +0,0 @@ -replicaset_conf = { - _id: 'demo-dev', - members: [ - { - _id: 0, - host: '127.0.0.1:27001' - }, - { - _id: 1, - host: '127.0.0.1:27002' - }, - { - _id: 2, - host: '127.0.0.1:27003' - } - ] -} diff --git a/prettierrc b/prettierrc new file mode 100644 index 0000000..49955e2 --- /dev/null +++ b/prettierrc @@ -0,0 +1,5 @@ +{ + "semi": false, + "singleQuote": true, + "trailingComma": "none" +} diff --git a/settings.json b/settings.json index ffce6fe..b503346 100644 --- a/settings.json +++ b/settings.json @@ -1,12 +1,8 @@ { - "telemetry.enableCrashReporter": false, - "telemetry.enableTelemetry": false, - "workbench.colorTheme": "Spacemacs - dark", - "window.zoomLevel": 0, "go.formatTool": "goimports", "go.useLanguageServer": true, "editor.fontSize": 16, - "editor.fontFamily": "SauceCodePro Nerd Font Mono", + "editor.fontFamily": "\"cascadia code\"", "git.autofetch": true, "git.autofetchPeriod": 3600, "git.autoStash": true, @@ -17,10 +13,44 @@ "update.showReleaseNotes": false, "files.trimTrailingWhitespace": true, "extensions.ignoreRecommendations": false, - "terminal.integrated.shell.osx": "/usr/local/bin/fish", - "editor.minimap.enabled": false, "explorer.confirmDragAndDrop": false, "editor.tabSize": 2, "javascript.updateImportsOnFileMove.enabled": "always", - "scm.defaultViewMode": "tree" + "scm.defaultViewMode": "tree", + "todo-tree.general.tags": [ + "BUG", + "HACK", + "FIXME", + "TODO", + "XXX", + "[ ]", + "[x]" + ], + "todo-tree.regex.regex": "(//|#|