export CONFIG_DIR="$HOME/.dotfiles" # ╦═╗┌─┐┌─┐┬─┐┌─┐┌─┐┬ ┬ # ╠╦╝├┤ ├┤ ├┬┘├┤ └─┐├─┤ # ╩╚═└─┘└ ┴└─└─┘└─┘┴ ┴ if [ -z "${ZSH}" ]; then alias refresh=". $HOME/.bashrc" else alias refresh=". $HOME/.zshrc" fi # ╦┌┐┌┌─┐┌┬┐┌─┐┬ ┬ # ║│││└─┐ │ ├─┤│ │ # ╩┘└┘└─┘ ┴ ┴ ┴┴─┘┴─┘ alias install_cli="$CONFIG_DIR/auto-config-cli.sh" alias install_gui="$CONFIG_DIR/auto-config.sh" # ╔╦╗╦╔═╗╔═╗ # ║║║║╚═╗║ # ╩ ╩╩╚═╝╚═╝ # Nautilus alias open="nautilus ." # Go to config directory alias config="cd $CONFIG_DIR" function config_update { cd $CONFIG_DIR git pull cd - } # Editor alias c='codium' alias e='micro' # Find alias find='find . -name' # Minicom serial alias com='minicom -c on -D' # Aliases de retour alias b='cd ../' alias bb='cd ../../' alias bbb='cd ../../../' alias bbbb='cd ../../../../' alias bbbbb='cd ../../../../../' # Folder size alias sizes='du -h -d1 | sort -hr' alias size='du -h -d0' # Swap alias s_off='sudo swapoff -a' alias s_on='sudo swapon -a' function s_clean { s_off s_on } # Make alias mk='make -j5' alias mec='make' alias mecque='make' # VPN alias vpn="sudo openvpn --config $HOME/Nextcloud/#\ -\ Configs/rguiheneuf.ovpn" # ╔═╗┬┌┬┐ ╔═╗┬ ┬┌─┐┌─┐┌─┐┌─┐ # ║ ╦│ │ ╠═╣│ │├─┤└─┐├┤ └─┐ # ╚═╝┴ ┴ ╩ ╩┴─┘┴┴ ┴└─┘└─┘└─┘ alias gs='git status' alias gc='git checkout' alias gcm='git checkout master' alias gpl='git pull' alias gph='git push' alias gsu='git submodule update --init' alias gcp='git cherry-pick' alias add='git add' alias commit='git commit -m "To fixup"' alias cont='git rebase --continue' # Git cleaners alias branch_clean='git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d' alias tag_clean='git tag -l | xargs git tag -d && git fetch -t' function git_parent { git log --pretty=format:"%D" | \ grep -v "^$" | \ sed "s/, /\n/g" | \ grep -v "HEAD" | \ grep -v `git rev-parse --abbrev-ref HEAD` | \ grep -v "tag" | \ head -n1 | \ sed "s/origin\/\([^,]*\)/\1/" } function git_parent_tag { git log --pretty=format:"%D" | \ grep -v "^$" | \ sed "s/, /\n/g" | \ grep -v "HEAD" | \ grep -v `git rev-parse --abbrev-ref HEAD` | \ head -n1 | \ sed "s/origin\/\([^,]*\)/\1/" | \ sed "s/tag: \([^,]*\)/\1/" } alias log='git log --graph --decorate --oneline' # Branch function branch_create { git checkout -b $1 git push -u origin $1 } # Tag helpers function tag_create { git tag $1 git push origin $1 } function tag_replace { git tag --delete $1 git push origin --delete $1 git tag $1 git push origin $1 } function g_save { git add * git commit -m "[skip ci] Save: do not merge" git push -f } # ╔═╗┬┌┬┐ ╦═╗┌─┐┌┐ ┌─┐┌─┐┌─┐ # ║ ╦│ │ ╠╦╝├┤ ├┴┐├─┤└─┐├┤ # ╚═╝┴ ┴ ╩╚═└─┘└─┘┴ ┴└─┘└─┘ function grb { git rebase --interactive HEAD~$1 } function grbm { # Save current branch BRANCH=$(git branch | grep \* | cut -d ' ' -f2) # Checkout master & pull git checkout master git pull # Back to previous branch git checkout ${BRANCH} git rebase --interactive master } function grbi { # Save current branch BRANCH=$(git branch | grep \* | cut -d ' ' -f2) # Save parent branch PARENT=$(git_parent) # Checkout parent & pull git checkout ${PARENT} git pull echo "Rebasing on ${PARENT}" # Back to previous branch git checkout ${BRANCH} git rebase --interactive ${PARENT} } function grbroot { git rebase --interactive --autosquash --root } function ga { git autofixup HEAD~$1 git rebase --interactive --autosquash HEAD~$1 } function gam { git autofixup master git rebase --interactive --autosquash master } function gai { # Save parent branch PARENT=$(git_parent) echo "Rebasing with autofixup on ${PARENT}" git autofixup ${PARENT} git rebase --interactive --autosquash ${PARENT} } # ╔═╗┬┌┬┐ ╔═╗┬─┐┌─┐┌─┐┬┬ ┌─┐ # ║ ╦│ │ ╠═╝├┬┘│ │├┤ ││ ├┤ # ╚═╝┴ ┴ ╩ ┴└─└─┘└ ┴┴─┘└─┘ function git_config { echo "User: $(git config user.name)" echo "Mail: $(git config user.email)" } function git_pro { git config --global user.name "Robin-Charles GUIHENEUF" git config --global user.email rguiheneuf@netatmo.com git_config } function git_perso { git config --global user.name "Robin-Charles Guihéneuf" git config --global user.email robin-charles@hotmail.fr git_config } # ╔═╗┬┌┬┐ ╔═╗┌┬┐┌─┐┌┐┌┌┬┐ # ║ ╦│ │ ╠═╣│││├┤ │││ ││ # ╚═╝┴ ┴ ╩ ╩┴ ┴└─┘┘└┘─┴┘ alias amend_pro="GIT_EDITOR=true git rebase --rebase-merges --exec 'git commit --amend --author=\"Robin-Charles GUIHENEUF \"' $1" alias amend_perso="GIT_EDITOR=true git rebase --rebase-merges --exec 'git commit --amend --author=\"Robin-Charles Guihéneuf \"' $1" # ╦═╗┌─┐┌─┐┌─┐┌─┐┬┌┬┐┌─┐┬─┐┬┌─┐┌─┐ # ╠╦╝├┤ ├─┘│ │└─┐│ │ │ │├┬┘│├┤ └─┐ # ╩╚═└─┘┴ └─┘└─┘┴ ┴ └─┘┴└─┴└─┘└─┘ alias bc='cd $HOME/Netatmo/embedded/firmware-bitcloud' alias fw='cd $HOME/Netatmo/embedded/firmware' alias nmr='cd $HOME/Netatmo/embedded/nmr' alias py='cd $HOME/Netatmo/core/python-emb-tools' alias mag='cd $HOME/Netatmo/embedded/magellan' alias nsp='cd $HOME/Netatmo/embedded/nsp' alias nas='cd $HOME/Netatmo/embedded/nas' alias npc='cd $HOME/Netatmo/embedded/npc' alias mulot='cd $HOME/mulot/firmware' # In editor alias c_bc='c $HOME/Netatmo/firmware-bitcloud.code-workspace' alias c_fw='c $HOME/Netatmo/firmware.code-workspace' alias c_nmr='c $HOME/Netatmo/nmr.code-workspace' alias c_py='c $HOME/Netatmo/python-emb-tools.code-workspace' alias c_mag='c $HOME/Netatmo/magellan.code-workspace' alias c_nsp='c $HOME/Netatmo/nsp.code-workspace' alias c_nas='c $HOME/Netatmo/nas.code-workspace' alias c_npc='c $HOME/Netatmo/npc.code-workspace' alias c_mulot='c $HOME/mulot/mulot.code-workspace' # SSH keygen function ssh_keygen { cd $HOME/.ssh ssh-keygen -t rsa -b 4096 -f "$1" cat "$1.pub" cd - } # ╔╗╔┌─┐┌┬┐┌─┐┌┬┐┌┬┐┌─┐ # ║║║├┤ │ ├─┤ │ ││││ │ # ╝╚╝└─┘ ┴ ┴ ┴ ┴ ┴ ┴└─┘ # Flash sniffer nRF52 function nrf52 { arm-none-eabi-objcopy -O ihex build/bin/$1 $1.hex nrfutil pkg generate --hw-version 52 --sd-req=0x00 --application $1.hex --application-version 1 $1.zip if [ -z "$2" ] then nrfutil dfu usb-serial -pkg $1.zip -p /dev/ttyACM0 else nrfutil dfu usb-serial -pkg $1.zip -p $2 fi } # app.S function generate_objdump { arm-none-eabi-objdump -S $1.elf > app.S } # Netatmo specific alias flasher='flasher' # Skip USB mode alias fpm='flasher -forceplugmode' alias py_wireshark='$HOME/Netatmo/core/python-emb-tools/python/bin/zigbee/python_zigbee_interface.py -p ' alias stflash='sudo stm32_sbm -f app.bin -s 0x1000 -d' alias stflash_dfu='stm32_dfu -f app-jtag.bin -b' # ╔═╗┬┌┬┐ ╔═╗┬─┐┌─┐┌┬┐┌─┐┌┬┐ # ║ ╦│ │ ╠═╝├┬┘│ ││││├─┘ │ # ╚═╝┴ ┴ ╩ ┴└─└─┘┴ ┴┴ ┴ # Git prompt if [ -z "${ZSH}" ]; then if [ -f "$HOME/.bash-git-prompt/gitprompt.sh" ]; then GIT_PROMPT_ONLY_IN_REPO=1 source $HOME/.bash-git-prompt/gitprompt.sh fi else if [ -f "$HOME/.zsh-git-prompt/zshrc.sh" ]; then source $HOME/.zsh-git-prompt/zshrc.sh fi fi # ╔═╗─┐ ┬┌─┐┌─┐┬─┐┌┬┐ # ║╣ ┌┴┬┘├─┘│ │├┬┘ │ # ╚═╝┴ └─┴ └─┘┴└─ ┴ export PATH=$PATH:~/Netatmo/core/embedded-tools/Linux/flasher export PATH=$PATH:~/Netatmo/core/generic-embedded/stm32_sbm export PATH=$PATH:~/Netatmo/core/generic-embedded/stm32_dfu export PATH=$PATH:~/Netatmo/embedded/firmware-bitcloud/toolchain/arm-none-eabi/bin export PATH=$PATH:~/Netatmo/embedded/nmr/scripts/flash # Autofixup export PATH=$PATH:$HOME/.git-autofixup # Netatmo export NETATMO_WORK_DIR=$HOME/Netatmo # Cargo binaries (navi) export PATH=$PATH:$HOME/.cargo/bin # Navi if [ -z "${ZSH}" ]; then source <(navi widget bash) else source <(navi widget zsh) fi