Compare commits

...

20 Commits

Author SHA1 Message Date
e40ef14b07 feat(ZSH): completion - add gitlab-ci-local command completion 2025-05-14 22:26:32 +02:00
c61451a8e1 fix(i3): compositor - deactivated while giving problem when sharing screen 2025-05-14 22:24:04 +02:00
4823af9ef1 feat(i3): Add kitty and polybar changes about:
* wlan0 (previously wlp3s0) because of change from netctl to iwd
* Kitty is now in Light Solarized
2025-05-14 22:24:04 +02:00
f8dd2ce568 BUG: Chromium ne se lance plus sous Xorg 2025-05-14 22:24:04 +02:00
bbb726c9e1 Polybar: adaptation du module de température et d'ethernet 2025-05-14 22:24:04 +02:00
3de58bb297 feat(bin): More scripts for 'bin' directory 2025-05-14 22:22:17 +02:00
c13e8b3d9d chore(zsh): Change PAGER and MANPAGER 2025-05-14 22:18:54 +02:00
9cb06b490f chore(zsh): Update aliases 2025-05-14 22:17:23 +02:00
778362e85e refactor: Get waybar config from tom (laptop) branch 2025-05-14 22:11:49 +02:00
18fdf1adc7 refactor: Get Sway config from tom 2025-05-14 22:06:58 +02:00
d8dad0762e chore(gammastep): Get config. from tom (laptop) branch 2025-05-14 21:53:42 +02:00
ae65624398 fix(scripts): bin - Fix secondary screen rotation 2025-02-26 09:24:26 +01:00
3f1072471e chore(bin): Add 2 scripts for screen config. 2025-02-25 11:55:29 +01:00
47368004ab fix(ZSH): plugins - terraform and kubectl aliases added 2024-11-29 18:41:08 +01:00
973d5649fc feat(QtPass): config added 2024-11-29 18:40:52 +01:00
81c0e7e27e feat(ZSH): plugins - add 'wd' function 2024-11-25 13:52:28 +01:00
7d426ae1ab fix(ZSH): instant prompt - fix error with ssh-agent 2024-11-24 13:28:38 +01:00
abcc7e16cb chore(ZSH): Let Oh-my-zsh. Use antidote instead + custom .zshrc 2024-11-24 00:52:10 +01:00
1c40ae6526 Merge forge.o9.re:olivier/dotfiles 2024-11-20 20:13:11 +01:00
87ca1e1efc fix(ZSH): alias - use devu instead of devu42 directory 2024-11-20 20:12:15 +01:00
31 changed files with 586 additions and 47 deletions

View File

@ -0,0 +1,48 @@
[General]
addGPGId=true
alwaysOnTop=false
autoPull=true
autoPush=true
autoclearPanelSeconds=10
autoclearSeconds=10
avoidCapitals=false
avoidNumbers=false
clipBoardType=2
displayAsIs=false
gitExecutable=/usr/bin/git
gpgExecutable=/usr/bin/gpg2
hideContent=false
hideOnClose=true
hidePassword=true
lessRandom=false
noLineWrapping=false
passExecutable=/usr/bin/pass
passStore=/home/od/.password-store/
passTemplate=login\nurl
passwordChars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890~!@#$%^&*()_-+={}[]|:;<>,.?"
passwordCharsselection=0
passwordLength=16
pwgenExecutable=/usr/bin/pwgen
qrencodeExecutable=
startMinimized=false
templateAllFields=false
useAutoclear=false
useAutoclearPanel=false
useGit=true
useMonospace=false
useOtp=false
usePass=true
usePwgen=true
useQrencode=false
useSelection=false
useSymbols=false
useTemplate=true
useTrayIcon=true
version=1.4.0
[mainwindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x5\x81\0\0\x3\x90\0\0\0\0\0\0\0\0\0\0\x5\x81\0\0\x3\x90\0\0\0\0\0\0\0\0\x5\x82\0\0\0\0\0\0\0\0\0\0\x5\x81\0\0\x3\x90)
maximized=false
pos=@Point(0 0)
savestate=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\0\0\0\x5\x82\0\0\x3G\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x1\0\0\0\xe\0t\0o\0o\0l\0\x42\0\x61\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)
size=@Size(1410 913)

View File

@ -1,3 +1,3 @@
# Permet à Chromium de se lancer dans Wayland
--enable-features=UseOzonePlatform
--ozone-platform=wayland
#--enable-features=UseOzonePlatform
#--ozone-platform=wayland

View File

@ -1,5 +1,10 @@
[general]
location-provider=manual
# 5500-6500
temp-day=5700
# 3000-4000
temp-night=3500
adjustment-method=wayland
# Lieu : Neudorf, chez Agnès
[manual]

View File

@ -214,7 +214,7 @@ bindsym XF86Sleep exec systemctl suspend
###
# Transparency (need picom)
exec_always --no-startup-id "killall picom; picom -b"
#exec_always --no-startup-id "killall picom; picom -b"
# DBUS daemon (needed for keyboard applet and more I think)
#exec --no-startup-id /usr/lib/gnome-settings-daemon/gnome-settings-daemon

View File

@ -426,5 +426,5 @@ macos_option_as_alt yes
x11_bell_volume 80
# Ajout du thème Solarized Light sur https://github.com/dexpota/kitty-themes
include ./dark.conf
include ./light.conf

View File

@ -217,7 +217,7 @@ label = %percentage_used%%
[module/wlan]
type = internal/network
interface = wlp3s0
interface = wlan0
interval = 3.0
;format-connected = <ramp-signal> <label-connected>
@ -240,7 +240,7 @@ ramp-signal-foreground = ${colors.foreground-alt}
[module/eth]
type = internal/network
interface = eno1
interface = enp3s0
interval = 3.0
format-connected-underline = #55aa55
@ -346,7 +346,8 @@ warn-temperature = 65
; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done
; to find path to desired file
; Default reverts to thermal zone setting
hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
hwmon-path = /sys/devices/pci0000:00/0000:00:08.1/0000:04:00.0/hwmon/hwmon2/temp1_input
#hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
;format = <ramp> <label>
format = <label>

View File

@ -226,6 +226,7 @@ bar 1 {
}
}
# Va lancer notamment session.sh pour les variables XDG_SESSION et touti quanti
include /etc/sway/config.d/*
# Ajout pour Olivier

View File

@ -1,6 +1,9 @@
# Presse-papiers
# La base
exec wl-paste -t text --watch clipman store
# Presse-papier primaire : avec sauvegarde de l'historique dans un fichier JSON
## CLIPMAN
exec wl-paste -t text --watch clipman store # Pour clipman
## Presse-papier primaire : avec sauvegarde de l'historique dans un fichier JSON
exec wl-paste -p -t text --watch clipman store -P --histpath="~/.local/share/clipman-primary.json"
# CLIPHIST (multimédia inclus)
#exec wl-paste --watch cliphist store

View File

@ -0,0 +1,11 @@
# Configuration du lanceur d'application
# Apparence d'une fenêtre nommée Launcher
for_window [app_id="^launcher$"] floating enable, sticky enable, resize set 30 ppt 60 ppt, border pixel 10
# Choix d'un lanceur
set $menu exec alacritty --class launcher -T 'Programmes' -e env TERMINAL_COMMAND='swaymsg exec' /usr/bin/sway-launcher-desktop
# On change le raccourci clavier en conséquence
unbindsym $mod+d
bindsym $mod+d exec $menu

View File

@ -1,3 +1,3 @@
# Change background
output * bg /home/od/.config/sway/abstract-blue-background-1920x1200.jpg fill
output * bg /home/od/.config/i3/abstract-blue-background-1920x1200.jpg fill

View File

@ -10,12 +10,12 @@ assign [app_id="jetbrains-idea|Code"] workspace 1
# Bureau 2 (navigation web)
assign [class="Google-chrome|Vivaldi-stable|Opera|Firefox|Navigator|Nightly|Chromium"] workspace 2
assign [app_id="Google-chrome|Vivaldi-stable|Opera|Firefox|Navigator|Nightly|Chromium"] workspace 2
assign [app_id="Google-chrome|Vivaldi-stable|opera|firefox|navigator|nightly|chromium"] workspace 2
# Bureau 3 (Courriel, PHPStorm)
assign [class="Thunderbird|Mail|jetbrains-phpstorm"] workspace 3
assign [app_id="Thunderbird|Mail|jetbrains-phpstorm"] workspace 3
# Bureau 4
assign [class="Mattermost|mattermost-desktop|Rambox|Slack|Scudcloud|Gitter|Dino"] workspace 4
assign [app_id="Mattermost|mattermost-desktop|Rambox|Slack|Scudcloud|Gitter|Dino|dino"] workspace 4
assign [class="Mattermost|mattermost-desktop|Rambox|Slack|Scudcloud|Gitter|Dino|Signal"] workspace 4
assign [app_id="Mattermost|mattermost-desktop|Rambox|Slack|Scudcloud|Gitter|dino|signal"] workspace 4

View File

@ -8,3 +8,6 @@ bindsym XF86AudioStop exec playerctl stop # arrêt musique/film/fichier
# Bouton impression écran
bindsym Print exec grim Images/$(date +'%Y-%m-%d-%s_screenshot.jpg')
# Arrête l'enregistrement d'une vidéo avec wf-recorder
bindsym Ctrl+Shift+BackSpace exec killall -s SIGINT wf-recorder

View File

@ -1,3 +1,9 @@
# Presse-papier
unbindsym $mod+h
## CLIPMAN
bindsym $mod+h exec clipman pick -t wofi
# CLIPHIST
#bindsym $mod+h exec cliphist list | fzf --no-sort | cliphist decode | wl-copy
#bindsym $mod+h exec cliphist list | wofi -S dmenu | cliphist decode | wl-copy

View File

@ -1,5 +1,5 @@
# Économie des yeux (48.5680685:7.7709942 = Neudorf, rue de Fegersheim)
exec gammastep-indicator
exec_always "killall wlsunset ; wlsunset -t 3500 -T 5700 -l 48.5 -L 7.7 &"
# Notifications de bureau
exec dunst

View File

@ -23,7 +23,7 @@
"format": "<span style=\"italic\">{}</span>"
},
"tray": {
// "icon-size": 21,
"icon-size": 21,
"spacing": 10
},
"clock": {

View File

@ -0,0 +1,26 @@
#!/usr/bin/env zsh
# Automatic connection
mkdir -p "${HOME}/etc/ssh";
function ssh-procure-launch-agent {
eval `ssh-agent -s -a ~/etc/ssh/ssh-agent-socket`;
ssh-add;
}
if [ ! $SSH_AGENT_PID ]; then
if [ -e ~/etc/ssh/ssh-agent-socket ] ; then
SSH_AGENT_PID=`ps -fC ssh-agent |grep 'etc/ssh/ssh-agent-socket' |sed -r 's/^\S+\s+(\S+).*$/\1/'`;
if [[ $SSH_AGENT_PID =~ [0-9]+ ]]; then
# in this case the agent has already been launched and we are just attaching to it.
##++ It should check that this pid is actually active & belongs to an ssh instance
export SSH_AGENT_PID;
SSH_AUTH_SOCK=~/etc/ssh/ssh-agent-socket; export SSH_AUTH_SOCK;
else
# in this case there is no agent running, so the socket file is left over from a graceless agent termination.
rm ~/etc/ssh/ssh-agent-socket;
ssh-procure-launch-agent;
fi;
else
ssh-procure-launch-agent;
fi;
fi;

View File

@ -77,6 +77,26 @@ POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
POWERLEVEL9K_SHORTEN_DELIMITER=""
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_from_right"
#compdef gitlab-ci-local
###-begin-gitlab-ci-local-completions-###
#
# yargs command completion script
#
# Installation: gitlab-ci-local completion >> ~/.zshrc
# or gitlab-ci-local completion >> ~/.zprofile on OSX.
#
_gitlab-ci-local_yargs_completions()
{
local reply
local si=$IFS
IFS=$'
' reply=($(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" gitlab-ci-local --get-yargs-completions "${words[@]}"))
IFS=$si
_describe 'values' reply
}
compdef _gitlab-ci-local_yargs_completions gitlab-ci-local
###-end-gitlab-ci-local-completions-###
# User configuration
export PAGER=most
export BROWSER=elinks
@ -140,36 +160,12 @@ alias rero="ALIAS=rero /home/od/projets/rerologik/agnes"
# coloration de la commande IP
alias ip='ip -c'
alias k='kubectl'
alias devu="${HOME}/devu42/devu/devu"
alias devu="${HOME}/devu/devu/devu"
alias gcle='gitlab-ci-local'
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh
# Connexion automatique
mkdir -p "${HOME}/etc/ssh";
function ssh-procure-launch-agent {
eval `ssh-agent -s -a ~/etc/ssh/ssh-agent-socket`;
ssh-add;
}
if [ ! $SSH_AGENT_PID ]; then
if [ -e ~/etc/ssh/ssh-agent-socket ] ; then
SSH_AGENT_PID=`ps -fC ssh-agent |grep 'etc/ssh/ssh-agent-socket' |sed -r 's/^\S+\s+(\S+).*$/\1/'`;
if [[ $SSH_AGENT_PID =~ [0-9]+ ]]; then
# in this case the agent has already been launched and we are just attaching to it.
##++ It should check that this pid is actually active & belongs to an ssh instance
export SSH_AGENT_PID;
SSH_AUTH_SOCK=~/etc/ssh/ssh-agent-socket; export SSH_AUTH_SOCK;
else
# in this case there is no agent running, so the socket file is left over from a graceless agent termination.
rm ~/etc/ssh/ssh-agent-socket;
ssh-procure-launch-agent;
fi;
else
ssh-procure-launch-agent;
fi;
fi;
# Desktop specificities for development
case $HOST in
lueur | baloo | sam)
@ -183,3 +179,4 @@ case $HOST in
#source /usr/bin/virtualenvwrapper.sh
;;
esac

View File

@ -0,0 +1,38 @@
#!/bin/zsh
#
# .zsh_plugins.txt - antidote plugins file
#
# Completions
mattmc3/ez-compinit
zsh-users/zsh-completions kind:fpath path:src
aloxaf/fzf-tab # Remove if you don't use fzf
# Completion styles
belak/zsh-utils path:completion/functions kind:autoload post:compstyle_zshzoo_setup
# Keybindings
belak/zsh-utils path:editor
# History
belak/zsh-utils path:history
# Prompt
romkatv/powerlevel10k
# Utilities
belak/zsh-utils path:utility
romkatv/zsh-bench kind:path
ohmyzsh/ohmyzsh path:plugins/extract
# a kind of "cd" with shortcuts
mfaerevaag/wd
# Aliases
#ohmyzsh/ohmyzsh path:plugins/helm # semble ne pas fonctionner
ohmyzsh/ohmyzsh path:plugins/kubectl
ohmyzsh/ohmyzsh path:plugins/terraform
# Other Fish-like features
zdharma-continuum/fast-syntax-highlighting # Syntax highlighting
zsh-users/zsh-autosuggestions # Auto-suggestions
zsh-users/zsh-history-substring-search # Up/Down to search history

40
.config/zsh/.zshrc Normal file
View File

@ -0,0 +1,40 @@
#!/usr/bin/env zsh
# Scripts that should be loaded before instant prompt
# because they ask something in prompt
source ${ZDOTDIR:-$HOME}/.before.zshrc.zsh
# Enable Powerlevel10k instant prompt. Should stay close to the top of .zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
# Load fzf
source /usr/share/fzf/completion.zsh
source /usr/share/fzf/key-bindings.zsh
# Clone antidote if necessary.
if [[ ! -d ${ZDOTDIR:-$HOME}/.antidote ]]; then
git clone https://github.com/mattmc3/antidote ${ZDOTDIR:-$HOME}/.antidote
fi
# Create an amazing Zsh config using antidote plugins.
source ${ZDOTDIR:-$HOME}/.antidote/antidote.zsh
antidote load
# Enlève le prompt de droite après avoir appuyé sur Entrée
setopt transient_rprompt
# Source anything in .zshrc.d.
for _rc in ${ZDOTDIR:-$HOME}/.zshrc.d/*.zsh; do
# Ignore tilde files.
if [[ $_rc:t != '~'* ]]; then
source "$_rc"
fi
done
unset _rc
# To customize prompt, run `p10k configure` or edit .p10k.zsh.
[[ ! -f ${ZDOTDIR:-$HOME}/.p10k.zsh ]] || source ${ZDOTDIR:-$HOME}/.p10k.zsh

View File

@ -0,0 +1,241 @@
#!/usr/bin/env zsh
# editor
alias e="${EDITOR}"
alias r="${EDITOR} -R"
alias sm="sublime_merge"
alias vi="${EDITOR}"
# pagination
alias cat='bat'
# system
alias mem='free -mt'
alias df='df -hT'
# navigation
alias ls='eza'
alias ll='eza -lah --group --smart-group --icons'
alias l='eza -F'
# web
alias https='http --verify=no --default-scheme=https'
# search
alias rgrep='rg --no-ignore'
# add colors to some commands
alias diff='colordiff'
export GREP_COLORS='ms=01;33:mc=01;33:s1=:cx=:fn=37;ln=32:bn=32:se=36'
alias grep='grep --color'
alias ip='ip -c'
# dotfiles
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
# be careful!
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# pytest
alias pyt='poetry run pytest -vvs --no-cov --disable-warnings'
alias pytc='poetry run pytest -vvs --disable-warnings --cov-report=xml:cov.xml'
# k8s
alias k='kubectl'
# miscellaneous
alias devu="${HOME}/devu/devu/devu"
# git
alias g='git'
alias ga='git add'
alias gaa='git add --all'
alias gam='git am'
alias gama='git am --abort'
alias gamc='git am --continue'
alias gams='git am --skip'
alias gamscp='git am --show-current-patch'
alias gap='git apply'
alias gapa='git add --patch'
alias gapt='git apply --3way'
alias gau='git add --update'
alias gav='git add --verbose'
alias gb='git branch'
alias gbD='git branch --delete --force'
alias gba='git branch --all'
alias gbd='git branch --delete'
alias gbl='git blame -w'
alias gbm='git branch --move'
alias gbnm='git branch --no-merged'
alias gbr='git branch --remote'
alias gbs='git bisect'
alias gbsb='git bisect bad'
alias gbsg='git bisect good'
alias gbsn='git bisect new'
alias gbso='git bisect old'
alias gbsr='git bisect reset'
alias gbss='git bisect start'
alias gc='git commit --verbose'
alias 'gc!'='git commit --verbose --amend'
alias gcB='git checkout -B'
alias gca='git commit --verbose --all'
alias 'gca!'='git commit --verbose --all --amend'
alias gcam='git commit --all --message'
alias 'gcan!'='git commit --verbose --all --no-edit --amend'
alias 'gcann!'='git commit --verbose --all --date=now --no-edit --amend'
alias 'gcans!'='git commit --verbose --all --signoff --no-edit --amend'
alias gcas='git commit --all --signoff'
alias gcasm='git commit --all --signoff --message'
alias gcb='git checkout -b'
alias gcd='git checkout $(git_develop_branch)'
alias gcf='git config --list'
alias gcl='git clone --recurse-submodules'
alias gclean='git clean --interactive -d'
alias gclf='git clone --recursive --shallow-submodules --filter=blob:none --also-filter-submodules'
alias gcm='git checkout $(git_main_branch)'
alias gcmsg='git commit --message'
alias gcn='git commit --verbose --no-edit'
alias 'gcn!'='git commit --verbose --no-edit --amend'
alias gco='git checkout'
alias gcor='git checkout --recurse-submodules'
alias gcount='git shortlog --summary --numbered'
alias gcp='git cherry-pick'
alias gcpa='git cherry-pick --abort'
alias gcpc='git cherry-pick --continue'
alias gcs='git commit --gpg-sign'
alias gcsm='git commit --signoff --message'
alias gcss='git commit --gpg-sign --signoff'
alias gcssm='git commit --gpg-sign --signoff --message'
alias gd='git diff'
alias gdca='git diff --cached'
alias gdct='git describe --tags $(git rev-list --tags --max-count=1)'
alias gdcw='git diff --cached --word-diff'
alias gds='git diff --staged'
alias gdt='git diff-tree --no-commit-id --name-only -r'
alias gdup='git diff @{upstream}'
alias gdw='git diff --word-diff'
alias gf='git fetch'
alias gfa='git fetch --all --tags --prune --jobs=10'
alias gfg='git ls-files | grep'
alias gfo='git fetch origin'
alias gg='git gui citool'
alias gga='git gui citool --amend'
alias ggpull='git pull origin "$(git_current_branch)"'
alias ggpush='git push origin "$(git_current_branch)"'
alias ggsup='git branch --set-upstream-to=origin/$(git_current_branch)'
alias ghh='git help'
alias gignore='git update-index --assume-unchanged'
alias gignored='git ls-files -v | grep "^[[:lower:]]"'
alias git-svn-dcommit-push='git svn dcommit && git push github $(git_main_branch):svntrunk'
alias gl='git pull'
alias glg='git log --stat'
alias glgg='git log --graph'
alias glgga='git log --graph --decorate --all'
alias glgm='git log --graph --max-count=10'
alias glgp='git log --stat --patch'
alias glo='git log --oneline --decorate'
alias glod='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset"'
alias glods='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset" --date=short'
alias glog='git log --oneline --decorate --graph'
alias gloga='git log --oneline --decorate --graph --all'
alias glol='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset"'
alias glola='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset" --all'
alias glols='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset" --stat'
alias gluc='git pull upstream $(git_current_branch)'
alias glum='git pull upstream $(git_main_branch)'
alias gm='git merge'
alias gma='git merge --abort'
alias gmc='git merge --continue'
alias gmff='git merge --ff-only'
alias gmom='git merge origin/$(git_main_branch)'
alias gms='git merge --squash'
alias gmtl='git mergetool --no-prompt'
alias gmtlvim='git mergetool --no-prompt --tool=vimdiff'
alias gmum='git merge upstream/$(git_main_branch)'
alias gp='git push'
alias gpd='git push --dry-run'
alias gpf='git push --force-with-lease --force-if-includes'
alias 'gpf!'='git push --force'
alias gpoat='git push origin --all && git push origin --tags'
alias gpod='git push origin --delete'
alias gpr='git pull --rebase'
alias gpra='git pull --rebase --autostash'
alias gprav='git pull --rebase --autostash -v'
alias gpristine='git reset --hard && git clean --force -dfx'
alias gprom='git pull --rebase origin $(git_main_branch)'
alias gpromi='git pull --rebase=interactive origin $(git_main_branch)'
alias gprum='git pull --rebase upstream $(git_main_branch)'
alias gprumi='git pull --rebase=interactive upstream $(git_main_branch)'
alias gprv='git pull --rebase -v'
alias gpsup='git push --set-upstream origin $(git_current_branch)'
alias gpsupf='git push --set-upstream origin $(git_current_branch) --force-with-lease --force-if-includes'
alias gpu='git push upstream'
alias gpv='git push --verbose'
alias gr='git remote'
alias gra='git remote add'
alias grb='git rebase'
alias grba='git rebase --abort'
alias grbc='git rebase --continue'
alias grbd='git rebase $(git_develop_branch)'
alias grbi='git rebase --interactive'
alias grbm='git rebase $(git_main_branch)'
alias grbo='git rebase --onto'
alias grbom='git rebase origin/$(git_main_branch)'
alias grbs='git rebase --skip'
alias grbum='git rebase upstream/$(git_main_branch)'
alias grev='git revert'
alias greva='git revert --abort'
alias grevc='git revert --continue'
alias grf='git reflog'
alias grh='git reset'
alias grhh='git reset --hard'
alias grhk='git reset --keep'
alias grhs='git reset --soft'
alias grm='git rm'
alias grmc='git rm --cached'
alias grmv='git remote rename'
alias groh='git reset origin/$(git_current_branch) --hard'
alias grrm='git remote remove'
alias grs='git restore'
alias grset='git remote set-url'
alias grss='git restore --source'
alias grst='git restore --staged'
alias gru='git reset --'
alias grup='git remote update'
alias grv='git remote --verbose'
alias gsb='git status --short --branch'
alias gsd='git svn dcommit'
alias gsh='git show'
alias gsi='git submodule init'
alias gsps='git show --pretty=short --show-signature'
alias gsr='git svn rebase'
alias gss='git status --short'
alias gst='git status'
alias gsta='git stash push'
alias gstaa='git stash apply'
alias gstall='git stash --all'
alias gstc='git stash clear'
alias gstd='git stash drop'
alias gstl='git stash list'
alias gstp='git stash pop'
alias gsts='git stash show --patch'
alias gsu='git submodule update'
alias gsw='git switch'
alias gswc='git switch --create'
alias gswd='git switch $(git_develop_branch)'
alias gswm='git switch $(git_main_branch)'
alias gta='git tag --annotate'
alias gts='git tag --sign'
alias gtv='git tag | sort -V'
alias gunignore='git update-index --no-assume-unchanged'
alias gunwip='git rev-list --max-count=1 --format="%s" HEAD | grep -q "\--wip--" && git reset HEAD~1'
alias gwch='git whatchanged -p --abbrev-commit --pretty=medium'
alias gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign --message "--wip-- [skip ci]"'
alias gwipe='git reset --hard && git clean --force -df'
alias gwt='git worktree'
alias gwta='git worktree add'
alias gwtls='git worktree list'
alias gwtmv='git worktree move'
alias gwtrm='git worktree remove'

40
.zshenv
View File

@ -1,8 +1,40 @@
#!/usr/bin/env zsh
#
# ENVIRONMENT VARIABLES ONLY
# Cf. https://wiki.archlinux.org/title/XDG_Base_Directory
export XDG_CONFIG_HOME=$HOME/.config
# Default editor
export EDITOR='nvim'
# ZSH
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
export HISTFILE="$ZDOTDIR/.zhistory" # History filepath
export HISTSIZE=10000 # Maximum events for internal history
export SAVEHIST=10000 # Maximum events in history file
# PATH
typeset -U PATH path
path=("$HOME/.local/bin" "$HOME/bin" "/opt/sublime_merge" "$path[@]", "$(go env GOPATH)/bin")
export PATH
# Autocomplètement supplémentaire (Docker)
if [ -d "$HOME/.zsh/completion" ] ; then
fpath=(~/.zsh/completion $fpath)
fi
# Language environment
export LANG=fr_FR.UTF-8
# Reading / Browse (manpages, websites, etc.)
export PAGER="bat"
export MANPAGER="nvim +Man!"
export BROWSER=elinks
# SSH
export SSH_ASKPASS=qt4-ssh-askpass
# Python
export PYTHONWARNINGS="ignore::DeprecationWarning"
#export FLASK_SKIP_DOTENV=1 ## make problems with poetry and flask applications
export PIPENV_QUIET=1 # enlève les courtesy notice
# k8s
export KUBECONFIG=$HOME/kubeconfig

View File

@ -1,4 +1,8 @@
#!/bin/sh
#
# battery
#
# Penser à modifier la variable dans ~/.profile
HEART_FULL=♥
HEART_EMPTY=♡

23
bin/ecran_framework Executable file
View File

@ -0,0 +1,23 @@
#!/usr/bin/env bash
#
# ecran_framework
#
# Désactive les écrans. N'active que celui du PC portable Framework
#
# Écran principal : Iiyama North America PL2474H 11669V9B05959
# Écran secondaire : Iiyama North America PLX2283H 1159495081860
# Écran PC portable : BOE 0x0BCA Unknown
# PC portable
laptopscreen="'BOE 0x0BCA Unknown'"
# Écran principal
mainscreen="'Iiyama North America PL2474H 11669V9B05959'"
# Écran secondaire
otherscreen="'Iiyama North America PLX2283H 1159495081860'"
# Éteint l'écran principal et secondaire
swaymsg output "${mainscreen}" disable
swaymsg output "${otherscreen}" disable
# Allume l'écran du PC portable
swaymsg output "${laptopscreen}" enable

31
bin/ecran_maison Executable file
View File

@ -0,0 +1,31 @@
#!/usr/bin/env bash
#
# ecran_maison
#
# Active les 2 écrans de la maison sur le Dock Station branché.
#
# Écran principal : Iiyama North America PL2474H 11669V9B05959
# Écran secondaire : Iiyama North America PLX2283H 1159495081860
# Écran PC portable : BOE 0x0BCA Unknown
# PC portable
laptopscreen="'BOE 0x0BCA Unknown'"
# Écran principal
mainscreen="'Iiyama North America PL2474H 11669V9B05959'"
# Écran secondaire
otherscreen="'Iiyama North America PLX2283H 1159495081860'"
# Active l'écran secondaire
swaymsg output "${otherscreen}" enable
# Tourne l'écran de droite de 90°
swaymsg output "${otherscreen}" transform 90 anticlockwise
# Déplace l'écran de droite à 1920px (pour rester à droite)
swaymsg output "${otherscreen}" pos 1920 0
# Active l'écran principal
swaymsg output "${mainscreen}" enable
# Descend l'écran principal vers le bas de 840px
swaymsg output "${mainscreen}" pos 0 840
# Éteint l'écran du PC portable
swaymsg output "${laptopscreen}" disable

15
bin/launcher.sh Normal file
View File

@ -0,0 +1,15 @@
#!/usr/bin/env bash
#
# launcher
#
# TODO: toujours mettre des \n entre les résultats !
res=()
# Find all programs in $PATH.
res+=$(echo -n "$PATH" | xargs -d: -I{} -r -- find -L {} -maxdepth 1 -mindepth 1 -type f -executable -printf '%P\n' 2>/dev/null)
res+=$(echo -e "\ncoucou")
for resultat in "${res[@]}"; do
echo "$resultat"
done | fzf|sh

3
bin/netflix Executable file
View File

@ -0,0 +1,3 @@
#!/usr/bin/env bash
firefox --kiosk "https://netflix.com/"

View File

@ -2,7 +2,8 @@
# random_wallpaper
#
# Requirement: feh (apt install feh)
# Requirement: feh (apt install feh) - for Xorg
# Requirement: swaybg - for Wayland
directory="$HOME/wallpapers"
minutes=15
@ -50,6 +51,7 @@ while true; do
# Change background
file="${array_files["$NUMBER"]}"
if "${is_wayland}"; then
# Use of swaybg program (used with swaymsg)
$PROGRAM output "*" bg "$directory/$file" fill
else
feh --bg-fill "$directory/$file"

6
bin/rec1 Executable file
View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
# change number by 2 for screen 2
number=1
wf-recorder -o $(swaymsg -t get_outputs |grep "DP"|head -n ${number}|cut -d '"' -f 4) -f ~/screens/$(date +'%Y-%m-%d-%s')_screencast.mkv

3
bin/webserver Executable file
View File

@ -0,0 +1,3 @@
#!/usr/bin/env bash
python3 -m http.server "$@"