68 Commits
v1.0 ... zou

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
c87f867b4c feat(ZSH): plugins - activate kubernetes, helm and terraform 2024-11-17 14:22:42 +01:00
f522935be9 fix(ZSH): do not use virtualenvwrapper 2024-10-20 21:05:01 +02:00
db193417c8 feat(alias): New aliases for kubectl and devu 2024-10-20 14:45:34 +02:00
cb4bc3f2d2 feat(Go): Add go PATH in PATH 2024-10-20 14:45:01 +02:00
a25bf962ff BIN: correction de random_wallpaper pour Xorg 2024-10-17 16:35:04 +02:00
fd6b431d51 WARPRC: Nouveaux raccourcis pour les projets ! 2024-10-17 11:48:57 +02:00
718dc045db Config. SSH: Ajout de plusieurs serveurs 2024-10-17 11:48:57 +02:00
9b0160cc0a i3: Amélioration de l'environnement de bureau avec:
* ajout d'Hamsket au bon bureau
* Arrêt de l'utilisation de hamster-indicator
* corrections mineures dans .tmux pour incompatibilité
2024-10-17 11:48:54 +02:00
03a2f6cafd ZSH: Ajout de la configuration de Kubernetes 2024-10-17 11:47:42 +02:00
59586947d9 ZSH: nouvel alias pour la commande ip 2024-10-17 11:47:39 +02:00
b04dfb860a PYENV: ajouté à ZSH 2024-10-17 11:46:55 +02:00
af4057e4ec fix(TMUX): Problème avec une option de TMUX 2024-03-30 22:13:10 +01:00
99c25cf2a8 fix(Raccourcis): Ajout de ~/projets/blog comme raccourci CLI 2023-12-02 12:59:22 +01:00
261eabb7f2 fix(Scripts): Correction sur la vérification wayland/Xorg 2023-12-02 12:57:57 +01:00
484b1cbbd5 ZSH: coloration syntaxique de la commande IP 2021-12-05 06:15:04 +01:00
380fef687a Kitty: Passage à xterm-256color comme valeur par défaut de TERM 2021-12-04 19:48:00 +01:00
29a6649a49 SSH: Mise à jour du serveur OVH (nouveau port 4555) 2021-12-04 19:48:00 +01:00
b70caa2bb8 Variables d'environnement : utilisation de envvars.conf pour Sway (script maison) 2021-08-09 10:01:52 +02:00
ad2e5660dd KITTY: Utilisation d'un thème DARK par défaut 2021-08-02 13:54:21 +02:00
34caaae5fb SWAY: Configuration du touchpad du PC portable 2021-07-21 10:33:39 +02:00
a2e6853a1c SWAYIDLE: used to lock screen after 6min 2021-07-19 22:29:13 +02:00
117a0ee6c8 KITTY (terminal): utilisation d'un thème pour les couleurs 2021-07-19 22:24:40 +02:00
b80eadc6f7 WAYBAR: ajout du bouton "redémarrer" 2021-07-13 13:14:10 +02:00
137212b13d TMUX: utilisation du terminal par défaut comme commande par défaut 2021-07-11 17:38:14 +02:00
a2daf9f9d9 BINAIRES: ajout du script VPN pour Freshmile 2021-07-08 09:42:32 +02:00
3745e8675f SWAYLOCK: changement de l'image de fond pour la plage de Barcelone ! 2021-07-08 09:41:10 +02:00
c898f392de SWAY: Raccourci de verrouillage d'écran en utilisant swaylock 2021-07-03 22:25:23 +02:00
e24271fbd4 SWAY: Style de wofi (lanceur d'applications) 2021-07-03 22:18:23 +02:00
bfe8473374 SWAY: Configuration du presse papier avec un raccourci
* raccourci : touche « Windows » (Mod4) + h pour lancer l'historique des
  copier/coller
* lancement du service de copier/coller par clipman au démarrage de Sway
2021-07-03 22:02:01 +02:00
dbb30ab893 SWAY: Passage de wlsunset à gammastep 2021-07-03 21:39:04 +02:00
eb8fb1d960 WAYBAR: ajout d'un bouton pour éteindre l'ordinateur 2021-07-01 22:11:30 +02:00
e1a1cbea60 WAYBAR: Correction de l'apparence du bureau sélectionné 2021-07-01 21:38:52 +02:00
596c2bebb2 SSH: Ajout de nouveaux serveurs (Freshmile + Usine Michalon) 2021-06-27 22:47:15 +02:00
e153bf2eaa NVM: incrémentation de version, passage à version 12 2021-06-27 22:46:51 +02:00
161af14f7f GIT: Modification config 2021-06-27 19:07:53 +02:00
18021a3eb5 FOND d'écran: adaptation pour Sway 2021-06-26 01:15:49 +02:00
d4233d6440 SWAY: Réduction de l'espace utilisé par les modules 2021-06-26 00:54:39 +02:00
ad45e8d767 SWAY: correction du raccourci pour la mise en onglets 2021-06-26 00:11:09 +02:00
f1b0f2f13f SWAY: cacher la barre de titre des fenêtres 2021-06-26 00:08:41 +02:00
f9b79325e0 SWAY: utilisation de waybar 2021-06-26 00:08:08 +02:00
7d8fc24991 BATTERY: improve battery script and configuration in .profile 2021-06-25 21:53:25 +02:00
3e2a72cec1 BUG: Xorg ne se lance plus (à cause des changements pour Sway) 2021-06-25 14:13:12 +02:00
7b551b83b8 SWAY: raccourci clavier pour les impressions écran 2021-06-23 22:56:28 +02:00
320a00dd29 SWAY: ajout du réassignement de bureaux aux logiciels 2021-06-22 22:02:45 +02:00
47b13b6072 SWAY: contrôle du volume et raccourcis du lecteur multimédia 2021-06-22 21:34:17 +02:00
8375fb5cff SWAY: contrôle du contraste de la lumière 2021-06-21 12:15:33 +02:00
2d4cddbf4c TMUX: correction mineure -> transformation de 'discussions' en 'autre' 2021-06-20 00:13:51 +02:00
d297e32b03 Sway : premiers essais 2021-06-20 00:13:32 +02:00
53 changed files with 1461 additions and 49 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

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

View File

@ -0,0 +1,4 @@
# Active wayland pour Firefox
MOZ_ENABLE_WAYLAND=1
# Modifie le comportement JAVA pour PHPStorm
_JAVA_AWT_WM_NONREPARENTING=1

View File

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

View File

@ -165,7 +165,7 @@ bindsym $mod+r mode "resize"
assign [class="jetbrains-idea|Code"] 1 assign [class="jetbrains-idea|Code"] 1
assign [class="Google-chrome|Vivaldi-stable|Opera|Firefox|Navigator|Nightly|Chromium"] 2 assign [class="Google-chrome|Vivaldi-stable|Opera|Firefox|Navigator|Nightly|Chromium"] 2
assign [class="Thunderbird|Mail|jetbrains-phpstorm"] 3 assign [class="Thunderbird|Mail|jetbrains-phpstorm"] 3
assign [class="Mattermost|mattermost-desktop|Rambox|Slack|Scudcloud|Gitter|Dino"] 4 assign [class="Mattermost|mattermost-desktop|Rambox|Slack|Scudcloud|Gitter|Dino|Hamsket"] 4
##### STATUS BAR ##### STATUS BAR
@ -214,7 +214,7 @@ bindsym XF86Sleep exec systemctl suspend
### ###
# Transparency (need picom) # 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) # DBUS daemon (needed for keyboard applet and more I think)
#exec --no-startup-id /usr/lib/gnome-settings-daemon/gnome-settings-daemon #exec --no-startup-id /usr/lib/gnome-settings-daemon/gnome-settings-daemon
@ -240,7 +240,7 @@ smart_gaps on
exec_always --no-startup-id "kill -9 `ps aux | grep random_wallpaper |grep -v 'grep'| awk '{print $2}'`; random_wallpaper &" exec_always --no-startup-id "kill -9 `ps aux | grep random_wallpaper |grep -v 'grep'| awk '{print $2}'`; random_wallpaper &"
# Hasmter indicator # Hasmter indicator
exec --no-startup-id hamster #exec --no-startup-id hamster
# Clipit : Presse-papiers pour le bureau # Clipit : Presse-papiers pour le bureau
exec --no-startup-id clipit exec --no-startup-id clipit

21
.config/kitty/dark.conf Normal file
View File

@ -0,0 +1,21 @@
background #001e26
foreground #708183
cursor #708183
selection_background #002731
color0 #002731
color8 #465a61
color1 #d01b24
color9 #bd3612
color2 #728905
color10 #465a61
color3 #a57705
color11 #52676f
color4 #2075c7
color12 #708183
color5 #c61b6e
color13 #5856b9
color6 #259185
color14 #81908f
color7 #e9e2cb
color15 #fcf4dc
selection_foreground #001e26

View File

@ -184,7 +184,8 @@ rectangle_select_modifiers ctrl+alt
allow_remote_control no allow_remote_control no
# The value of the TERM environment variable to set # The value of the TERM environment variable to set
term xterm-kitty #term xterm-kitty
term xterm-256color
# The width (in pts) of window borders. Will be rounded to the nearest number of pixels based on screen resolution. # The width (in pts) of window borders. Will be rounded to the nearest number of pixels based on screen resolution.
# Note that borders are displayed only when more than one window is visible. They are meant to separate multiple windows. # Note that borders are displayed only when more than one window is visible. They are meant to separate multiple windows.
@ -423,3 +424,7 @@ macos_option_as_alt yes
# The number is a percentage of maximum volume. # The number is a percentage of maximum volume.
# See man XBell for details. # See man XBell for details.
x11_bell_volume 80 x11_bell_volume 80
# Ajout du thème Solarized Light sur https://github.com/dexpota/kitty-themes
include ./light.conf

21
.config/kitty/light.conf Normal file
View File

@ -0,0 +1,21 @@
background #fdf6e3
foreground #52676f
cursor #52676f
selection_background #e9e2cb
color0 #e4e4e4
color8 #ffffd7
color1 #d70000
color9 #d75f00
color2 #5f8700
color10 #585858
color3 #af8700
color11 #626262
color4 #0087ff
color12 #808080
color5 #af005f
color13 #5f5faf
color6 #00afaf
color14 #8a8a8a
color7 #262626
color15 #1c1c1c
selection_foreground #fcf4dc

View File

@ -217,7 +217,7 @@ label = %percentage_used%%
[module/wlan] [module/wlan]
type = internal/network type = internal/network
interface = wlp3s0 interface = wlan0
interval = 3.0 interval = 3.0
;format-connected = <ramp-signal> <label-connected> ;format-connected = <ramp-signal> <label-connected>
@ -240,7 +240,7 @@ ramp-signal-foreground = ${colors.foreground-alt}
[module/eth] [module/eth]
type = internal/network type = internal/network
interface = eno1 interface = enp3s0
interval = 3.0 interval = 3.0
format-connected-underline = #55aa55 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 ; $ 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 ; to find path to desired file
; Default reverts to thermal zone setting ; 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 = <ramp> <label>
format = <label> format = <label>

233
.config/sway/config Normal file
View File

@ -0,0 +1,233 @@
# Default config for sway
#
# Copy this to ~/.config/sway/config and edit it to your liking.
#
# Read `man 5 sway` for a complete reference.
### Variables
#
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left h
set $down j
set $up k
set $right l
# Your preferred terminal emulator
set $term alacritty
# Your preferred application launcher
# Note: pass the final command to swaymsg so that the resulting window can be opened
# on the original workspace that the command was run on.
set $menu wofi --show run | xargs swaymsg exec --
### Output configuration
#
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
#
# Example configuration:
#
# output HDMI-A-1 resolution 1920x1080 position 1920,0
#
# You can get the names of your outputs by running: swaymsg -t get_outputs
### Idle configuration
#
# Example configuration:
#
# exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
# before-sleep 'swaylock -f -c 000000'
#
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
#
# Example configuration:
#
# input "2:14:SynPS/2_Synaptics_TouchPad" {
# dwt enabled
# tap enabled
# natural_scroll enabled
# middle_emulation enabled
# }
#
# You can get the names of your inputs by running: swaymsg -t get_inputs
# Read `man 5 sway-input` for more information about this section.
input type:touchpad {
dwt enabled
tap enabled
natural_scroll enabled
middle_emulation enabled
}
input type:keyboard {
xkb_layout "fr"
xkb_variant "oss"
xkb_options "grp:alt_space_toggle"
}
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+Shift+q kill
# Start your launcher
bindsym $mod+d exec $menu
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'Tu as appuyé sur le raccourci de sortie. Sortir réellement de sway ? Cela terminera ta session Wayland.' -b 'Oui, quitter sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow keys
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+ampersand workspace number 1
bindsym $mod+eacute workspace number 2
bindsym $mod+quotedbl workspace number 3
bindsym $mod+apostrophe workspace number 4
bindsym $mod+parenleft workspace number 5
bindsym $mod+minus workspace number 6
bindsym $mod+egrave workspace number 7
bindsym $mod+underscore workspace number 8
bindsym $mod+ccedilla workspace number 9
bindsym $mod+agrave workspace number 10
# Move focused container to workspace
bindsym $mod+Shift+ampersand move container to workspace number 1
bindsym $mod+Shift+eacute move container to workspace number 2
bindsym $mod+Shift+quotedbl move container to workspace number 3
bindsym $mod+Shift+apostrophe move container to workspace number 4
bindsym $mod+Shift+parenleft move container to workspace number 5
bindsym $mod+Shift+minus move container to workspace number 6
bindsym $mod+Shift+egrave move container to workspace number 7
bindsym $mod+Shift+underscore move container to workspace number 8
bindsym $mod+Shift+ccedilla move container to workspace number 9
bindsym $mod+Shift+agrave move container to workspace number 10
# Note: workspaces can have any name you want, not just numbers.
# We just use 1-10 as the default.
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+z layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+tab move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+tab scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
#
# Status Bar:
#
# Read `man 5 sway-bar` for more information about this section.
bar 1 {
position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
status_command while date +'%Y-%m-%d %l:%M:%S %p'; do sleep 1; done
colors {
statusline #ffffff
background #323232
inactive_workspace #32323200 #32323200 #5c5c5c
}
}
# Va lancer notamment session.sh pour les variables XDG_SESSION et touti quanti
include /etc/sway/config.d/*
# Ajout pour Olivier
include ~/.config/sway/config.d/*

View File

@ -0,0 +1,9 @@
# Presse-papiers
## 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,3 @@
# Utilise le terminal trouvé dans la variable TERMINAL
unbindsym $mod+Return
bindsym $mod+Return exec $TERMINAL

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

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

View File

@ -0,0 +1 @@
font pango:DejaVu Sans Mono 11

View File

@ -0,0 +1,16 @@
# Espace entre les fenêtres
for_window [class="^.*"] border pixel 2
for_window [class="^.*"] title_format " %title"
gaps inner 5
smart_borders on
smart_gaps on
# Censé cacher les bordures de fenêtres adjacents
hide_edge_borders --i3 both
# Bordure de titre de fenêtres : aucune
titlebar_border_thickness 0
# Espace intérieur du titre des fenêtres : aucun
titlebar_padding 0
# Enlever le titre aux fenêtres
default_border none
default_floating_border none

View File

@ -0,0 +1,21 @@
# Applications qui vont dans un espace de bureau spécifique
#
# Pour connaître le nom des class/app_id, faire :
# `swaymsg -t get_tree|grep -i chromium`, par exemple.
# Bureau 1 (développement)
assign [class="jetbrains-idea|Code"] workspace 1
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
# 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|Signal"] workspace 4
assign [app_id="Mattermost|mattermost-desktop|Rambox|Slack|Scudcloud|Gitter|dino|signal"] workspace 4

View File

@ -0,0 +1,10 @@
# Barre d'état
# désactive la barre principale
bar 1 mode invisible
# active une nouvelle barre
bar olivier {
position top
status_command waybar
}

View File

@ -0,0 +1,13 @@
# Raccourcis claviers en tous genres
# Contrôle des lecteurs audios (via MPRIS, par exemple mpv-mpris)
bindsym XF86AudioPlay exec playerctl play-pause # play/pause
bindsym XF86AudioNext exec playerctl next # prochain(e) musique/film/fichier
bindsym XF86AudioPrev exec playerctl previous # précédent(e) musique/film/fichier
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

@ -0,0 +1,5 @@
# Contrôle du volume audio
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle

View File

@ -0,0 +1,3 @@
# Contrôle de la lumière
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym XF86MonBrightnessUp exec brightnessctl set +5%

View File

@ -0,0 +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

@ -0,0 +1,8 @@
# Verrouillage
# Écran
unbindsym $mod+l
bindsym $mod+l exec swaylock
# Automatique
exec swayidle -w timeout 300 'swaylock -f' timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -f'

View File

@ -0,0 +1,8 @@
# Économie des yeux (48.5680685:7.7709942 = Neudorf, rue de Fegersheim)
exec_always "killall wlsunset ; wlsunset -t 3500 -T 5700 -l 48.5 -L 7.7 &"
# Notifications de bureau
exec dunst
# Fond d'écran aléatoire
exec_always "kill -9 `ps aux | grep random_wallpaper |grep -v 'grep'| awk '{print $2}'`; random_wallpaper &"

1
.config/swaylock/config Normal file
View File

@ -0,0 +1 @@
image=/home/od/.config/swaylock/plage_barcelone.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

105
.config/waybar/config Normal file
View File

@ -0,0 +1,105 @@
{
"height": 27, // Waybar height (to be removed for auto height)
"modules-left": ["sway/workspaces", "sway/mode", "custom/media"],
"modules-center": ["sway/window"],
"modules-right": ["backlight", "pulseaudio", "memory", "cpu", "network", "battery", "temperature", "clock", "custom/power", "tray"],
// Modules configuration
"sway/workspaces": {
"disable-scroll": true,
"all-outputs": true,
"format": "{name} {icon}",
"format-icons": {
"1": "",
"2": "",
"3": "",
"4": "",
"5": "",
"urgent": "",
"focused": "",
"default": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"tray": {
"icon-size": 21,
"spacing": 10
},
"clock": {
"timezone": "Europe/Paris",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format": "{:%a %d %b %R}",
"format-alt": "{:%Y-%m-%d %R:%S}"
},
"cpu": {
"format": " {usage}%",
"tooltip": false
},
"memory": {
"format": " {}%"
},
"temperature": {
"critical-threshold": 80,
"format": "{icon} {temperatureC}°C",
"format-icons": ["", "", ""]
},
"backlight": {
"format": " {percent}% {icon}",
"format-icons": ["🌕", "🌔", "🌓", "🌒", "🌑"]
},
"battery": {
"states": {
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}",
"format-icons": ["", "", "", "", ""]
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": " {essid} ({signalStrength}%)",
"format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{icon} {volume}% {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": " {volume}%",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol"
},
"custom/media": {
"format": "{icon} {}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
},
"custom/power": {
"format": " ",
"on-click": "swaynag -t warning -m 'Menu gestion alimentation' -b 'Déconnexion' 'swaymsg exit' -b 'Veille' 'swaymsg exec systemctl suspend' -b 'Redémarrer' 'swaymsg exec systemctl reboot' -b 'Arrêter' 'shutdown now'"
}
}

209
.config/waybar/style.css Normal file
View File

@ -0,0 +1,209 @@
* {
border: none;
border-radius: 0;
/* `otf-font-awesome` is required to be installed for icons */
font-family: DejaVu Sans Mono; /*, Roboto, Helvetica, Arial, sans-serif; */
font-size: 14px;
min-height: 0;
}
window#waybar {
background-color: #222;
/* border-bottom: 3px solid rgba(100, 114, 125, 0.5);*/
color: #dfdfdf;
transition-property: background-color;
transition-duration: .5s;
}
window#waybar.hidden {
opacity: 0.2;
}
/*
window#waybar.empty {
background-color: transparent;
}
window#waybar.solo {
background-color: #FFFFFF;
}
*/
window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #000000;
border: none;
}
#workspaces button {
padding: 0 13px;
background-color: inherit;
color: #fff;
/* Use box-shadow instead of border so the text isn't offset */
box-shadow: inset 0 -3px transparent;
border-bottom: 3px solid #222;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
#workspaces button:hover {
background: rgba(0, 0, 0, 0.2);
box-shadow: inset 0 -3px #ffffff;
}
#workspaces button.focused {
background-color: #444;
color: #fff;
border-bottom: 3px solid #ffb52a;
}
#workspaces button.urgent {
background-color: #bd2c40;
}
#mode {
background-color: #64727d;
border-bottom: 3px solid #ffffff;
}
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#mpd {
padding: 0 5px;
margin: 0 3px;
color: #ffffff;
}
#window,
#workspaces {
margin: 0 4px;
}
/* If workspaces is the leftmost module, omit left margin */
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
/* Décalage du centre de 30 caractères de large sur la gauche (caractère M) */
.modules-center {
margin-left: -30em;
}
/* If workspaces is the rightmost module, omit right margin */
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
#clock {
background-color: inherit;
border-bottom: 3px solid #f4a70a;
}
#battery {
background-color: inherit;
border-bottom: 3px solid #ffb52a;
}
#battery.charging, #battery.plugged {
color: #ffffff;
background-color: #26A65B;
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
#battery.critical:not(.charging) {
background-color: #f53c3c;
color: #ffffff;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
label:focus {
background-color: #000000;
}
#cpu {
background-color: inherit;
border-bottom: 3px solid #f90000;
}
#memory {
background-color: inherit;
border-bottom: 3px solid #4bffdc;
}
#backlight {
background-color: inherit;
border-bottom: 3px solid #9f78e1;
}
#network {
background-color: inherit;
border-bottom: 3px solid #9f78e1;
}
#network.disconnected {
background-color: inherit;
}
#pulseaudio {
background-color: inherit;
border-bottom: 3px solid #f4a70a;
}
#pulseaudio.muted {
background-color: inherit;
color: #666;
}
#custom-media {
background-color: #66cc99;
color: #2a5c45;
min-width: 100px;
}
#custom-media.custom-spotify {
background-color: #66cc99;
}
#custom-media.custom-vlc {
background-color: #ffa000;
}
#custom-power {
margin: 0 10px;
color: red;
}
#temperature {
background-color: inherit;
border-bottom: 3px solid #f50a4d;
}
#temperature.critical {
background-color: #eb4d4b;
}
#tray {
background-color: inherit;
}

31
.config/wofi/style.css Normal file
View File

@ -0,0 +1,31 @@
/* base16-wofi (https://sr.ht/~knezi/base16-wofi)
* Base16 wofi template by knezi
* Solarized Dark scheme by Ethan Schoonover (modified by aramisgithub) */
window {
background-color: #002b36;
color: #93a1a1;
opacity: 0.8;
}
#entry:nth-child(odd) {
background-color: #002b36;
}
#entry:nth-child(even) {
background-color: #073642;
}
#entry:selected {
background-color: #586e75;
}
#input {
background-color: #073642;
color: #839496;
border-color: #586e75;
}
#input:focus {
border-color: #b58900;
}

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

@ -68,7 +68,7 @@ ZSH_THEME="powerlevel10k/powerlevel10k"
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse) # Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup. # Add wisely, as too many plugins slow down shell startup.
plugins=(git httpie ng npm nvm pass pip sudo wd) plugins=(git httpie ng npm nvm pass pip sudo wd pyenv kubectl helm terraform)
source $ZSH/oh-my-zsh.sh source $ZSH/oh-my-zsh.sh
@ -77,6 +77,26 @@ POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
POWERLEVEL9K_SHORTEN_DELIMITER="" POWERLEVEL9K_SHORTEN_DELIMITER=""
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_from_right" 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 # User configuration
export PAGER=most export PAGER=most
export BROWSER=elinks export BROWSER=elinks
@ -87,6 +107,7 @@ export PYTHONWARNINGS="ignore::DeprecationWarning"
#export FLASK_SKIP_DOTENV=1 ## make problems with poetry and flask applications #export FLASK_SKIP_DOTENV=1 ## make problems with poetry and flask applications
export PIPENV_QUIET=1 # enlève les courtesy notice export PIPENV_QUIET=1 # enlève les courtesy notice
export ENABLE_WARNINGS=false # enlève les warnings dans le setup RERO-ils export ENABLE_WARNINGS=false # enlève les warnings dans le setup RERO-ils
export KUBECONFIG=$HOME/kubeconfig
# You may need to manually set your language environment # You may need to manually set your language environment
export LANG=fr_FR.UTF-8 export LANG=fr_FR.UTF-8
@ -136,35 +157,15 @@ alias pyt='poetry run pytest -vvs --no-cov --disable-warnings'
alias pytc='poetry run pytest -vvs --disable-warnings --cov-report=xml:cov.xml' alias pytc='poetry run pytest -vvs --disable-warnings --cov-report=xml:cov.xml'
# projet rero # projet rero
alias rero="ALIAS=rero /home/od/projets/rerologik/agnes" alias rero="ALIAS=rero /home/od/projets/rerologik/agnes"
# coloration de la commande IP
alias ip='ip -c'
alias k='kubectl'
alias devu="${HOME}/devu/devu/devu"
alias gcle='gitlab-ci-local'
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ -f ~/.p10k.zsh ]] && source ~/.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 # Desktop specificities for development
case $HOST in case $HOST in
lueur | baloo | sam) lueur | baloo | sam)
@ -175,6 +176,7 @@ case $HOST in
source /usr/share/nvm/init-nvm.sh source /usr/share/nvm/init-nvm.sh
# Virtualenv (for Python development) # Virtualenv (for Python development)
export WORKON_HOME=~/.virtualenvs export WORKON_HOME=~/.virtualenvs
source /usr/bin/virtualenvwrapper.sh #source /usr/bin/virtualenvwrapper.sh
;; ;;
esac esac

View File

@ -1,5 +1,9 @@
emulate sh -c '. ~/.profile' emulate sh -c '. ~/.profile'
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
# Start X automatically # Start X automatically
if systemctl -q is-active graphical.target && [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then if systemctl -q is-active graphical.target && [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
exec startx exec startx

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'

View File

@ -12,6 +12,8 @@
quotePath = false quotePath = false
#[commit] #[commit]
# template = /home/od/.gitmessage.txt # template = /home/od/.gitmessage.txt
[config "pull"]
rebase = false
[pull] [pull]
rebase = false rebase = false
[init] [init]

2
.nvmrc
View File

@ -1 +1 @@
10.16.3 12.18.2

View File

@ -14,7 +14,35 @@ for term in kitty termite qterminal urxvt rxvt-unicode sakura gnome-terminal; do
fi fi
done done
# Pour la batterie des ordinateurs portables (~/bin/battery)
#export BATPATH="/sys/class/power_supply/BAT0"
# Permit DBUS to be launched # Permit DBUS to be launched
if [ "$0" = "/usr/sbin/lightdm-session" -a "$DESKTOP_SESSION" = "i3" ]; then if [ "$0" = "/usr/sbin/lightdm-session" -a "$DESKTOP_SESSION" = "i3" ]; then
export $(gnome-keyring-daemon -s) export $(gnome-keyring-daemon -s)
fi fi
# Environnement Pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
# Démarrage de l'environnement préféré
if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then
case $HOST in
fuz | fuztest)
variables_file="${HOME}/.config/environment.d/envvars.conf"
if [[ -f "${variables_file}" ]]; then
# charge seulement les lignes sans "#" (non commentées)
for line in `cat "${variables_file}"|grep -Ev '^#'`; do
export "$line"
done
fi
exec sway
;;
*)
: # on ne fait rien, car c'est .xinitrc qui lance i3
;;
esac
fi
# vim: ts=2 sw=2 et nu

View File

@ -26,7 +26,7 @@ Port 22
Host ovh Host ovh
Hostname 37.187.17.29 Hostname 37.187.17.29
User od User od
Port 22 Port 4555
# ?? # ??
Host pi Host pi
@ -90,3 +90,75 @@ Host proxy
Hostname 163.172.155.15 Hostname 163.172.155.15
User root User root
Port 22 Port 22
Host bastion
Hostname usine.michalon.eu
User od
Port 22
Host abeille
Hostname 192.168.1.90
User od
Port 22
ProxyJump bastion
Host mattermost
Hostname dossmann.net
User od
Port 4555
Host wekan
Hostname 192.168.101.11
User od
Port 22
ProxyJump mattermost
Host backup
Hostname 37.187.17.29
User root
Port 22
## Serveur salon (Beelink)
Host suc
Hostname 192.168.1.42
User od
Port 22
## Labo K8s
Host deux
Hostname 192.168.1.102
User od
Port 22
Host trois
Hostname 192.168.1.103
User od
Port 22
Host quatre
Hostname 192.168.1.104
User od
Port 22
## Labo K8S AMD64
Host douze
Hostname 192.168.1.112
User nous
Port 22
Host treize
Hostname 192.168.1.113
User maison
Port 22
Host quatorze
Hostname 192.168.1.202
User od
Port 22
## Formation DevOps - Datascientest
Host devu
Hostname 54.229.27.155
User ubuntu
Port 22
IdentityFile ~/.ssh/data_enginering_machine.pem

View File

@ -8,6 +8,9 @@
# make tmux display things in 256 colors # make tmux display things in 256 colors
set -g default-terminal "tmux-256color" set -g default-terminal "tmux-256color"
# make tmux use the default terminal
set -g default-command "${SHELL}"
# set scrollback history to 10000 (10k) # set scrollback history to 10000 (10k)
set -g history-limit 10000 set -g history-limit 10000
@ -81,7 +84,7 @@ set -g status-left "#{pane_current_path}"
set -g status-left-length 30 set -g status-left-length 30
# Activer mon layout par defaut # Activer mon layout par defaut
new -s projets -n dev #new -s projets -n dev
splitw -v -p 50 -t dev #splitw -v -p '50' -t dev
neww -n discussion #neww -n autre
selectw -t dev #selectw -t dev

View File

@ -1,6 +1,11 @@
ans:/home/od/projets/buffet ans:/home/od/projets/buffet
blog:~/projets/blog
buf:/home/od/projets/buffet buf:/home/od/projets/buffet
cal:~/projets/effeuillage
cloud:~/freshmile/cloud cloud:~/freshmile/cloud
fastapi:~/devu/exam_DOSSMANN/fastapi_exam_DOSSMANN
graille:~/projets/graille
ops:~/projets/ops
patchwork:/home/od/projets/patchwork patchwork:/home/od/projets/patchwork
p:~/freshmile/pulp p:~/freshmile/pulp
ps:~/freshmile/pulp/Seed ps:~/freshmile/pulp/Seed

View File

@ -39,4 +39,5 @@ fi
#exec xterm -geometry 80x66+0+0 -name login #exec xterm -geometry 80x66+0+0 -name login
#exec $1 #exec $1
# Le lancement est fait dans `.profile` pour prendre en compte Wayland
exec i3 exec i3

42
.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 typeset -U PATH path
path=("$HOME/.local/bin" "$HOME/bin" "/opt/sublime_merge" "$path[@]") path=("$HOME/.local/bin" "$HOME/bin" "/opt/sublime_merge" "$path[@]", "$(go env GOPATH)/bin")
export PATH export PATH
# Autocomplètement supplémentaire (Docker) # Language environment
if [ -d "$HOME/.zsh/completion" ] ; then export LANG=fr_FR.UTF-8
fpath=(~/.zsh/completion $fpath)
fi # 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 #!/bin/sh
#
# battery
#
# Penser à modifier la variable dans ~/.profile
HEART_FULL=♥ HEART_FULL=♥
HEART_EMPTY=♡ HEART_EMPTY=♡
@ -46,6 +50,7 @@ battery_status()
case $(uname -s) in case $(uname -s) in
"Linux") "Linux")
BATPATH=${BATPATH:-/sys/class/power_supply/BAT1} BATPATH=${BATPATH:-/sys/class/power_supply/BAT1}
[[ -h "${BATPATH}" ]] || return 0
STATUS=$BATPATH/status STATUS=$BATPATH/status
[ "$1" = `cat $STATUS` ] || [ "$1" = "" ] || return 0 [ "$1" = `cat $STATUS` ] || [ "$1" = "" ] || return 0
if [ -f "$BATPATH/energy_full" ]; then if [ -f "$BATPATH/energy_full" ]; then

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,15 +2,25 @@
# random_wallpaper # random_wallpaper
# #
# Requirement: feh (apt install feh) # Requirement: feh (apt install feh) - for Xorg
# Requirement: swaybg - for Wayland
directory="$HOME/wallpapers" directory="$HOME/wallpapers"
minutes=15 minutes=15
PROGRAM=`which feh`
is_wayland=false
# Some tests # Some tests
if [ -z "`which feh`" ]; then if [[ "${XDG_SESSION_TYPE}" == "wayland" ]]; then
PROGRAM=`which swaymsg`
if [ -z "${PROGRAM}" ]; then
echo "This script needs the swaymsg program."
exit 1
fi
is_wayland=true
elif [ -z "${PROGRAM}" ]; then
echo "This script needs the feh program. Install it." echo "This script needs the feh program. Install it."
i exit 1 exit 1
fi fi
if [ -d '$directory' ]; then if [ -d '$directory' ]; then
@ -40,7 +50,12 @@ while true; do
# Change background # Change background
file="${array_files["$NUMBER"]}" file="${array_files["$NUMBER"]}"
feh --bg-fill "$directory/$file" if "${is_wayland}"; then
# Use of swaybg program (used with swaymsg)
$PROGRAM output "*" bg "$directory/$file" fill
else
feh --bg-fill "$directory/$file"
fi
# Wait some times # Wait some times
sleep $seconds sleep $seconds

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/vpnfreshmile Executable file
View File

@ -0,0 +1,3 @@
#!/usr/bin/env bash
sudo su - root -c "cd /etc/openvpn/client/ && openvpn --config client.conf --daemon"

3
bin/webserver Executable file
View File

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