Compare commits
38 Commits
ad6638144c
...
88575e40a2
Author | SHA1 | Date | |
---|---|---|---|
|
88575e40a2 | ||
|
a8d174ba30 | ||
|
1bf50d8981 | ||
b0238bf69a | |||
ec195ca859 | |||
956c36773d | |||
9af06e1346 | |||
f787a36c0f | |||
54ff19d0cf | |||
b488daed5e | |||
9674d5389d | |||
750701b031 | |||
7b1476a9d8 | |||
699b5fe54b | |||
b8259e5c0a | |||
de475c976c | |||
69273dba9a | |||
201813da8a | |||
646b0a27ca | |||
01b3423471 | |||
f5d5a48780 | |||
969a7282ed | |||
1c4e9ce071 | |||
a78f1bf860 | |||
efdddbf450 | |||
58e29bd7c5 | |||
ee4f5bcf71 | |||
d8ab294bfa | |||
acabe7549d | |||
442bed6184 | |||
8f5e01a023 | |||
2f35a85bad | |||
f91e1e787c | |||
1599f4cd09 | |||
091431f82b | |||
78c58b93bd | |||
6a808dcef9 | |||
9d6a6a43e3 |
223
.bash_aliases
223
.bash_aliases
@ -1,19 +1,29 @@
|
|||||||
export CONFIG_DIR="$HOME/.dotfiles"
|
export CONFIG_DIR="$HOME/.dotfiles"
|
||||||
|
|
||||||
# Refresh
|
# ╦═╗┌─┐┌─┐┬─┐┌─┐┌─┐┬ ┬
|
||||||
|
# ╠╦╝├┤ ├┤ ├┬┘├┤ └─┐├─┤
|
||||||
|
# ╩╚═└─┘└ ┴└─└─┘└─┘┴ ┴
|
||||||
|
|
||||||
if [ -z "${ZSH}" ]; then
|
if [ -z "${ZSH}" ]; then
|
||||||
alias refresh=". $HOME/.bashrc"
|
alias refresh=". $HOME/.bashrc"
|
||||||
else
|
else
|
||||||
alias refresh=". $HOME/.zshrc"
|
alias refresh=". $HOME/.zshrc"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Nautilus
|
# ╦┌┐┌┌─┐┌┬┐┌─┐┬ ┬
|
||||||
alias open="nautilus ."
|
# ║│││└─┐ │ ├─┤│ │
|
||||||
|
# ╩┘└┘└─┘ ┴ ┴ ┴┴─┘┴─┘
|
||||||
|
|
||||||
# Install scripts
|
|
||||||
alias install_cli="$CONFIG_DIR/auto-config-cli.sh"
|
alias install_cli="$CONFIG_DIR/auto-config-cli.sh"
|
||||||
alias install_gui="$CONFIG_DIR/auto-config.sh"
|
alias install_gui="$CONFIG_DIR/auto-config.sh"
|
||||||
|
|
||||||
|
# ╔╦╗╦╔═╗╔═╗
|
||||||
|
# ║║║║╚═╗║
|
||||||
|
# ╩ ╩╩╚═╝╚═╝
|
||||||
|
|
||||||
|
# Nautilus
|
||||||
|
alias open="nautilus ."
|
||||||
|
|
||||||
# Go to config directory
|
# Go to config directory
|
||||||
alias config="cd $CONFIG_DIR"
|
alias config="cd $CONFIG_DIR"
|
||||||
|
|
||||||
@ -24,7 +34,8 @@ function config_update {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Editor
|
# Editor
|
||||||
alias c='codium'
|
alias c='code'
|
||||||
|
alias e='micro'
|
||||||
|
|
||||||
# Find
|
# Find
|
||||||
alias find='find . -name'
|
alias find='find . -name'
|
||||||
@ -52,33 +63,69 @@ function s_clean {
|
|||||||
s_on
|
s_on
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Make
|
||||||
|
alias mk='make -j5'
|
||||||
|
alias mec='make'
|
||||||
|
alias mecque='make'
|
||||||
|
|
||||||
# VPN
|
# VPN
|
||||||
alias vpn="sudo openvpn --config $HOME/Nextcloud/#\ -\ Configs/rguiheneuf.ovpn"
|
alias vpn="sudo openvpn --config $HOME/Nextcloud/#\ -\ Configs/rguiheneuf.ovpn"
|
||||||
|
|
||||||
# Git
|
# ╔═╗┬┌┬┐ ╔═╗┬ ┬┌─┐┌─┐┌─┐┌─┐
|
||||||
alias gst='git status'
|
# ║ ╦│ │ ╠═╣│ │├─┤└─┐├┤ └─┐
|
||||||
|
# ╚═╝┴ ┴ ╩ ╩┴─┘┴┴ ┴└─┘└─┘└─┘
|
||||||
|
|
||||||
|
alias gs='git status'
|
||||||
alias gc='git checkout'
|
alias gc='git checkout'
|
||||||
alias gcm='git checkout master'
|
|
||||||
alias gpl='git pull'
|
alias gpl='git pull'
|
||||||
alias gph='git push'
|
alias gph='git push'
|
||||||
alias pull='git pull'
|
|
||||||
alias push='git push'
|
|
||||||
alias gsu='git submodule update --init'
|
alias gsu='git submodule update --init'
|
||||||
|
alias gcp='git cherry-pick'
|
||||||
|
|
||||||
|
function gcm {
|
||||||
|
( git rev-parse --verify origin/master > /dev/null 2>&1 ) && git checkout master
|
||||||
|
( git rev-parse --verify origin/main > /dev/null 2>&1 ) && git checkout main
|
||||||
|
}
|
||||||
|
|
||||||
alias add='git add'
|
alias add='git add'
|
||||||
alias commit='git commit -m "To fixup"'
|
alias commit='git commit -m "To fixup"'
|
||||||
alias cont='git rebase --continue'
|
alias cont='git rebase --continue'
|
||||||
|
|
||||||
alias branch_clean='git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d'
|
# Git cleaners
|
||||||
|
alias branch_clean='git branch --merged | egrep -v "(^\*|master|main|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 {
|
function branch_create {
|
||||||
git checkout -b $1
|
git checkout -b $1
|
||||||
git push -u origin $1
|
git push -u origin $1
|
||||||
}
|
}
|
||||||
|
|
||||||
# Tag
|
# Tag helpers
|
||||||
alias tag_clean='git tag -l | xargs git tag -d && git fetch -t'
|
|
||||||
|
|
||||||
function tag_create {
|
function tag_create {
|
||||||
git tag $1
|
git tag $1
|
||||||
git push origin $1
|
git push origin $1
|
||||||
@ -91,59 +138,137 @@ function tag_replace {
|
|||||||
git push origin $1
|
git push origin $1
|
||||||
}
|
}
|
||||||
|
|
||||||
function grb {
|
|
||||||
git rebase -i HEAD~$1
|
|
||||||
}
|
|
||||||
|
|
||||||
function g_save {
|
function g_save {
|
||||||
git add *
|
git add *
|
||||||
git commit -m "[skip ci] Save: do not merge"
|
git commit -m "[skip ci] Save: do not merge"
|
||||||
git push -f
|
git push -f
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ╔═╗┬┌┬┐ ╦═╗┌─┐┌┐ ┌─┐┌─┐┌─┐
|
||||||
|
# ║ ╦│ │ ╠╦╝├┤ ├┴┐├─┤└─┐├┤
|
||||||
|
# ╚═╝┴ ┴ ╩╚═└─┘└─┘┴ ┴└─┘└─┘
|
||||||
|
|
||||||
|
function grb {
|
||||||
|
git rebase --interactive HEAD~$1
|
||||||
|
}
|
||||||
|
|
||||||
function grbm {
|
function grbm {
|
||||||
# Save actual branch
|
# Save current branch
|
||||||
BRANCH=$(git branch | grep \* | cut -d ' ' -f2)
|
BRANCH=$(git branch | grep \* | cut -d ' ' -f2)
|
||||||
|
|
||||||
# Checkout master & pull
|
# Checkout master/main & pull
|
||||||
git checkout master
|
gcm
|
||||||
git pull
|
git pull
|
||||||
|
|
||||||
|
# Save parent branch
|
||||||
|
PARENT=$(git branch | grep \* | cut -d ' ' -f2)
|
||||||
|
|
||||||
# Back to previous branch
|
# Back to previous branch
|
||||||
git checkout ${BRANCH}
|
git checkout ${BRANCH}
|
||||||
git rebase -i master
|
git rebase --interactive ${PARENT}
|
||||||
}
|
}
|
||||||
|
|
||||||
function grbr {
|
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
|
git rebase --interactive --autosquash --root
|
||||||
}
|
}
|
||||||
|
|
||||||
function gam {
|
|
||||||
git autofixup master
|
|
||||||
git rebase --interactive --autosquash master
|
|
||||||
}
|
|
||||||
|
|
||||||
function ga {
|
function ga {
|
||||||
git autofixup HEAD~$1
|
git autofixup HEAD~$1
|
||||||
git rebase --interactive --autosquash HEAD~$1
|
git rebase --interactive --autosquash HEAD~$1
|
||||||
}
|
}
|
||||||
|
|
||||||
# Repositories
|
function gam {
|
||||||
|
# Checkout master/main & pull
|
||||||
|
gcm
|
||||||
|
|
||||||
|
# Save parent branch
|
||||||
|
PARENT=$(git branch | grep \* | cut -d ' ' -f2)
|
||||||
|
|
||||||
|
git checkout -
|
||||||
|
|
||||||
|
git autofixup ${PARENT}
|
||||||
|
git rebase --interactive --autosquash ${PARENT}
|
||||||
|
}
|
||||||
|
|
||||||
|
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 <rguiheneuf@netatmo.com>\"' $1"
|
||||||
|
alias amend_perso="GIT_EDITOR=true git rebase --rebase-merges --exec 'git commit --amend --author=\"Robin-Charles Guihéneuf <robin-charles@hotmail.fr>\"' $1"
|
||||||
|
|
||||||
|
# ╦═╗┌─┐┌─┐┌─┐┌─┐┬┌┬┐┌─┐┬─┐┬┌─┐┌─┐
|
||||||
|
# ╠╦╝├┤ ├─┘│ │└─┐│ │ │ │├┬┘│├┤ └─┐
|
||||||
|
# ╩╚═└─┘┴ └─┘└─┘┴ ┴ └─┘┴└─┴└─┘└─┘
|
||||||
|
|
||||||
alias bc='cd $HOME/Netatmo/embedded/firmware-bitcloud'
|
alias bc='cd $HOME/Netatmo/embedded/firmware-bitcloud'
|
||||||
alias fw='cd $HOME/Netatmo/embedded/firmware'
|
alias fw='cd $HOME/Netatmo/embedded/firmware'
|
||||||
alias nmr='cd $HOME/Netatmo/embedded/nmr'
|
alias nmr='cd $HOME/Netatmo/embedded/nmr'
|
||||||
alias py='cd $HOME/Netatmo/core/python-emb-tools'
|
alias py='cd $HOME/Netatmo/core/python-emb-tools'
|
||||||
alias mag='cd $HOME/Netatmo/embedded/magellan'
|
alias mag='cd $HOME/Netatmo/embedded/magellan'
|
||||||
alias nsp='cd $HOME/Netatmo/embedded/nsp'
|
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'
|
alias mulot='cd $HOME/mulot/firmware'
|
||||||
|
|
||||||
# Repositories in editor
|
# In editor
|
||||||
alias c_bc='c $HOME/Netatmo/firmware-bitcloud.code-workspace'
|
alias c_bc='c $HOME/Netatmo/firmware-bitcloud.code-workspace'
|
||||||
alias c_fw='c $HOME/Netatmo/firmware.code-workspace'
|
alias c_fw='c $HOME/Netatmo/firmware.code-workspace'
|
||||||
alias c_nmr='c $HOME/Netatmo/nmr.code-workspace'
|
alias c_nmr='c $HOME/Netatmo/nmr.code-workspace'
|
||||||
alias c_py='c $HOME/Netatmo/python-emb-tools.code-workspace'
|
alias c_py='c $HOME/Netatmo/python-emb-tools.code-workspace'
|
||||||
alias c_mag='c $HOME/Netatmo/magellan.code-workspace'
|
alias c_mag='c $HOME/Netatmo/magellan.code-workspace'
|
||||||
alias c_nsp='c $HOME/Netatmo/nsp.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'
|
alias c_mulot='c $HOME/mulot/mulot.code-workspace'
|
||||||
|
|
||||||
# SSH keygen
|
# SSH keygen
|
||||||
@ -154,9 +279,13 @@ function ssh_keygen {
|
|||||||
cd -
|
cd -
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ╔╗╔┌─┐┌┬┐┌─┐┌┬┐┌┬┐┌─┐
|
||||||
|
# ║║║├┤ │ ├─┤ │ ││││ │
|
||||||
|
# ╝╚╝└─┘ ┴ ┴ ┴ ┴ ┴ ┴└─┘
|
||||||
|
|
||||||
# Flash sniffer nRF52
|
# Flash sniffer nRF52
|
||||||
function nrf52 {
|
function nrf52 {
|
||||||
arm-none-eabi-objcopy -O ihex output/nrf52840/bin/$1 $1.hex
|
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
|
nrfutil pkg generate --hw-version 52 --sd-req=0x00 --application $1.hex --application-version 1 $1.zip
|
||||||
|
|
||||||
if [ -z "$2" ]
|
if [ -z "$2" ]
|
||||||
@ -167,11 +296,6 @@ function nrf52 {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Make
|
|
||||||
alias mk='make -j5'
|
|
||||||
alias mec='make'
|
|
||||||
alias mecque='make'
|
|
||||||
|
|
||||||
# app.S
|
# app.S
|
||||||
function generate_objdump {
|
function generate_objdump {
|
||||||
arm-none-eabi-objdump -S $1.elf > app.S
|
arm-none-eabi-objdump -S $1.elf > app.S
|
||||||
@ -188,6 +312,10 @@ alias py_wireshark='$HOME/Netatmo/core/python-emb-tools/python/bin/zigbee/python
|
|||||||
alias stflash='sudo stm32_sbm -f app.bin -s 0x1000 -d'
|
alias stflash='sudo stm32_sbm -f app.bin -s 0x1000 -d'
|
||||||
alias stflash_dfu='stm32_dfu -f app-jtag.bin -b'
|
alias stflash_dfu='stm32_dfu -f app-jtag.bin -b'
|
||||||
|
|
||||||
|
# ╔═╗┬┌┬┐ ╔═╗┬─┐┌─┐┌┬┐┌─┐┌┬┐
|
||||||
|
# ║ ╦│ │ ╠═╝├┬┘│ ││││├─┘ │
|
||||||
|
# ╚═╝┴ ┴ ╩ ┴└─└─┘┴ ┴┴ ┴
|
||||||
|
|
||||||
# Git prompt
|
# Git prompt
|
||||||
if [ -z "${ZSH}" ]; then
|
if [ -z "${ZSH}" ]; then
|
||||||
if [ -f "$HOME/.bash-git-prompt/gitprompt.sh" ]; then
|
if [ -f "$HOME/.bash-git-prompt/gitprompt.sh" ]; then
|
||||||
@ -200,6 +328,16 @@ else
|
|||||||
fi
|
fi
|
||||||
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
|
# Autofixup
|
||||||
export PATH=$PATH:$HOME/.git-autofixup
|
export PATH=$PATH:$HOME/.git-autofixup
|
||||||
|
|
||||||
@ -209,6 +347,12 @@ export NETATMO_WORK_DIR=$HOME/Netatmo
|
|||||||
# Cargo binaries (navi)
|
# Cargo binaries (navi)
|
||||||
export PATH=$PATH:$HOME/.cargo/bin
|
export PATH=$PATH:$HOME/.cargo/bin
|
||||||
|
|
||||||
|
# Python
|
||||||
|
export PATH=$PATH:$HOME/.local/bin
|
||||||
|
|
||||||
|
# User bin
|
||||||
|
export PATH=$HOME/bin:$PATH
|
||||||
|
|
||||||
# Navi
|
# Navi
|
||||||
if [ -z "${ZSH}" ]; then
|
if [ -z "${ZSH}" ]; then
|
||||||
source <(navi widget bash)
|
source <(navi widget bash)
|
||||||
@ -216,8 +360,5 @@ else
|
|||||||
source <(navi widget zsh)
|
source <(navi widget zsh)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Zephyr
|
export ANDROID_HOME=~/Android/Sdk
|
||||||
[ -f $HOME/mulot/firmware/zephyr/zephyr-env.sh ] && source $HOME/mulot/firmware/zephyr/zephyr-env.sh
|
export ANDROID_NDK_HOME=~/Android/Sdk/ndk-bundle
|
||||||
|
|
||||||
# West
|
|
||||||
export WEST_DIR=$HOME/mulot/firmware/.west/west
|
|
||||||
|
3
.zshrc
3
.zshrc
@ -75,6 +75,9 @@ plugins=(
|
|||||||
# zsh-history-substring-search
|
# zsh-history-substring-search
|
||||||
)
|
)
|
||||||
|
|
||||||
|
zstyle ':completion:*:make:*:targets' call-command true
|
||||||
|
zstyle ':completion:*:make:*' tag-order 'targets'
|
||||||
|
|
||||||
source $HOME/.bash_aliases
|
source $HOME/.bash_aliases
|
||||||
|
|
||||||
source $ZSH/oh-my-zsh.sh
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
@ -73,3 +73,10 @@ sudo npm install -g npm
|
|||||||
# Install rebase-editor
|
# Install rebase-editor
|
||||||
sudo npm install -g rebase-editor
|
sudo npm install -g rebase-editor
|
||||||
git config --global sequence.editor rebase-editor
|
git config --global sequence.editor rebase-editor
|
||||||
|
|
||||||
|
# Install micro
|
||||||
|
curl https://getmic.ro | bash
|
||||||
|
mkdir -p $HOME/.config/micro
|
||||||
|
ln -sfn $HOME/.dotfiles/micro/bindings.json $HOME/.config/micro/bindings.json
|
||||||
|
ln -sfn $HOME/.dotfiles/micro/settings.json $HOME/.config/micro/settings.json
|
||||||
|
sudo mv micro /usr/bin
|
||||||
|
@ -14,11 +14,11 @@ then
|
|||||||
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/vscodium-archive-keyring.gpg] https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/ vscodium main' | sudo tee /etc/apt/sources.list.d/vscodium.list
|
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/vscodium-archive-keyring.gpg] https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/ vscodium main' | sudo tee /etc/apt/sources.list.d/vscodium.list
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo apt install terminator codium
|
sudo apt install terminator fonts-firacode
|
||||||
|
|
||||||
mkdir -p $HOME/.config/VSCodium/User/
|
mkdir -p $HOME/.config/Code/User/
|
||||||
ln -sf $HOME/.dotfiles/codium/keybindings.json $HOME/.config/VSCodium/User/keybindings.json
|
ln -sf $HOME/.dotfiles/codium/keybindings.json $HOME/.config/Code/User/keybindings.json
|
||||||
ln -sf $HOME/.dotfiles/codium/settings.json $HOME/.config/VSCodium/User/settings.json
|
ln -sf $HOME/.dotfiles/codium/settings.json $HOME/.config/Code/User/settings.json
|
||||||
|
|
||||||
mkdir -p $HOME/.config/terminator/
|
mkdir -p $HOME/.config/terminator/
|
||||||
ln -sf $HOME/.dotfiles/terminator/config $HOME/.config/terminator/config
|
ln -sf $HOME/.dotfiles/terminator/config $HOME/.config/terminator/config
|
||||||
|
@ -8,6 +8,10 @@
|
|||||||
"key": "ctrl+alt+u",
|
"key": "ctrl+alt+u",
|
||||||
"command": "editor.action.transformToUppercase"
|
"command": "editor.action.transformToUppercase"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+alt+l",
|
||||||
|
"command": "editor.action.transformToLowercase"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"key": "ctrl+[BracketRight]",
|
"key": "ctrl+[BracketRight]",
|
||||||
"command": "workbench.action.navigateForward"
|
"command": "workbench.action.navigateForward"
|
||||||
@ -27,5 +31,9 @@
|
|||||||
{
|
{
|
||||||
"key": "ctrl+w",
|
"key": "ctrl+w",
|
||||||
"command": "-editor.action.addSelectionToNextFindMatch"
|
"command": "-editor.action.addSelectionToNextFindMatch"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+w",
|
||||||
|
"command": "-editor.action.smartSelect.expand"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -9,24 +9,21 @@
|
|||||||
"editor.renderWhitespace": "all",
|
"editor.renderWhitespace": "all",
|
||||||
"files.trimTrailingWhitespace": true,
|
"files.trimTrailingWhitespace": true,
|
||||||
"files.insertFinalNewline": true,
|
"files.insertFinalNewline": true,
|
||||||
|
"files.watcherExclude":{
|
||||||
|
"**/.git/objects/**": true,
|
||||||
|
"**/.git/subtree-cache/**": true,
|
||||||
|
"**/build/**": true,
|
||||||
|
"**/.venv": true
|
||||||
|
},
|
||||||
"C_Cpp.formatting": "Disabled",
|
"C_Cpp.formatting": "Disabled",
|
||||||
"C_Cpp.updateChannel": "Default",
|
"C_Cpp.updateChannel": "Default",
|
||||||
"powermode.enabled": true,
|
"powermode.enabled": true,
|
||||||
"powermode.enableShake": false,
|
|
||||||
"powermode.enableExplosions": true,
|
"powermode.enableExplosions": true,
|
||||||
"powermode.maxExplosions": 1,
|
"powermode.maxExplosions": 1,
|
||||||
"powermode.explosionSize": 10,
|
|
||||||
"powermode.explosionOffset": 0.5,
|
|
||||||
"powermode.explosionFrequency": 1,
|
|
||||||
"powermode.explosionOrder": "random",
|
|
||||||
"powermode.gifMode": "continue",
|
|
||||||
"powermode.explosionDuration": 415,
|
|
||||||
"powermode.backgroundMode": "image",
|
|
||||||
"powermode.customExplosions": ["data:image/gif;base64,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"],
|
|
||||||
"editor.rulers": [
|
"editor.rulers": [
|
||||||
100
|
100
|
||||||
],
|
],
|
||||||
"telemetry.enableTelemetry": false,
|
"telemetry.telemetryLevel": "off",
|
||||||
"explorer.confirmDragAndDrop": false,
|
"explorer.confirmDragAndDrop": false,
|
||||||
"explorer.confirmDelete": false,
|
"explorer.confirmDelete": false,
|
||||||
"window.titleBarStyle": "custom",
|
"window.titleBarStyle": "custom",
|
||||||
@ -38,19 +35,36 @@
|
|||||||
"suppressFileNotUnderSourceControlWarning": false,
|
"suppressFileNotUnderSourceControlWarning": false,
|
||||||
"suppressGitVersionWarning": false,
|
"suppressGitVersionWarning": false,
|
||||||
"suppressLineUncommittedWarning": false,
|
"suppressLineUncommittedWarning": false,
|
||||||
"suppressNoRepositoryWarning": false,
|
"suppressNoRepositoryWarning": false
|
||||||
"suppressResultsExplorerNotice": false,
|
|
||||||
"suppressShowKeyBindingsNotice": true
|
|
||||||
},
|
},
|
||||||
"gitlens.views.fileHistory.enabled": true,
|
|
||||||
"gitlens.views.lineHistory.enabled": true,
|
|
||||||
"terminal.integrated.rendererType": "dom",
|
|
||||||
"workbench.colorTheme": "Monokai",
|
"workbench.colorTheme": "Monokai",
|
||||||
"editor.largeFileOptimizations": false,
|
"editor.largeFileOptimizations": false,
|
||||||
"editor.suggestSelection": "first",
|
"editor.suggestSelection": "first",
|
||||||
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
|
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
|
||||||
"C_Cpp.intelliSenseEngine": "Tag Parser",
|
"C_Cpp.intelliSenseEngine": "Tag Parser",
|
||||||
"diffEditor.ignoreTrimWhitespace": false,
|
"diffEditor.ignoreTrimWhitespace": true,
|
||||||
"python.languageServer": "Microsoft",
|
"git.autorefresh": false,
|
||||||
"git.autorefresh": false
|
"editor.fontFamily": "'Fira Code Retina', 'Droid Sans Mono' , 'monospace', 'Droid Sans Fallback'",
|
||||||
|
"editor.fontLigatures": true,
|
||||||
|
"editor.fontSize": 14,
|
||||||
|
"editor.lineHeight": 20,
|
||||||
|
"autoDocstring.docstringFormat": "sphinx",
|
||||||
|
"security.workspace.trust.untrustedFiles": "open",
|
||||||
|
"workbench.editorAssociations": {
|
||||||
|
"*.ipynb": "jupyter.notebook.ipynb"
|
||||||
|
},
|
||||||
|
"cmake.configureOnOpen": true,
|
||||||
|
"editor.guides.bracketPairs": true,
|
||||||
|
"devicetree.zephyr": "zephyr",
|
||||||
|
"powermode.shake.enabled": false,
|
||||||
|
"powermode.explosions.size": 10,
|
||||||
|
"powermode.explosions.frequency": 1,
|
||||||
|
"powermode.explosions.offset": 0.5,
|
||||||
|
"powermode.explosions.customExplosions": [
|
||||||
|
"data:image/gif;base64,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"
|
||||||
|
],
|
||||||
|
"powermode.explosions.backgroundMode": "image",
|
||||||
|
"powermode.explosions.gifMode": "continue",
|
||||||
|
"powermode.explosions.explosionOrder": "random",
|
||||||
|
"powermode.explosions.duration": 415
|
||||||
}
|
}
|
||||||
|
4
micro/bindings.json
Normal file
4
micro/bindings.json
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"Alt-/": "lua:comment.comment",
|
||||||
|
"CtrlUnderscore": "lua:comment.comment"
|
||||||
|
}
|
1
micro/settings.json
Normal file
1
micro/settings.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
@ -1,20 +1,24 @@
|
|||||||
% compression
|
% compression
|
||||||
|
|
||||||
# Create a tar containing files
|
# Create a tar archive
|
||||||
tar cf <name>.tar <files>
|
tar cf <name>.tar <files>
|
||||||
|
|
||||||
# Extract the files from a tar
|
# Extract a tar archive
|
||||||
tar xf <tar_file>
|
tar xf <tar_file>
|
||||||
|
|
||||||
# Create a tar with Gzip compression
|
# Create a tar archive with gz compression
|
||||||
tar czf <name>.tar.gz <files>
|
tar czf <name>.tar.gz <files>
|
||||||
|
|
||||||
# Compress file and appends .gz to its name
|
# Extract a tar using gz compression
|
||||||
gzip <path>
|
tar xzf <targz_file>
|
||||||
|
|
||||||
# Decompress compressed file
|
# Create a gz archive
|
||||||
|
gzip -9 -c <files> > <name>.gz
|
||||||
|
|
||||||
|
# Extract a gz archive
|
||||||
gzip -d <gz_file>
|
gzip -d <gz_file>
|
||||||
|
|
||||||
$ path: ls
|
$ files: ls | awk -F: '{ print $1}'
|
||||||
$ tar_file: ls *.{tar,tar.*} 2>/dev/null
|
$ tar_file: ls *.tar | awk -F: '{ print $1}'
|
||||||
$ gz_file: ls *.gz
|
$ targz_file: ls *.tar.gz | awk -F: '{ print $1}'
|
||||||
|
$ gz_file: ls *.gz | awk -F: '{ print $1}'
|
||||||
|
21
navi/docker-compose.cheat
Normal file
21
navi/docker-compose.cheat
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
% docker-compose
|
||||||
|
|
||||||
|
# Up a compose YAML
|
||||||
|
sudo docker-compose -f <file> up
|
||||||
|
|
||||||
|
# Up and daemonze a compose YAML
|
||||||
|
sudo docker-compose -f <file> up -d
|
||||||
|
|
||||||
|
# Up and daemonze a compose YAML (force)
|
||||||
|
sudo docker-compose -f <file> up -d --force-recreate
|
||||||
|
|
||||||
|
# Up and daemonze a compose YAML
|
||||||
|
sudo docker-compose -f <file> down
|
||||||
|
|
||||||
|
# Print the last lines of compose YAML logs
|
||||||
|
sudo docker-compose -f <file> logs --tail 100
|
||||||
|
|
||||||
|
# Print the last lines of compose YAML logs and following its logs
|
||||||
|
sudo docker-compose -f <file> logs --tail 100 -f
|
||||||
|
|
||||||
|
$ file: ls *.yaml | awk '{print $1}'
|
46
navi/docker.cheat
Normal file
46
navi/docker.cheat
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
% docker
|
||||||
|
|
||||||
|
# Create a volume
|
||||||
|
sudo docker volume create <name>
|
||||||
|
|
||||||
|
# List all volumes
|
||||||
|
sudo docker volume ls
|
||||||
|
|
||||||
|
# Remove volume
|
||||||
|
sudo docker volume rm <volume>
|
||||||
|
|
||||||
|
$ volume: sudo docker volume ls --format "{{.Name}}" | awk '{print $1}'
|
||||||
|
|
||||||
|
# Create new network
|
||||||
|
docker network create <name>
|
||||||
|
|
||||||
|
# List the networks
|
||||||
|
sudo docker network ls
|
||||||
|
|
||||||
|
# Remove volume
|
||||||
|
sudo docker volume rm <network>
|
||||||
|
|
||||||
|
$ network: sudo docker network ls --format "{{.Name}}" | awk '{print $1}'
|
||||||
|
|
||||||
|
# List the running containers
|
||||||
|
sudo docker ps
|
||||||
|
|
||||||
|
# Stop a running container through SIGTERM
|
||||||
|
sudo docker stop <container>
|
||||||
|
|
||||||
|
# Stop a running container through SIGKILL
|
||||||
|
sudo docker kill <container>
|
||||||
|
|
||||||
|
# Execute bash on a running container
|
||||||
|
sudo docker exec -it <container> bash
|
||||||
|
|
||||||
|
# Execute a command on a running container
|
||||||
|
sudo docker exec -it <container> sh -c '<command>'
|
||||||
|
|
||||||
|
# Print the last lines of a container's logs
|
||||||
|
sudo docker logs --tail 100 <container>
|
||||||
|
|
||||||
|
# Print the last lines of a container's logs and following its logs
|
||||||
|
sudo docker logs --tail 100 <container> -f
|
||||||
|
|
||||||
|
$ container: sudo docker container ls --format "{{.Names}}" | awk '{print $1}'
|
15
navi/freqtrade.cheat
Normal file
15
navi/freqtrade.cheat
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
% freqtrade
|
||||||
|
|
||||||
|
# Backtest a strategy on timerange
|
||||||
|
sudo docker-compose run --rm freqtrade backtesting --timerange=20200901-20201001 -s <strategy>
|
||||||
|
|
||||||
|
# Download data on timerange
|
||||||
|
sudo docker-compose run --rm freqtrade download-data --timerange=20200901-20201001
|
||||||
|
|
||||||
|
# Plot data on timerange
|
||||||
|
sudo docker-compose run --rm freqtrade plot-dataframe --timerange=20200901-20201001 -s <strategy>
|
||||||
|
|
||||||
|
# List strategies
|
||||||
|
sudo docker-compose run --rm freqtrade list-strategies
|
||||||
|
|
||||||
|
$ strategy: ls user_data/strategies | grep "\.py" | sed -e "s/\.py//g" | awk '{print $1}'
|
71
navi/git.cheat
Normal file
71
navi/git.cheat
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
% git
|
||||||
|
|
||||||
|
# Initializes a git repository
|
||||||
|
git init
|
||||||
|
|
||||||
|
# Clone a git repository
|
||||||
|
git clone <repository> <clone_directory>
|
||||||
|
|
||||||
|
# Rebase upstream master into local/origin master
|
||||||
|
git fetch <remote_name>
|
||||||
|
git checkout master
|
||||||
|
git rebase <remote_name>/master
|
||||||
|
git fetch origin
|
||||||
|
git push -f origin master
|
||||||
|
|
||||||
|
# Merge upstream master into local/origin master
|
||||||
|
git fetch <remote_name>
|
||||||
|
git checkout master
|
||||||
|
git merge <remote_name>/master
|
||||||
|
git fetch origin
|
||||||
|
git push -f origin master
|
||||||
|
|
||||||
|
# Adds a remote for a git repository
|
||||||
|
git remote add <remote_name> <remote_url>
|
||||||
|
|
||||||
|
# Renames a remote for a git repository
|
||||||
|
git remote rename <old_remote_name> <new_remote_name>
|
||||||
|
|
||||||
|
# Remove a remote for a git repository
|
||||||
|
git remote remove <remote_name>
|
||||||
|
|
||||||
|
# Saves the changes to a file in a commit
|
||||||
|
git commit -m <message>
|
||||||
|
|
||||||
|
# Pushes committed changes to remote repository
|
||||||
|
git push --set-upstream <remote_name> <branch_name>
|
||||||
|
|
||||||
|
# Displays formatted log of commits for a repo
|
||||||
|
git log --all --decorate --oneline --graph
|
||||||
|
|
||||||
|
# Clear everything
|
||||||
|
git clean -dxf
|
||||||
|
|
||||||
|
# Add a new module
|
||||||
|
git submodule add <repository> <path>
|
||||||
|
|
||||||
|
# Update module
|
||||||
|
git submodule update --init
|
||||||
|
|
||||||
|
# Update module without init
|
||||||
|
git submodule update
|
||||||
|
|
||||||
|
# Pull all submodules
|
||||||
|
git submodule foreach git pull origin master
|
||||||
|
|
||||||
|
# Skip git hooks
|
||||||
|
git commit --no-verify
|
||||||
|
|
||||||
|
# Create new branch from current HEAD
|
||||||
|
git checkout -b <new_branch_name>
|
||||||
|
|
||||||
|
# Create and push tag
|
||||||
|
git tag <name>
|
||||||
|
git push origin <name>
|
||||||
|
|
||||||
|
# Delete and push tag
|
||||||
|
git tag -d <tag_name>
|
||||||
|
git push -d origin <tag_name>
|
||||||
|
|
||||||
|
# Variables
|
||||||
|
$ tag_name: git tag -l | awk '{print $1}'
|
69
navi/misc.cheat
Normal file
69
navi/misc.cheat
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
% misc
|
||||||
|
|
||||||
|
# Update system
|
||||||
|
sudo apt update && sudo apt upgrade
|
||||||
|
|
||||||
|
# Clean APT
|
||||||
|
sudo apt autoclean && sudo apt autoremove
|
||||||
|
|
||||||
|
# Reinstall package
|
||||||
|
sudo apt reinstall ./<deb>
|
||||||
|
|
||||||
|
# List users
|
||||||
|
cat /etc/passwd | awk -F: '{ print $1}'
|
||||||
|
|
||||||
|
# User information
|
||||||
|
sudo id <user>
|
||||||
|
|
||||||
|
# Change user password
|
||||||
|
sudo passwd <user>
|
||||||
|
|
||||||
|
# Create user with home
|
||||||
|
sudo useradd -m <username>
|
||||||
|
|
||||||
|
# Create user without home
|
||||||
|
sudo useradd <username>
|
||||||
|
|
||||||
|
# Delete an user
|
||||||
|
sudo deluser <user>
|
||||||
|
|
||||||
|
# List all groups
|
||||||
|
cat /etc/group
|
||||||
|
|
||||||
|
# Add user to group
|
||||||
|
sudo usermod -a -G <group> <user>
|
||||||
|
|
||||||
|
# Remove user from a group
|
||||||
|
sudo deluser <user> <group>
|
||||||
|
|
||||||
|
# List port bindings
|
||||||
|
sudo lsof -i -P -n | grep LISTEN
|
||||||
|
|
||||||
|
# Show binding on a port
|
||||||
|
sudo lsof -i:<port>
|
||||||
|
|
||||||
|
# Get IP on interface
|
||||||
|
ip addr show dev <interface> | grep "inet " | sed "s/ *inet \([^ ]*\) .*/\1/" | awk -F: '{ print $1}'
|
||||||
|
|
||||||
|
# Get devices on interface
|
||||||
|
nmap -sP <ip>
|
||||||
|
|
||||||
|
# Compare 2 files (meld)
|
||||||
|
meld <(hexdump -C <file_1>) <(hexdump -C <file_2>)
|
||||||
|
|
||||||
|
# Compare 2 files (bcompare)
|
||||||
|
bcompare <file_1> <file_2>
|
||||||
|
|
||||||
|
# Replace expression in files
|
||||||
|
ack -rl "<expression>" | xargs sed -i 's#<expression>#<replace_expression>#g'
|
||||||
|
|
||||||
|
# Disable Bluetooth ERTM
|
||||||
|
sudo bash -c "echo Y > /sys/module/bluetooth/parameters/disable_ertm"
|
||||||
|
|
||||||
|
$ user: cat /etc/passwd | awk -F: '{ print $1}'
|
||||||
|
$ group: cat /etc/group | awk -F: '{ print $1}'
|
||||||
|
$ interface: ip link | grep "^[0-9]*:" | sed "s/[0-9]*: \(.*\):.*/\1/" | awk -F: '{ print $1}'
|
||||||
|
$ ip: ip addr show dev <interface> | grep "inet " | sed "s/ *inet \([^ ]*\) .*/\1/" | awk -F: '{ print $1}'
|
||||||
|
$ file_1: ls | awk -F: '{ print $1}'
|
||||||
|
$ file_2: ls | awk -F: '{ print $1}'
|
||||||
|
$ deb: ls *.deb | awk -F: '{ print $1}'
|
10
navi/mysql.cheat
Normal file
10
navi/mysql.cheat
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
% mysql
|
||||||
|
|
||||||
|
# Create database
|
||||||
|
mysql -u <user> -p -e "create database <database> character set UTF8mb4 collate utf8mb4_bin"
|
||||||
|
|
||||||
|
# Export databse
|
||||||
|
mysqldump -u <user> -p -x -A <database> > <file>
|
||||||
|
|
||||||
|
# Import database
|
||||||
|
mysql -u <user> -p <database> <path>
|
4
navi/nextcloud.cheat
Normal file
4
navi/nextcloud.cheat
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
% nextcloud
|
||||||
|
|
||||||
|
# Execute occ command
|
||||||
|
sudo -u nextcloud php /var/www/nextcloud/occ <command>
|
10
navi/nginx.cheat
Normal file
10
navi/nginx.cheat
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
% nginx
|
||||||
|
|
||||||
|
# Enable site
|
||||||
|
sudo ln -s /etc/nginx/sites-available/<ls_site> /etc/nginx/sites-enabled/<ls_site>
|
||||||
|
|
||||||
|
# Disable site
|
||||||
|
sudo rm /etc/nginx/sites-enabled/<rm_site>
|
||||||
|
|
||||||
|
$ ls_site: ls /etc/nginx/sites-available/ | awk '{print $1}'
|
||||||
|
$ rm_site: ls /etc/nginx/sites-enabled/ | awk '{print $1}'
|
@ -1,17 +1,27 @@
|
|||||||
% syncapi
|
% syncapi
|
||||||
|
|
||||||
# SyncAPI Muller
|
# SyncAPI Muller
|
||||||
<syncapi_path>/syncapiadmin.py --project muller -s <server> --endpoint <endpoint> -c <syncapi_path>/muller_<server>.swp --mac <gateway_mac>
|
<syncapi_path>/syncapiadmin.py --project muller -s <server> --endpoint <endpoint> --mac <gateway_mac>
|
||||||
|
|
||||||
# SyncAPI Legrand
|
# SyncAPI Legrand
|
||||||
<syncapi_path>/syncapiadmin.py --project legrand -s <server> --endpoint <endpoint> -c <syncapi_path>/legrand_<server>.swp --mac <gateway_mac>
|
<syncapi_path>/syncapiadmin.py --project legrand -s <server> --endpoint <endpoint> --mac <gateway_mac>
|
||||||
|
|
||||||
# Debug parser Legrand
|
# Debug parser Legrand
|
||||||
<debug_path>/debug_parser.py --project legrand -s <server> -c <syncapi_path>/legrand_<server>.swp -r -pp -g <gateway_mac>
|
<debug_path>/debug_parser.py --project legrand -s <server> -r -pp -g <gateway_mac>
|
||||||
|
|
||||||
|
# Enable debug mode Legrand
|
||||||
|
<debug_path>/debug_config_setter.py --project legrand -s <server> -g <gateway_mac> -t NLG -ke debug_enabled
|
||||||
|
|
||||||
|
# Disable debug mode Legrand
|
||||||
|
<debug_path>/debug_config_setter.py --project legrand -s <server> -g <gateway_mac> -t NLG -kd debug_enabled
|
||||||
|
|
||||||
|
# Analyse diagnosis
|
||||||
|
<syncapi_path>/syncapiadmin.py --project legrand -s <server> --endpoint getdebuginfo --mac <gateway_mac> | jq -r .body.diagnosis_content | <release_path>/decode_diagnosis.py
|
||||||
|
|
||||||
# Paths
|
# Paths
|
||||||
$ syncapi_path: echo "$HOME/Netatmo/core/python-emb-tools/python/bin/syncapiadmin"
|
$ syncapi_path: echo "$HOME/Netatmo/core/python-emb-tools/python/bin/syncapiadmin"
|
||||||
$ debug_path: echo "$HOME/Netatmo/core/python-emb-tools/python/bin/debug"
|
$ debug_path: echo "$HOME/Netatmo/core/python-emb-tools/python/bin/debug"
|
||||||
|
$ release_path: echo "$HOME/Netatmo/core/python-emb-tools/python/bin/release"
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
$ server: echo "prod inte" | tr " " "\n"
|
$ server: echo "prod inte" | tr " " "\n"
|
||||||
|
@ -6,14 +6,14 @@
|
|||||||
enabled_plugins = TerminalShot, LaunchpadCodeURLHandler, APTURLHandler, LaunchpadBugURLHandler
|
enabled_plugins = TerminalShot, LaunchpadCodeURLHandler, APTURLHandler, LaunchpadBugURLHandler
|
||||||
suppress_multiple_term_dialog = True
|
suppress_multiple_term_dialog = True
|
||||||
title_use_system_font = False
|
title_use_system_font = False
|
||||||
title_font = Sans 11
|
title_font = Fira Code weight=453 11
|
||||||
[keybindings]
|
[keybindings]
|
||||||
[profiles]
|
[profiles]
|
||||||
[[default]]
|
[[default]]
|
||||||
background_darkness = 0.7
|
background_darkness = 0.7
|
||||||
background_type = transparent
|
background_type = transparent
|
||||||
cursor_color = "#908c8c"
|
cursor_color = "#908c8c"
|
||||||
font = Monospace 11
|
font = Fira Code weight=453 11
|
||||||
foreground_color = "#ffffff"
|
foreground_color = "#ffffff"
|
||||||
scrollback_infinite = True
|
scrollback_infinite = True
|
||||||
palette = "#000000:#aa0000:#00aa00:#f57900:#55ffff:#ff006e:#00aaaa:#aaaaaa:#555555:#ff5555:#55ff55:#ffff55:#55ffff:#ff006e:#00aaaa:#ffffff"
|
palette = "#000000:#aa0000:#00aa00:#f57900:#55ffff:#ff006e:#00aaaa:#aaaaaa:#555555:#ff5555:#55ff55:#ffff55:#55ffff:#ff006e:#00aaaa:#ffffff"
|
||||||
|
@ -43,3 +43,13 @@ else
|
|||||||
ZSH_THEME_GIT_PROMPT_REBASE="%{$fg_bold[magenta]%}|REBASE%{${reset_color}%} "
|
ZSH_THEME_GIT_PROMPT_REBASE="%{$fg_bold[magenta]%}|REBASE%{${reset_color}%} "
|
||||||
ZSH_THEME_GIT_PROMPT_BISECT="%{$fg_bold[magenta]%}|BISECT%{${reset_color}%} "
|
ZSH_THEME_GIT_PROMPT_BISECT="%{$fg_bold[magenta]%}|BISECT%{${reset_color}%} "
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
function theme_preexec {
|
||||||
|
print -nr $'\e]2;'"$USER@$(hostname) » $PWD » $1 $2"$'\a'
|
||||||
|
}
|
||||||
|
add-zsh-hook preexec theme_preexec
|
||||||
|
|
||||||
|
function theme_precmd {
|
||||||
|
print -nr $'\e]2;'"$USER@$(hostname) » $PWD"$'\a'
|
||||||
|
}
|
||||||
|
add-zsh-hook precmd theme_precmd
|
||||||
|
Loading…
x
Reference in New Issue
Block a user