From 2e67ecc3cb85b06b21227f613b9f996c50027224 Mon Sep 17 00:00:00 2001 From: MorganGeek Date: Sun, 1 Dec 2019 12:01:19 +0100 Subject: [PATCH] Improvements :-) ... --- Brewfile | 6 ++++ dot_ansiweatherrc | 10 ++++++ dot_gitconfig | 2 ++ dot_scripts/bootstrap.sh | 74 ++++++++++++++++++++++++++++------------ dot_scripts/installed.sh | 2 ++ dot_scripts/version.sh | 3 ++ dot_vimrc | 3 ++ dot_zsh_aliases | 6 +++- dot_zsh_functions | 6 ++++ 9 files changed, 89 insertions(+), 23 deletions(-) create mode 100644 dot_ansiweatherrc create mode 100644 dot_scripts/installed.sh diff --git a/Brewfile b/Brewfile index f483b10..b30c531 100644 --- a/Brewfile +++ b/Brewfile @@ -35,6 +35,8 @@ cask "vagrant" cask "virtualbox" # Arduino cask "arduino" +cask "koa11y" # desktop app for asserting websites accessibility +cask "osxfuse" # telepresence https://www.telepresence.io/reference/install # Mac app store mas 'Keynote', id: 409183694 @@ -129,3 +131,7 @@ brew "ktlint" # kotlin linter brew "cmake" # compiler, was needed for compiling YouCompleteMe, see https://github.com/ycm-core/YouCompleteMe brew "zola" # a simple and fast static site generator brew "rustup" # Install Rust +brew "jq" # add jq utility for parsing json +brew "octant" # k8s cluster viewer +brew "datawire/blackbird/telepresence" # telepresence https://www.telepresence.io/reference/install +brew "ansiweather" # https://github.com/fcambus/ansiweather diff --git a/dot_ansiweatherrc b/dot_ansiweatherrc new file mode 100644 index 0000000..e4f5f46 --- /dev/null +++ b/dot_ansiweatherrc @@ -0,0 +1,10 @@ +location:Gembloux,BE +units:metric +wind_text:Vent +sunrise_text:Lever du soleil +sunset_text:Coucher de soleil +greeting_text:Météo de +humidity_text:Humidité +pressure_text:Pression +forecast_text:Prévisions +background:\033[35m diff --git a/dot_gitconfig b/dot_gitconfig index c1be879..f16a29c 100644 --- a/dot_gitconfig +++ b/dot_gitconfig @@ -30,3 +30,5 @@ pager = diff-so-fancy | less --tabs=4 -RFX [diff] noprefix = true +[init] + templatedir = ~/.git-templates diff --git a/dot_scripts/bootstrap.sh b/dot_scripts/bootstrap.sh index bef9688..eb18596 100755 --- a/dot_scripts/bootstrap.sh +++ b/dot_scripts/bootstrap.sh @@ -1,4 +1,8 @@ # Make sure Code directory exists + +echo "Hello $(whoami)! Let's get you set up." + +echo "mkdir -p $(HOME)/Code" mkdir -p ~/Code ln -snf ~/Code/dotfiles/dot_scripts ~/.scripts chmod +x ~/.scripts/*.sh @@ -6,7 +10,7 @@ chmod +x ~/.scripts/*.sh # Install missing package (Linux) case "$(uname -s)" in Linux) - echo 'Linux' + echo "(Linux) Installing Development Tools" yum install sudo -y sudo yum groupinstall 'Development Tools' -y sudo yum install git which zip unzip ruby curl file docker gcc make libxcrypt-compat vim-enhanced -y @@ -15,28 +19,29 @@ esac # Install HomeBrew case "$(uname -s)" in - Darwin) - echo 'Mac OS X' + echo "(Mac OS X) installing homebrew" /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ;; Linux) - echo 'Linux' + echo "(Linux) installing homebrew" git clone https://github.com/Homebrew/brew ~/.linuxbrew/Homebrew mkdir -p ~/.linuxbrew/bin ln -snf ../Homebrew/bin/brew ~/.linuxbrew/bin - eval $(~/.linuxbrew/bin/brew shellenv) + eval "$(~/.linuxbrew/bin/brew shellenv)" ;; *) - echo 'Non supported OS' + echo 'Homebrew installation aborted : Non supported OS' exit ;; esac # Prevent `Error: Your Homebrew is outdated. Please run `brew update`.` +echo "Updating Homebrew" brew update # Create symbolic links +echo "Creating symbolic links" ln -snf ~/.local/share/chezmoi/ ~/dotfiles ln -snf ~/Code/dotfiles/Brewfile ~/Brewfile ln -snf ~/Code/dotfiles/Gemfile ~/Gemfile @@ -54,36 +59,44 @@ ln -snf ~/Code/dotfiles/private_dot_ssh/config ~/.ssh/config ln -snf ~/Code/dotfiles/requirements.txt ~/requirements.txt ln -snf ~/Code/dotfiles/dot_surfraw.conf ~/.surfraw.conf ln -snf ~/Code/dotfiles/private_dot_3llo/config.sh ~/.3llo_config +ln -snf ~/Code/dotfiles/dot_ansiweatherrc ~/.ansiweatherrc # Other symblinks + Install Docker Desktop for Mac case "$(uname -s)" in Darwin) - ln -snf ~/.config/Code/User/settings.json "~/Library/Application Support/Code/User/settings.json" - ln -snf "~/Library/Mobile Documents/com~apple~CloudDocs/Mackup/Library/Application Support/Code/User/snippets" "~/Library/Application Support/Code/User/snippets" - ln -snf "~/Library/Mobile Documents/com~apple~CloudDocs/Mackup/.mackup.cfg" ~/.mackup.cfg + echo "(Mac OS X) Adding symbolic links" + ln -snf "$HOME/.config/Code/User/settings.json" "$HOME/Library/Application Support/Code/User/settings.json" + ln -snf "$HOME/Library/Mobile Documents/com~apple~CloudDocs/Mackup/Library/Application Support/Code/User/snippets" "$HOME/Library/Application Support/Code/User/snippets" + ln -snf "$HOME/Library/Mobile Documents/com~apple~CloudDocs/Mackup/.mackup.cfg" "$HOME/.mackup.cfg" + echo "(Mac OS X) Installing Docker" ~/.scripts/install_docker_for_mac.sh ;; esac # Install dependencies (apps, fonts, ...) with Brew +echo "Brew installing stuff (apps, fonts, ...)" brew bundle # Switch to ZSH -echo "$(which zsh)" >> /etc/shells -chsh -s "$(which zsh)" +echo "switching to ZSH" +command -v zsh >> /etc/shells +chsh -s "$(command -v zsh)" # Use SDKMan to install development tools +echo "Installing SDKMan as development tools manager" curl -s "https://get.sdkman.io" | bash + +echo "SDKMan installing development tools" sdk install java sdk install gradle sdk install java 8.0.222-zulu sdk install kotlin +echo "SDKMan updating" sdk selfupdate -# Install Docker Desktop for Mac case "$(uname -s)" in Linux) - echo 'Install ruby on Linux' + echo '(Linux) Installing ruby' curl -sSL https://rvm.io/mpapis.asc | gpg2 --import - curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import - curl -L get.rvm.io | bash -s stable @@ -95,10 +108,12 @@ case "$(uname -s)" in esac # Install bundler for managing ruby dependencies and Gemfile +echo "Installing bundler for managing ruby dependencies and Gemfile" sudo gem install bundler bundle install # Install Oh My Zsh and some cool dependencies +echo "Installing Oh My Zsh + customizing themes and plugins" sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k git clone https://github.com/AlexisBRENON/oh-my-zsh-reminder ~/.oh-my-zsh/custom/plugins/reminder @@ -107,43 +122,51 @@ git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/p ln -snf ~/Code/dotfiles/dot_zshrc ~/.zshrc ln -snf ~/Code/dotfiles/dot_zshrc.pre-oh-my-zsh ~/.zshrc.pre-oh-my-zsh +echo "Installing Vundle + VIM Plugins" git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim vim +PluginInstall +qall -cd ~/.vim/bundle/YouCompleteMe -./install.py --clang-completer -cd ~/ - +#https://github.com/ycm-core/YouCompleteMe/blob/master/README.md#installation +cd "$HOME/.vim/bundle/YouCompleteMe" || exit +./install.py --all +cd "$HOME" || exit git clone https://github.com/dbeniamine/cheat.sh-vim.git ~/.vim/cheat.sh-vim # Install no-more-secrets +echo "Installing no-more-secrets (for fun)" git clone https://github.com/bartobri/no-more-secrets.git ~/Code/no-more-secrets -cd ~/Code/no-more-secrets +cd "$HOME/Code/no-more-secrets" || exit make nms sneakers sudo make install -cd ~/ +cd "$HOME" || exit # OSX Defaults case "$(uname -s)" in Darwin) + echo "(Mac OS X) Loading preferences" sudo sh .macos ;; esac # Customize /etc/hosts +echo "Overriding /etc/hosts" curl https://someonewhocares.org/hosts/hosts -o /etc/hosts # Install pip and pipenv +echo "Installing pip and pipenv" sudo easy_install pip sudo pip install --upgrade pip curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py sudo python3 get-pip.py case "$(uname -s)" in Darwin) + echo "(Mac OS X) Updating PATH for loading pip user installed packages" ln -snf /usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/bin/pip pip3 export PATH="$PATH:/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/bin/:/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/bin" ;; esac +echo "Upgrading pip" sudo pip install --upgrade pip +echo "Pip installing stuff" pip install -r requirements.txt # was used for some slack cli in python... https://pypi.org/project/slack-cli/ @@ -153,25 +176,32 @@ pip install -r requirements.txt # Install baton (CLI to manage Spotify playback) https://github.com/joshuathompson/baton case "$(uname -s)" in Darwin) - echo 'Mac OS X' + echo '(Mac OS X) Installing baton (spotify CLI)' curl -sSL https://github.com/joshuathompson/baton/releases/download/0.1.7/baton-0.1.7-darwin-amd64 -o /usr/local/bin/baton && chmod +x /usr/local/bin/baton ;; Linux) - echo 'Linux' + echo '(Linux) Installing baton (spotify CLI)' curl -sSL https://github.com/joshuathompson/baton/releases/download/0.1.7/baton-0.1.7-linux-amd64 -o /usr/local/bin/baton && chmod +x /usr/local/bin/baton ;; *) - echo 'Non supported OS' + echo 'Non supported OS : Installation aborted for baton (spotify CLI)' exit ;; esac # Use rustup to install the Rust compiler (rustc) and the Rust package manager (cargo). +echo "Installing Rust compiler and package manager" rustup-init -y +rustup component add rustfmt +# Install pa11y tool for local webpage accessibility analysis +echo "Installing pa11y tool for local webpage accessibility analysis" +npm install -g pa11y # Upgrade +echo "Upgrading apps" ~/.scripts/upgrade.sh # Reload +echo "Reloading config" ~/.scripts/reload.sh diff --git a/dot_scripts/installed.sh b/dot_scripts/installed.sh new file mode 100644 index 0000000..cfb3ace --- /dev/null +++ b/dot_scripts/installed.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +npm list -g --depth 0 diff --git a/dot_scripts/version.sh b/dot_scripts/version.sh index 7da15c8..453adcf 100644 --- a/dot_scripts/version.sh +++ b/dot_scripts/version.sh @@ -1 +1,4 @@ +#!/usr/bin/env bash +vim --version | head -1 rustc --version +npm --version diff --git a/dot_vimrc b/dot_vimrc index 96de310..bc58833 100644 --- a/dot_vimrc +++ b/dot_vimrc @@ -84,9 +84,12 @@ let g:terraform_fmt_on_save=1 " dense-analysis/ale options let g:ale_history_log_output = 1 let g:ale_use_global_executables = 1 +let g:ale_fix_on_save = 1 +let g:ale_completion_enabled = 1 let g:ale_fixers = { \ '*': ['remove_trailing_lines', 'trim_whitespace'], \ 'python': ['black'], +\ 'rust': ['rustfmt'], \} " Enable syntax highlighting diff --git a/dot_zsh_aliases b/dot_zsh_aliases index 660609c..e50f3f1 100644 --- a/dot_zsh_aliases +++ b/dot_zsh_aliases @@ -52,7 +52,7 @@ alias mailpro="gmail" # Viewing files alias cat='bat --style=plain --color "always"' -alias preview="fzf --preview 'bat --color \"always\" --style=plain {}'" +alias preview="fzf --preview 'bat --color \"always\" --style=plain {}' --cycle " alias markdown='pandoc README.md | lynx -stdin -dump' # To do / Done @@ -104,6 +104,10 @@ alias monitoring='glances' alias ':q'='exit' alias irc='weechat' alias trello='3llo' +alias mytracks='music me saved tracks' +alias unix='curl -L http://git.io/unix' +alias coffee="curl -L http://git.io/coffee" +alias hotcoffee="curl -sL git.io/hotcoffee | sh" # Show/hide hidden files in Finder alias show="defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder" diff --git a/dot_zsh_functions b/dot_zsh_functions index 2c14d6a..47402f2 100644 --- a/dot_zsh_functions +++ b/dot_zsh_functions @@ -218,3 +218,9 @@ function whichfunc() { whence -v $1 type -a $1 } + +# git shortcuts +function gcrb { + branch=$1 + git checkout -b $branch origin/$branch +}