Compare commits

...

3 Commits

Author SHA1 Message Date
Quentin Duchemin 287d4a452d
Add Mocha colors to polybar
TODO : change icons to use Nerd fonts
2023-12-18 21:58:40 +01:00
Quentin Duchemin 646ef5affc
Catppuccin Mocha theme for Terminator, ZSH and VSCodium, new ZSH prompt/font 2023-12-18 20:00:52 +01:00
Quentin Duchemin 989a6215c8
Various fixes 2023-12-18 19:13:52 +01:00
16 changed files with 182 additions and 119 deletions

View File

@ -3,3 +3,7 @@ alias ap='ansible-playbook'
alias yey='yay -Syu --noconfirm' alias yey='yay -Syu --noconfirm'
# Avoid losing stuff # Avoid losing stuff
alias rm='rmtrash' alias rm='rmtrash'
# cp is rsync
alias cp='cpv'
# ls sorted by modification time
alias lt='ls -lath'

View File

@ -43,7 +43,6 @@ pass
picom picom
playerctl playerctl
polybar polybar
powerline-fonts
python-dbus python-dbus
python-gobject python-gobject
python-pip python-pip
@ -67,6 +66,7 @@ ttf-font-awesome
ttf-material-icons-git ttf-material-icons-git
ttf-symbola ttf-symbola
ttf-weather-icons ttf-weather-icons
ttf-meslo-nerd
unzip unzip
usb_modeswitch usb_modeswitch
vim vim

View File

@ -0,0 +1,35 @@
# See https://github.com/polybar/polybar/wiki/Formatting#format-tags-inside-polybar-config
# Only way to use format tags with variables in polybar for now
export MOCHA_TEXT="#cdd6fa"
export MOCHA_MAROON="#eba0ac"
export MOCHA_PEACH="#fab387"
export MOCHA_LAVENDER="#b4befe"
export MOCHA_BLUE="#89b4fa"
export MOCHA_SKY="#89dceb"
export MOCHA_YELLOW="#f9e2af"
export MOCHA_GREEN="#a6e3a1"
export MOCHA_SAPPHIRE="#74c7ec"
export MOCHA_PINK="#f5c2e7"
export MOCHA_ROSEWATER="#f2cdcd"
export MOCHA_MAUVE="#ca9ee6"
export MOCHA_TEAL="#81c8be"
export BAR_WINDOW="%{F$MOCHA_TEXT}%title%"
export BAR_WIFI_CONNECTED="%{F$MOCHA_TEXT}%essid% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %local_ip% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %downspeed% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %upspeed%"
export BAR_WIRED_CONNECTED="%{F$MOCHA_TEXT}%ifname% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %local_ip% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %downspeed% %{F$MOCHA_YELLOW}%{F$MOCHA_TEXT} %upspeed%"
export BAR_CPU="%{F$MOCHA_MAUVE} "
export BAR_TEMP_OK="%{F$MOCHA_MAUVE} %{F-} %temperature-c%"
export BAR_TEMP_WARN="%{F$MOCHA_PEACH} %{F-} %temperature-c%"
export BAR_MENU_OPEN="%{F$MOCHA_MAUVE}%{F$MOCHA_TEXT}"
export BAR_MENU_CLOSE="%{F$MOCHA_MAUVE}%{F$MOCHA_TEXT}"
export BAR_BACKLIGHT="{F$MOCHA_SKY}☀️%{F$MOCHA_TEXT} %percentage%%"
export BAR_BATTERY_FULL="%{$MOCHA_SAPPHIRE} %percentage%%"
export BAR_BATTERY_CHARGING="${MOCHA_LAVENDER} %percentage%%"
export BAR_BATTERY_DISCHARGIN="${MOCHA_PEACH} %percentage%%"
export BAR_MEMORY_DESKTOP="%{F$MOCHA_MAUVE}"
export BAR_MEMORY_LAPTOP="%{F$MOCHA_MAUVE}%percentage_used%%"
export BAR_MEMORY_LAPTOP_WARN="%{F$MOCHA_PEACH}%percentage_used%%"
export BAR_DATE="%{F$MOCHA_MAUVE}🕓%{F$MOCHA_TEXT} %date% · %time%"
export BAR_LOW_VOL="%{F$MOCHA_MAUVE}🔈%{F$MOCHA_TEXT}"
export BAR_MED_VOL="%{F$MOCHA_MAUVE}🔉%{F$MOCHA_TEXT}"
export BAR_HIGH_VOL="%{F$MOCHA_MAUVE}🔊%{F$MOCHA_TEXT}"
export BAR_HEAD_VOL="%{F$MOCHA_MAUVE}%{F$MOCHA_TEXT}"

View File

@ -14,19 +14,19 @@ type = internal/memory
interval = 0.2 interval = 0.2
format = <label> <bar-used> format = <label> <bar-used>
label = %{F#fba922} label = ${env:BAR_MEMORY_DESKTOP}
bar-used-width = 50 bar-used-width = 50
bar-used-gradient = true bar-used-gradient = true
bar-used-foreground-0 = #55aa55 bar-used-foreground-0 = ${colors.sapphire}
bar-used-foreground-1 = #557755 bar-used-foreground-1 = ${colors.sapphire}
bar-used-foreground-2 = #f5a70a bar-used-foreground-2 = ${colors.peach}
bar-used-foreground-3 = #ff5555 bar-used-foreground-3 = ${colors.red}
bar-used-indicator = bar-used-indicator =
bar-used-indicator-font = 2 bar-used-indicator-font = 2
bar-used-indicator-foreground = #fff bar-used-indicator-foreground = ${colors.sapphire}
bar-used-fill =▐ bar-used-fill =▐
bar-used-fill-font = 2 bar-used-fill-font = 2
bar-used-empty =▐ bar-used-empty =▐
bar-used-empty-font = 2 bar-used-empty-font = 2
bar-used-empty-foreground = #444444 bar-used-empty-foreground = ${colors.overlay2}

View File

@ -15,5 +15,5 @@ interval = 0.2
format = <label> format = <label>
format-warn = <label-warn> format-warn = <label-warn>
warn-percentage = 60 warn-percentage = 60
label = %{F#fba922}%{F#77dd77} %percentage_used%% label = ${env:BAR_MEMORY_LAPTOP}
label-warn = %{F#fba922} %percentage_used%% label-warn = ${env:BAR_MEMORY_LAPTOP_WARN}

View File

@ -1,14 +1,6 @@
[colors]
; First two letter of background are for transparency
background = #882f343f
foreground = #eee
foreground-alt = #555
secondary = #e60053
alert = #bd2c40
accent = #fba922
[global/wm] [global/wm]
margin-top=50 margin-top=50
include-file = $HOME/.config/polybar/mocha.ini
; Common to top and bottom bars ; Common to top and bottom bars
[bar/common] [bar/common]
@ -16,27 +8,27 @@ width = 100%
dpi = ${variables.dpi} dpi = ${variables.dpi}
enable-ipc = true enable-ipc = true
height = ${variables.height} height = ${variables.height}
foreground = ${colors.foreground} foreground = ${colors.text}
background = ${colors.background} background = ${colors.surface0}
line-size = 3 line-size = 3
line-color = #f00 line-color = ${colors.base}
locale = fr_FR.UTF-8 locale = fr_FR.UTF-8
monitor = ${env:MONITOR:HDMI-0} monitor = ${env:MONITOR:HDMI-0}
[bar/chostytopbar] [bar/chostytopbar]
inherit = bar/common inherit = bar/common
font-0 = NotoSans-Regular:size=10;2 font-0 = NotoSans-Regular:size=10;1
font-1 = MaterialIcons-Regular:size=11;4 font-1 = MaterialIcons-Regular:size=11;4
font-2 = Symbola:size=10;2 font-2 = Symbola:size=10;2
font-3 = Weather Icons:size=10;3 font-3 = Weather Icons:size=10;3
overline-size = 10 overline-size = 10
underline-size = 10 underline-size = 10
overline-color = ${self.background} overline-color = ${colors.mauve}
underline-color = ${self.background} underline-color = ${colors.mauve}
border-bottom-size = 1 border-bottom-size = 1
border-bottom-color = #333 border-bottom-color = ${colors.base}
padding-left = 2 padding-left = 2
padding-right = 10 padding-right = 10
module-margin-left = 4 module-margin-left = 4
@ -53,9 +45,9 @@ inherit = bar/common
bottom = true bottom = true
overline-size = 3 overline-size = 3
overline-color = ${colors.accent} overline-color = ${colors.mauve}
underline-size = 3 underline-size = 3
underline-color = ${colors.accent} underline-color = ${colors.mauve}
spacing = 3 spacing = 3
padding-left = 0 padding-left = 0
@ -63,9 +55,9 @@ padding-right = 5
module-margin-left = 6 module-margin-left = 6
module-margin-right = 6 module-margin-right = 6
font-0 = Roboto:size=10;2 font-0 = NotoSans-Regular:size=10;1
font-1 = Symbola:size=4;1 font-1 = Symbola:size=4;2
font-2 = Symbola:size=5;1 font-2 = Symbola:size=5;2
;MaterialIcons are the ones used for i3 icons ;MaterialIcons are the ones used for i3 icons
font-3 = MaterialIcons-Regular:size=11;4 font-3 = MaterialIcons-Regular:size=11;4
font-4 = Font Awesome 5 Free:style=solid:size=10;2 font-4 = Font Awesome 5 Free:style=solid:size=10;2
@ -81,16 +73,16 @@ tail = true
[module/xwindow] [module/xwindow]
type = internal/xwindow type = internal/xwindow
label = %{F#ddd}%title% label = ${env:BAR_WINDOW}
label-maxlen=100 label-maxlen=100
[module/wireless-network] [module/wireless-network]
type = internal/network type = internal/network
interface-type = wireless interface-type = wireless
interval = 1 interval = 1
label-connected = %{F#ddd}%essid%  %local_ip% %{F#77dd77}%{F-} %downspeed% %{F#dd7777}%{F-} %upspeed% label-connected = ${env:BAR_WIFI_CONNECTED}
label-disconnected = Wireless disconnected label-disconnected = Wireless disconnected
label-disconnected-foreground = #66 label-disconnected-foreground = ${colors.text}
; Poorly documented and hackish way to have more space between some modules ; Poorly documented and hackish way to have more space between some modules
label-connected-margin = 10 label-connected-margin = 10
label-disconnected-margin = 10 label-disconnected-margin = 10
@ -100,9 +92,9 @@ type = internal/network
interface = interface =
interface-type = wired interface-type = wired
interval = 1 interval = 1
label-connected = %{F#ddd}%ifname%  %local_ip% %{F#77dd77}%{F-} %downspeed% %{F#dd7777}%{F-} %upspeed% label-connected = ${env:BAR_WIRED_CONNECTED}
label-disconnected = Ethernet disconnected label-disconnected = Ethernet disconnected
label-disconnected-foreground = #66 label-disconnected-foreground = ${colors.text}
[module/i3] [module/i3]
type = internal/i3 type = internal/i3
@ -117,29 +109,31 @@ ws-icon-3 = 4;
ws-icon-4 = 5; ws-icon-4 = 5;
ws-icon-5 = 6; ws-icon-5 = 6;
label-dimmed-underline = ${root.background}
label-separator = | label-separator = |
label-mode-underline = ${colors.surface1}
label-focused = %icon% %name% label-focused = %icon% %name%
label-focused-foreground = #f3f3f3 label-focused-foreground = ${colors.text}
;label-focused-underline = #${colors.accent} label-focused-underline = ${colors.mauve}
label-focused-underline = #9f78e1
label-focused-font = 0 label-focused-font = 0
label-focused-padding = 4 label-focused-padding = 4
label-unfocused = %icon% %name% label-unfocused = %icon% %name%
label-unfocused-underline = #555555 label-unfocused-underline = ${colors.surface1}
label-unfocused-font = 0 label-unfocused-font = 0
label-unfocused-padding = 4 label-unfocused-padding = 4
label-urgent = %icon% %name% label-urgent = %icon% %name%
label-urgent-foreground = #000000 label-urgent-foreground = ${colors.base}
label-urgent-background = #bd2c40 label-urgent-background = ${colors.red}
label-urgent-underline = #9b0a20 label-urgent-underline = ${colors.mauve}
label-urgent-font = 0 label-urgent-font = 0
label-urgent-padding = 4 label-urgent-padding = 4
label-visible = %icon% %name% label-visible = %icon% %name%
label-visible-foreground = #55ffffff label-visible-foreground = ${colors.text}
label-visible-underline = ${colors.surface1}
label-visible-font = 0 label-visible-font = 0
label-visible-padding = 4 label-visible-padding = 4
@ -149,42 +143,39 @@ interval = 0.5
format = <label> <ramp-coreload> format = <label> <ramp-coreload>
label = %{F#fba922}  label = ${env:BAR_CPU}
ramp-coreload-0 = ▁ ramp-coreload-0 = ▁
ramp-coreload-0-font = 3 ramp-coreload-0-font = 3
ramp-coreload-0-foreground = #aaff77 ramp-coreload-0-foreground = ${colors.sapphire}
ramp-coreload-1 = ▂ ramp-coreload-1 = ▂
ramp-coreload-1-font = 3 ramp-coreload-1-font = 3
ramp-coreload-1-foreground = #aaff77 ramp-coreload-1-foreground = ${colors.sapphire}
ramp-coreload-2 = ▃ ramp-coreload-2 = ▃
ramp-coreload-2-font = 3 ramp-coreload-2-font = 3
ramp-coreload-2-foreground = #aaff77 ramp-coreload-2-foreground = ${colors.sapphire}
ramp-coreload-3 = ▄ ramp-coreload-3 = ▄
ramp-coreload-3-font = 3 ramp-coreload-3-font = 3
ramp-coreload-3-foreground = #aaff77 ramp-coreload-3-foreground = ${colors.sapphire}
ramp-coreload-4 = ▅ ramp-coreload-4 = ▅
ramp-coreload-4-font = 3 ramp-coreload-4-font = 3
ramp-coreload-4-foreground = #fba922 ramp-coreload-4-foreground = ${colors.peach}
ramp-coreload-5 = ▆ ramp-coreload-5 = ▆
ramp-coreload-5-font = 3 ramp-coreload-5-font = 3
ramp-coreload-5-foreground = #fba922 ramp-coreload-5-foreground = ${colors.peach}
ramp-coreload-6 = ▇ ramp-coreload-6 = ▇
ramp-coreload-6-font = 3 ramp-coreload-6-font = 3
ramp-coreload-6-foreground = #ff5555 ramp-coreload-6-foreground = ${colors.maroon}
ramp-coreload-7 = █ ramp-coreload-7 = █
ramp-coreload-7-font = 3 ramp-coreload-7-font = 3
ramp-coreload-7-foreground = #ff5555 ramp-coreload-7-foreground = ${colors.red}
[module/date] [module/date]
type = internal/date type = internal/date
interval = 1.0 interval = 1.0
date = " %A %d %B %Y" date = " %A %d %B %Y"
time = %H:%M:%S time = %H:%M:%S
label = ${env:BAR_DATE}
label = %{F#ddd} %date%  %time%
[module/temperature] [module/temperature]
type = internal/temperature type = internal/temperature
@ -192,49 +183,42 @@ thermal-zone = 0
warn-temperature = 60 warn-temperature = 60
interval = 0.5 interval = 0.5
format = <ramp> <label> format = <label>
format-warn = <ramp> <label-warn> format-warn = <label-warn>
label = %{F#77dd77} %{F-} %temperature-c% label = ${env:BAR_TEMP_OK}
label-warn = %{F#dd7777} %{F-} %temperature-c% label-warn = ${env:BAR_TEMP_WARN}
label-warn-foreground = #dd7777 label-warn-foreground = ${colors.text}
ramp-0 =
ramp-1 =
ramp-2 =
ramp-foreground = ${colors.foreground-alt}
[module/powermenu] [module/powermenu]
type = custom/menu type = custom/menu
format-padding = 3 format-padding = 3
label-open = ${env:BAR_MENU_OPEN}
label-open = %{F#dd7777}%{F#ddd} label-close = ${env:BAR_MENU_CLOSE}
label-close = %{F#dd7777}%{F#ddd}
label-separator = " · " label-separator = " · "
menu-0-0 = Exit i3 menu-0-0 = Exit i3
menu-0-0-foreground = ${colors.accent} menu-0-0-foreground = ${colors.text}
menu-0-0-exec = i3-msg exit menu-0-0-exec = i3-msg exit
menu-0-1 = Reboot menu-0-1 = Reboot
menu-0-1-foreground = ${colors.accent} menu-0-1-foreground = ${colors.text}
menu-0-1-exec = menu-open-1 menu-0-1-exec = menu-open-1
menu-0-2 = Power off menu-0-2 = Power off
menu-0-2-foreground = ${colors.accent} menu-0-2-foreground = ${colors.text}
menu-0-2-exec = menu-open-2 menu-0-2-exec = menu-open-2
menu-1-0 = Cancel menu-1-0 = Cancel
menu-1-0-foreground = ${colors.accent} menu-1-0-foreground = ${colors.mauve}
menu-1-0-exec = menu-open-0 menu-1-0-exec = menu-open-0
menu-1-1 = Reboot menu-1-1 = Reboot
menu-1-1-foreground = ${colors.accent} menu-1-1-foreground = ${colors.mauve}
menu-1-1-exec = systemctl reboot -i menu-1-1-exec = systemctl reboot -i
menu-2-0 = Cancel menu-2-0 = Cancel
menu-2-0-foreground = ${colors.accent} menu-2-0-foreground = ${colors.mauve}
menu-2-0-exec = menu-open-0 menu-2-0-exec = menu-open-0
menu-2-1 = Power off menu-2-1 = Power off
menu-2-1-foreground = ${colors.accent} menu-2-1-foreground = ${colors.mauve}
menu-2-1-exec = systemctl poweroff menu-2-1-exec = systemctl poweroff
[module/system-usb-udev] [module/system-usb-udev]
@ -262,7 +246,7 @@ interval = 30
[module/backlight] [module/backlight]
type = internal/backlight type = internal/backlight
card = intel_backlight card = intel_backlight
label = %{F#77dd77}☀️%{F#ddd} %percentage%% label = ${env:BAR_BACKLIGHT}
bar-width = 10 bar-width = 10
bar-indicator = | bar-indicator = |
bar-fill = ─ bar-fill = ─
@ -275,7 +259,7 @@ interval = 5
format-volume = <ramp-volume> <label-volume> format-volume = <ramp-volume> <label-volume>
label-muted = 🔇 muted label-muted = 🔇 muted
label-muted-foreground = #666 label-muted-foreground = ${colors.rosewater}
ramp-volume-0 = 🔈 ramp-volume-0 = 🔈
ramp-volume-1 = 🔉 ramp-volume-1 = 🔉
@ -293,9 +277,9 @@ poll-interval = 5
format-charging = <label-charging> format-charging = <label-charging>
format-discharging = <label-discharging> format-discharging = <label-discharging>
format-full = <label-full> format-full = <label-full>
label-charging =  %percentage%% label-charging = ${env:BAR_BATTERY_CHARGING}
label-discharging =  %percentage%% label-discharging = ${env:BAR_BATTERY_DISCHARGING}
label-full = %{F#77dd77} label-full = ${env:BAR_BATTERY_FULL}
[module/alsa] [module/alsa]
type = internal/alsa type = internal/alsa
@ -308,13 +292,13 @@ master-mixer = Master
format-volume = <ramp-volume> <label-volume> format-volume = <ramp-volume> <label-volume>
label-muted = 🔇 muted label-muted = 🔇 muted
label-muted-foreground = #66 label-muted-foreground = ${colors.rosewater}
ramp-volume-0 = 🔈 ramp-volume-0 = ${env:BAR_LOW_VOL}
ramp-volume-1 = 🔉 ramp-volume-1 = ${env:BAR_MED_VOL}
ramp-volume-2 = 🔊 ramp-volume-2 = ${env:BAR_HIGH_VOL}
ramp-headphones-0 = ramp-headphones-0 = ${env:BAR_HEAD_VOL}
ramp-headphones-1 = ramp-headphones-1 = ${env:BAR_HEAD_VOL}
interval = 3 interval = 3

View File

@ -1,6 +1,8 @@
#/bin/sh #/bin/sh
source $(dirname $0)/../.env
source $(dirname $0)/filesystem.data source $(dirname $0)/filesystem.data
output="" output=""
for i in "${!parts[@]}"; do for i in "${!parts[@]}"; do
avail=$(df -h ${parts[$i]} | tail -1 | tr -s ' ' | cut -d' ' -f4) avail=$(df -h ${parts[$i]} | tail -1 | tr -s ' ' | cut -d' ' -f4)
@ -8,13 +10,13 @@ for i in "${!parts[@]}"; do
num=$(echo ${used} | cut -d'%' -f1) num=$(echo ${used} | cut -d'%' -f1)
if [ "$num" -gt 80 ] ; then if [ "$num" -gt 80 ] ; then
color="#dd7777" color="$MOCHA_RED"
elif [ "$num" -gt 50 ] ; then elif [ "$num" -gt 50 ] ; then
color="#fba922" color="$MOCHA_PEACH"
else else
color="#77dd77" color="$MOCHA_MAUVE"
fi fi
output=$output"%{F${color}}${icons[$i]} $used%{F#555} · $avail%{F-}" output=$output"%{F${color}}${icons[$i]} $used%{F$MOCHA_TEXT} · $avail"
if [ $(($i + 1)) -ne "${#parts[@]}" ] ; then if [ $(($i + 1)) -ne "${#parts[@]}" ] ; then
output=$output" " output=$output" "
fi fi

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source ~/.config/polybar/.env
names=("chostybottombar" "chostytopbar") names=("chostybottombar" "chostytopbar")
killall -q polybar killall -q polybar
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done

View File

@ -1,3 +1,3 @@
#!/bin/sh #!/bin/sh
source $(dirname $0)/../.env
echo "%{F#77dd77}%{F#ddd} " $(uptime --pretty | sed 's/up //') echo "%{F$MOCHA_MAUVE}%{F$MOCHA_TEXT} " $(uptime --pretty | sed 's/up //')

View File

@ -1,5 +1,6 @@
#!/bin/sh #!/bin/sh
source $(dirname $0)/../.env
# Dependencies : jq ; udisks2 # Dependencies : jq ; udisks2
# Some updates by Quentin Duchemin on 18/03/07 # Some updates by Quentin Duchemin on 18/03/07
# - Add label in lsblk selection # - Add label in lsblk selection
@ -41,7 +42,7 @@ usb_print() {
output="$output$space$mounted" output="$output$space$mounted"
done done
echo "%{F#ddd}$output" echo "%{F$MOCHA_TEXT}$output"
} }
usb_update() { usb_update() {

View File

@ -1,5 +1,6 @@
#!/bin/sh #!/bin/sh
source $(dirname $0)/../.env
connect=$(ping -q -w 1 -c 1 `ip r | grep default | cut -d ' ' -f 3` &> /dev/null) connect=$(ping -q -w 1 -c 1 `ip r | grep default | cut -d ' ' -f 3` &> /dev/null)
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
updates_arch=$(/usr/bin/checkupdates | wc -l) updates_arch=$(/usr/bin/checkupdates | wc -l)
@ -7,9 +8,9 @@ if [ $? -eq 0 ]; then
updates_aur=$(yay -Qua | wc -l) updates_aur=$(yay -Qua | wc -l)
updates=$(("$updates_arch" + "$updates_aur")) updates=$(("$updates_arch" + "$updates_aur"))
if [ "$updates" -gt 0 ]; then if [ "$updates" -gt 0 ]; then
echo "%{F#dd7777}%{F#ddd} $updates_arch | $updates_aur" echo "%{F$MOCHA_MAUVE}%{F$MOCHA_TEXT} $updates_arch | $updates_aur"
else else
echo "%{F#77dd77}%{F#ddd} 0" echo "%{F$MOCHA_GREEN}%{F$MOCHA_TEXT} 0"
fi fi
else else
echo "%{F#77dd77}%{F#ddd} Offline" echo "%{F#77dd77}%{F#ddd} Offline"

View File

@ -2,8 +2,10 @@
borderless = True borderless = True
use_custom_url_handler = True use_custom_url_handler = True
custom_url_handler = firefox custom_url_handler = firefox
enabled_plugins = TerminalShot, LaunchpadCodeURLHandler, APTURLHandler, LaunchpadBugURLHandler enabled_plugins = ActivityWatch, InactivityWatch, LaunchpadBugURLHandler, LaunchpadCodeURLHandler, APTURLHandler, TerminalShot, TerminatorThemes
suppress_multiple_term_dialog = True suppress_multiple_term_dialog = True
always_split_with_profile = True
putty_paste_style_source_clipboard = True
[keybindings] [keybindings]
go_next = <Primary><Shift>n go_next = <Primary><Shift>n
go_prev = <Primary><Shift>p go_prev = <Primary><Shift>p
@ -25,12 +27,32 @@
[profiles] [profiles]
[[default]] [[default]]
icon_bell = False icon_bell = False
background_darkness = 0.8 background_color = "#282828"
background_type = transparent background_darkness = 1.0
cursor_fg_color = "#000000"
cursor_bg_color = "#aaaaaa"
font = DejaVu Sans Mono 11 font = DejaVu Sans Mono 11
foreground_color = "#ebdbb2"
scrollbar_position = hidden scrollbar_position = hidden
scrollback_infinite = True scrollback_infinite = True
use_system_font = False use_system_font = False
use_theme_colors = True
bold_is_bright = True
title_transmit_fg_color = "#000000"
title_transmit_bg_color = "#ffffff"
[[Catppuccin_Mocha]]
icon_bell = False
background_color = "#282828"
background_darkness = 1.0
cursor_fg_color = "#000000"
cursor_bg_color = "#f5e0dc"
font = MesloLGM Nerd Font 11
foreground_color = "#ebdbb2"
scrollbar_position = hidden
scrollback_infinite = True
palette = "#45475a:#f38ba8:#a6e3a1:#f9e2af:#89b4fa:#f5c2e7:#94e2d5:#bac2de:#585b70:#f38ba8:#a6e3a1:#f9e2af:#89b4fa:#f5c2e7:#94e2d5:#a6adc8"
use_system_font = False
bold_is_bright = True
title_transmit_fg_color = "#000000" title_transmit_fg_color = "#000000"
title_transmit_bg_color = "#ffffff" title_transmit_bg_color = "#ffffff"
[layouts] [layouts]
@ -48,6 +70,6 @@
type = Terminal type = Terminal
parent = child0 parent = child0
order = 0 order = 0
profile = default profile = Catppuccin_Mocha
uuid = 498cd758-0193-4b69-b40a-9743e0b080a7 uuid = 498cd758-0193-4b69-b40a-9743e0b080a7
[plugins] [plugins]

View File

@ -121,9 +121,13 @@ if [ ! -z "$INIT" ]; then
pip install --break-system-packages pychee pip install --break-system-packages pychee
# Additionnal plugins for ZSH # Additionnal plugins for ZSH
echo -e "* Install ZSH plugins for oh-my-zsh..." echo -e "* Install ZSH plugins for oh-my-zsh..."
sudo git clone https://github.com/zsh-users/zsh-syntax-highlighting.git /usr/share/oh-my-zsh/plugins/zsh-syntax-highlighting sudo git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git /usr/share/oh-my-zsh/plugins/zsh-fast-syntax-highlighting
sudo git clone https://github.com/zsh-users/zsh-autosuggestions /usr/share/oh-my-zsh/plugins/zsh-autosuggestions sudo git clone https://github.com/zsh-users/zsh-autosuggestions /usr/share/oh-my-zsh/plugins/zsh-autosuggestions
sudo git clone https://github.com/unixorn/fzf-zsh-plugin.git /usr/share/oh-my-zsh/plugins/fzf-zsh-plugin sudo git clone https://github.com/unixorn/fzf-zsh-plugin.git /usr/share/oh-my-zsh/plugins/fzf-zsh-plugin
echo -e "* Install everything we need for Catppuccin themes..."
echo -e "\tFor polybar..."
wget https://github.com/catppuccin/polybar/blob/main/themes/mocha.ini -O ~/.config/polybar/mocha.ini
sudo wget https://raw.githubusercontent.com/catppuccin/zsh-fsh/main/themes/catppuccin-macchiato.ini -O /usr/share/oh-my-zsh/plugins/fast-syntax-highlighting
# Basic directory structure # Basic directory structure
echo -e "* Create base home directories..." echo -e "* Create base home directories..."
mkdir -p ~/documents ~/images/screenshots ~/videos ~/downloads mkdir -p ~/documents ~/images/screenshots ~/videos ~/downloads
@ -139,6 +143,15 @@ if [ ! -z "$INIT" ]; then
# This creates a Xorg configuration file # This creates a Xorg configuration file
sudo localectl --no-convert set-x11-keymap fr sudo localectl --no-convert set-x11-keymap fr
echo -e "* Create a symlink rrm → rm (rm will be an alias to rmtrash) in zsh" echo -e "* Create a symlink rrm → rm (rm will be an alias to rmtrash) in zsh"
echo -e "* Install synchronization extension for VSCode settings and plugins..."
# Avoid to push whole extensions up to hundreds of MB, and avoid using
# Micro$oft proprietary stuff, usable with any git server
vscodium --install-extension zokugun.sync-settings
git clone git@git.chosto.me:Chosto/codium-settings.git ~/.config/codium-settings
echo -e "* Install plugin to pick theme for Terminator..."
# See https://github.com/EliverLara/terminator-themes
mkdir -p $HOME/.config/terminator/plugins
wget https://git.io/v5Zww -O $HOME"/.config/terminator/plugins/terminator-themes.py"
fi fi
if [ ! -z ${ENV} ]; then if [ ! -z ${ENV} ]; then

4
.vimrc
View File

@ -1,4 +1,6 @@
vmap <C-c> :<Esc>`>a<CR><Esc>mx`<i<CR><Esc>my'xk$v'y!xclip -selection c<CR>u vmap <C-c> :<Esc>`>a<CR><Esc>mx`<i<CR><Esc>my'xk$v'y!xclip -selection c<CR>u
map <Insert> :set paste<CR>i<CR><CR><Esc>k:.!xclip -o<CR>JxkJx:set nopaste<CR> map <Insert> :set paste<CR>i<CR><CR><Esc>k:.!xclip -o<CR>JxkJx:set nopaste<CR>
" Reopen the last edited position in files " Reopen the last edited position in files
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
syntax on
filetype on

24
.zshrc
View File

@ -1,11 +1,6 @@
# Path to your oh-my-zsh installation. # Path to your oh-my-zsh installation.
export ZSH=/usr/share/oh-my-zsh export ZSH=/usr/share/oh-my-zsh
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="agnoster"
# Uncomment the following line to use case-sensitive completion. # Uncomment the following line to use case-sensitive completion.
CASE_SENSITIVE="true" CASE_SENSITIVE="true"
@ -24,8 +19,6 @@ HISTFILE=~/.zsh_history
HISTSIZE=10000 HISTSIZE=10000
SAVEHIST=10000 SAVEHIST=10000
[[ -s /home/.autojump/etc/profile.d/autojump.sh ]] && source /home/.autojump/etc/profile.d/autojump.sh
autoload -U compinit && compinit -u
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# 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)
@ -45,6 +38,8 @@ plugins=(
docker docker
# unique command for most archives # unique command for most archives
extract extract
# fish-like highlighting as you type
fast-syntax-highlighting
# fuzzy finder for history, files, docker, process, etc (see fzf) # fuzzy finder for history, files, docker, process, etc (see fzf)
fzf-zsh-plugin fzf-zsh-plugin
# aliases # aliases
@ -53,8 +48,6 @@ plugins=(
pass pass
# fish-like completion as you type # fish-like completion as you type
zsh-autosuggestions zsh-autosuggestions
# fish-like syntax hightlightin as you type
zsh-syntax-highlighting
) )
# Enable option stacking in autocomplete, i.e. docker run -it <TAB> # Enable option stacking in autocomplete, i.e. docker run -it <TAB>
@ -64,21 +57,24 @@ zstyle ':completion:*:*:docker-*:*' option-stacking yes
# Load ZSH # Load ZSH
source $ZSH/oh-my-zsh.sh source $ZSH/oh-my-zsh.sh
# Use Quick Term prompt theme made for Oh My Posh, in zsh
eval "$(oh-my-posh init zsh --config https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/quick-term.omp.json)"
# And use Catppuccin Mocha theme for ZSH fast hightlight plugin (LOCAL means searching in /usr/local/fsh)
fast-theme LOCAL:catppuccin-mocha >/dev/null
# Preferred editor for local and remote sessions # Preferred editor for local and remote sessions
export EDITOR=vim export EDITOR=vim
# Do not print user@hostname if user is myself # Do not print user@hostname if user is myself
DEFAULT_USER=`whoami` DEFAULT_USER=`whoami`
# Aliases
alias cp="cpv"
alias lt='ls -lath'
# To use when .cfg contains a bare git repo. # To use when .cfg contains a bare git repo.
# See this https://developer.atlassian.com/blog/2016/02/best-way-to-store-dotfiles-git-bare-repo/ # See this https://developer.atlassian.com/blog/2016/02/best-way-to-store-dotfiles-git-bare-repo/
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME' alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
config config --local status.showUntrackedFiles no config config --local status.showUntrackedFiles no
# Use GPG key for SSH authentication
unset SSH_AGENT_PID unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
@ -86,10 +82,12 @@ fi
export GPG_TTY="$(tty)" export GPG_TTY="$(tty)"
gpg-connect-agent updatestartuptty /bye >/dev/null gpg-connect-agent updatestartuptty /bye >/dev/null
# Source aliases
if [ -f ~/.aliases ]; then if [ -f ~/.aliases ]; then
. ~/.aliases . ~/.aliases
fi fi
# Source environment variables
if [ -f ~/.env ]; then if [ -f ~/.env ]; then
. ~/.env . ~/.env
fi fi

View File

@ -21,6 +21,7 @@ So basically, what I like about this setup is that there is no "useless" menu ba
In brief this is the classic Arch/i3 combo with : In brief this is the classic Arch/i3 combo with :
* A wonderful theming for most of installed software with [Catppuccin Latte](https://github.com/catppuccin/catppuccin):wq
* [Polybar](https://github.com/jaagr/polybar/), a great replacement for i3-bar with easy custom plugins and [system tray](https://specifications.freedesktop.org/systemtray-spec/systemtray-spec-0.3.html) * [Polybar](https://github.com/jaagr/polybar/), a great replacement for i3-bar with easy custom plugins and [system tray](https://specifications.freedesktop.org/systemtray-spec/systemtray-spec-0.3.html)
* A notification daemon (urgency-aware), [Dunst](https://github.com/dunst-project/dunst), controlled by shortcuts (but possibly with mouse) * A notification daemon (urgency-aware), [Dunst](https://github.com/dunst-project/dunst), controlled by shortcuts (but possibly with mouse)
* [Rofi](https://github.com/DaveDavenport/rofi), a full-customizable app launcher * [Rofi](https://github.com/DaveDavenport/rofi), a full-customizable app launcher