From 47914cac3abf4f8e55b821ace3372c77ecdb4e28 Mon Sep 17 00:00:00 2001 From: ssfunerals Date: Thu, 27 Feb 2025 10:56:47 +0100 Subject: [PATCH] =?UTF-8?q?Me=20suis=20tromp=C3=A9=20j'avais=20mis=20des?= =?UTF-8?q?=20liens?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/.bashrc | 26 ++- config/hypr | 1 - config/hypr/hyprland.conf | 280 ++++++++++++++++++++++++++ config/hypr/hyprland.conf.save | 297 ++++++++++++++++++++++++++++ config/hypr/hyprlock.conf | 140 +++++++++++++ config/kitty | 1 - config/kitty/GruvBox_DarkHard.conf | 42 ++++ config/kitty/kitty.conf | 87 ++++++++ config/waybar | 1 - config/waybar/config | 305 +++++++++++++++++++++++++++++ config/waybar/launch.sh | 13 ++ config/waybar/style.css | 226 +++++++++++++++++++++ scripts/confscript.sh | 31 ++- scripts/rofi-power | 1 - scripts/update.sh | 30 ++- scripts/vpnactivation.sh | 39 +++- 16 files changed, 1512 insertions(+), 8 deletions(-) mode change 120000 => 100644 config/.bashrc delete mode 120000 config/hypr create mode 100644 config/hypr/hyprland.conf create mode 100644 config/hypr/hyprland.conf.save create mode 100644 config/hypr/hyprlock.conf delete mode 120000 config/kitty create mode 100644 config/kitty/GruvBox_DarkHard.conf create mode 100644 config/kitty/kitty.conf delete mode 120000 config/waybar create mode 100755 config/waybar/config create mode 100755 config/waybar/launch.sh create mode 100755 config/waybar/style.css mode change 120000 => 100644 scripts/confscript.sh delete mode 120000 scripts/rofi-power mode change 120000 => 100755 scripts/update.sh mode change 120000 => 100755 scripts/vpnactivation.sh diff --git a/config/.bashrc b/config/.bashrc deleted file mode 120000 index 830a6ec..0000000 --- a/config/.bashrc +++ /dev/null @@ -1 +0,0 @@ -/home/ssfunerals/.bashrc \ No newline at end of file diff --git a/config/.bashrc b/config/.bashrc new file mode 100644 index 0000000..ee5efa1 --- /dev/null +++ b/config/.bashrc @@ -0,0 +1,25 @@ +case $- in + *i*) ;; + *) return;; +esac +export OSH='/home/ssfunerals/.oh-my-bash' + +OSH_THEME="font" +OMB_USE_SUDO=true +completions=( + git + ssh + aws + awscli + docker +) +aliases=( + general +) +plugins=( + git + bashmarks +) +source "$OSH"/oh-my-bash.sh +[[ "$TERM" == "xterm-kitty" ]] && alias ssh="TERM=xterm-256color ssh" +alias x='/bin/bash /home/ssfunerals/confscript.sh' diff --git a/config/hypr b/config/hypr deleted file mode 120000 index 6ccf6b4..0000000 --- a/config/hypr +++ /dev/null @@ -1 +0,0 @@ -/home/ssfunerals/.config/hypr \ No newline at end of file diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf new file mode 100644 index 0000000..6ed5ef6 --- /dev/null +++ b/config/hypr/hyprland.conf @@ -0,0 +1,280 @@ +################ +### MONITORS ### +################ + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=,preferred,auto,1 + + +################### +### MY PROGRAMS ### +################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ + +# Set programs that you use +$terminal = kitty +$fileManager = dolphin +$menu = wofi --show drun +$browser = firefox + +################# +### AUTOSTART ### +################# + +exec-once = nm-applet --indicator +exec-once = blueman-applet +exec-once = swaybg -i /home/ssfunerals/wp.png -m fill +exec-once=~/.config/waybar/launch.sh +exec-once = mako +exec-once = kitty -e /home/ssfunerals/vpnactivation.sh +exec-once = kitty -e /home/ssfunerals/update.sh +############################# +### ENVIRONMENT VARIABLES ### +############################# + +# See https://wiki.hyprland.org/Configuring/Environment-variables/ + +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 +env = QT_QPA_PLATFORMTHEME,qt5ct +env = QT_QPA_PLATFORM,wayland +env = WAYLAND_DISPLAY, wayland-0 +env = XDG_SESSION_TYPE, wayland + +##################### +### LOOK AND FEEL ### +##################### + +# Refer to https://wiki.hyprland.org/Configuring/Variables/ + +# https://wiki.hyprland.org/Configuring/Variables/#general +general { + gaps_in = 5 + gaps_out = 20 + + border_size = 2 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + # Set to true enable resizing windows by clicking and dragging on borders and gaps + resize_on_border = false + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false + + layout = dwindle +} + +# https://wiki.hyprland.org/Configuring/Variables/#decoration +decoration { + rounding = 10 + + # Change transparency of focused and unfocused windows + active_opacity = 1 + inactive_opacity = 0.7 + + shadow { + enabled = true + range = 4 + render_power = 3 + color = rgba(1a1a1aee) + } + + # https://wiki.hyprland.org/Configuring/Variables/#blur + blur { + enabled = true + size = 3 + passes = 1 + + vibrancy = 0.1696 + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#animations +animations { + enabled = yes, please :) + + # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = easeOutQuint,0.23,1,0.32,1 + bezier = easeInOutCubic,0.65,0.05,0.36,1 + bezier = linear,0,0,1,1 + bezier = almostLinear,0.5,0.5,0.75,1.0 + bezier = quick,0.15,0,0.1,1 + + animation = global, 1, 10, default + animation = border, 1, 5.39, easeOutQuint + animation = windows, 1, 4.79, easeOutQuint + animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% + animation = windowsOut, 1, 1.49, linear, popin 87% + animation = fadeIn, 1, 1.73, almostLinear + animation = fadeOut, 1, 1.46, almostLinear + animation = fade, 1, 3.03, quick + animation = layers, 1, 3.81, easeOutQuint + animation = layersIn, 1, 4, easeOutQuint, fade + animation = layersOut, 1, 1.5, linear, fade + animation = fadeLayersIn, 1, 1.79, almostLinear + animation = fadeLayersOut, 1, 1.39, almostLinear + animation = workspaces, 1, 1, almostLinear, slide + animation = workspacesIn, 1, 2, almostLinear, slide + animation = workspacesOut, 1, 2, almostLinear, slide +} + +# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more +dwindle { + pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # You probably want this +} + +# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more +master { + new_status = master +} + +# https://wiki.hyprland.org/Configuring/Variables/#misc +misc { + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( +} + + +############# +### INPUT ### +############# + +# https://wiki.hyprland.org/Configuring/Variables/#input +input { + kb_layout = fr + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + touchpad { + natural_scroll = true + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#gestures +gestures { + workspace_swipe = false +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more +device { + name = epic-mouse-v1 + sensitivity = -0.5 +} + + +################### +### KEYBINDINGS ### +################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ +$mainMod = SUPER # Sets "Windows" key as main modifier + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, T, exec, $terminal +bind = $mainMod, X, killactive, +bind = $mainMod, F, exec, $browser +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, Space, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle +bind = $mainMod, L, exec, hyprlock +bind = $mainMod, C, exec, /usr/bin/code --ozone-platform=wayland +bind = $mainMod, N, exec, spotify-launcher +bind = $mainMod, A, exec, hyprshot -m region +bind = $mainMod, U, exec, kitty -e /home/ssfunerals/update.sh + + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, code:10, workspace, 1 +bind = $mainMod, code:11, workspace, 2 +bind = $mainMod, code:12, workspace, 3 +bind = $mainMod, code:13, workspace, 4 +bind = $mainMod, code:14, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, code:10, movetoworkspace, 1 +bind = $mainMod SHIFT, code:11, movetoworkspace, 2 +bind = $mainMod SHIFT, code:12, movetoworkspace, 3 +bind = $mainMod SHIFT, code:13, movetoworkspace, 4 +bind = $mainMod SHIFT, code:14, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + + +# Custom +bind = $mainMod, code:48, exec, kitty -e /home/ssfunerals/vpnactivation.sh + + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, code:112, workspace, e+1 +bind = $mainMod, code:117, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# Laptop multimedia keys for volume and LCD brightness +bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ +bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle +bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+ +bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%- + +# Requires playerctl +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous + +############################## +### WINDOWS AND WORKSPACES ### +############################## + +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ +windowrule = tile, ^(kitty)$ +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ + +# Ignore maximize requests from apps. You'll probably like this. +windowrulev2 = suppressevent maximize, class:.* + +# Fix some dragging issues with XWayland +windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 diff --git a/config/hypr/hyprland.conf.save b/config/hypr/hyprland.conf.save new file mode 100644 index 0000000..be11569 --- /dev/null +++ b/config/hypr/hyprland.conf.save @@ -0,0 +1,297 @@ + +# ####################################################################################### +# AUTOGENERATED HYPRLAND CONFIG. +# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hyprland.conf AND EDIT IT, +# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. +# ####################################################################################### + +autogenerated = 1 # remove this line to remove the warning + +# This is an example Hyprland config file. +# Refer to the wiki for more information. +# https://wiki.hyprland.org/Configuring/ + +# Please note not all available settings / options are set here. +# For a full list, see the wiki + +# You can split this configuration into multiple files +# Create your files separately and then link them to this file like this: +# source = ~/.config/hypr/myColors.conf + + +################ +### MONITORS ### +################ + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=,preferred,auto,auto + + +################### +### MY PROGRAMS ### +################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ + +# Set programs that you use +$terminal = kitty +$fileManager = dolphin +$menu = wofi --show drun + + +################# +### AUTOSTART ### +################# + +# Autostart necessary processes (like notifications daemons, status bars, etc.) +# Or execute your favorite apps at launch like this: + +# exec-once = $terminal +# exec-once = nm-applet & +# exec-once = waybar & hyprpaper & firefox + + +############################# +### ENVIRONMENT VARIABLES ### +############################# + +# See https://wiki.hyprland.org/Configuring/Environment-variables/ + +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 + + +##################### +### LOOK AND FEEL ### +##################### + +# Refer to https://wiki.hyprland.org/Configuring/Variables/ + +# https://wiki.hyprland.org/Configuring/Variables/#general +general { + gaps_in = 5 + gaps_out = 20 + + border_size = 2 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + # Set to true enable resizing windows by clicking and dragging on borders and gaps + resize_on_border = false + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false + + layout = dwindle +} + +# https://wiki.hyprland.org/Configuring/Variables/#decoration +decoration { + rounding = 10 + + # Change transparency of focused and unfocused windows + active_opacity = 1.0 + inactive_opacity = 1.0 + + shadow { + enabled = true + range = 4 + render_power = 3 + color = rgba(1a1a1aee) + } + + # https://wiki.hyprland.org/Configuring/Variables/#blur + blur { + enabled = true + size = 3 + passes = 1 + + vibrancy = 0.1696 + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#animations +animations { + enabled = yes, please :) + + # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = easeOutQuint,0.23,1,0.32,1 + bezier = easeInOutCubic,0.65,0.05,0.36,1 + bezier = linear,0,0,1,1 + bezier = almostLinear,0.5,0.5,0.75,1.0 + bezier = quick,0.15,0,0.1,1 + + animation = global, 1, 10, default + animation = border, 1, 5.39, easeOutQuint + animation = windows, 1, 4.79, easeOutQuint + animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% + animation = windowsOut, 1, 1.49, linear, popin 87% + animation = fadeIn, 1, 1.73, almostLinear + animation = fadeOut, 1, 1.46, almostLinear + animation = fade, 1, 3.03, quick + animation = layers, 1, 3.81, easeOutQuint + animation = layersIn, 1, 4, easeOutQuint, fade + animation = layersOut, 1, 1.5, linear, fade + animation = fadeLayersIn, 1, 1.79, almostLinear + animation = fadeLayersOut, 1, 1.39, almostLinear + animation = workspaces, 1, 1.94, almostLinear, fade + animation = workspacesIn, 1, 1.21, almostLinear, fade + animation = workspacesOut, 1, 1.94, almostLinear, fade +} + +# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ +# "Smart gaps" / "No gaps when only" +# uncomment all if you wish to use that. +# workspace = w[tv1], gapsout:0, gapsin:0 +# workspace = f[1], gapsout:0, gapsin:0 +# windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1] +# windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1] +# windowrulev2 = bordersize 0, floating:0, onworkspace:f[1] +# windowrulev2 = rounding 0, floating:0, onworkspace:f[1] + +# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more +dwindle { + pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # You probably want this +} + +# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more +master { + new_status = master +} + +# https://wiki.hyprland.org/Configuring/Variables/#misc +misc { + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( +} + + +############# +### INPUT ### +############# + +# https://wiki.hyprland.org/Configuring/Variables/#input +input { + kb_layout = fr + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + touchpad { + natural_scroll = false + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#gestures +gestures { + workspace_swipe = false +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more +device { + name = epic-mouse-v1 + sensitivity = -0.5 +} + + +################### +### KEYBINDINGS ### +################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ +$mainMod = SUPER # Sets "Windows" key as main modifier + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, $terminal +bind = $mainMod, C, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# Laptop multimedia keys for volume and LCD brightness +bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ +bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle +bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+ +bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%- + +# Requires playerctl +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous + +############################## +### WINDOWS AND WORKSPACES ### +############################## + +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ + +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ + +# Ignore maximize requests from apps. You'll probably like this. +windowrulev2 = suppressevent maximize, class:.* + +# Fix some dragging issues with XWayland +windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 diff --git a/config/hypr/hyprlock.conf b/config/hypr/hyprlock.conf new file mode 100644 index 0000000..6eb3a76 --- /dev/null +++ b/config/hypr/hyprlock.conf @@ -0,0 +1,140 @@ +source = /home/justin/.cache/wal/colors-hyprland.conf + +# BACKGROUND +background { + monitor = + path = screenshot + # path = /home/justin/Pictures/wal.png + #color = $background + blur_passes = 1 + contrast = 1 + brightness = 0.5 + vibrancy = 0.2 + vibrancy_darkness = 0.2 +} + +# GENERAL +general { + no_fade_in = true + no_fade_out = true + hide_cursor = false + grace = 0 + disable_loading_bar = true +} + +# INPUT FIELD +input-field { + monitor = + size = 250, 60 + outline_thickness = 2 + dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.35 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + outer_color = rgba(0, 0, 0, 0) + inner_color = rgba(110, 110, 110, 0.2) + font_color = $foreground + fade_on_empty = false + rounding = -1 + check_color = rgb(204, 136, 34) + placeholder_text = Input Password... + hide_input = false + position = 0, -200 + halign = center + valign = center +} + +# DATE +label { + monitor = + text = cmd[update:1000] echo "$(date +"%A, %B %d")" + color = rgba(242, 243, 244, 0.75) + font_size = 22 + font_family = JetBrains Mono + position = 0, 300 + halign = center + valign = center +} + +# TIME +label { + monitor = + text = cmd[update:1000] echo "$(date +"%-I:%M")" + color = rgba(242, 243, 244, 0.75) + font_size = 95 + font_family = JetBrains Mono Extrabold + position = 0, 200 + halign = center + valign = center +} + + + +# Profile Picture +image { + monitor = + path = /home/justin/Pictures/profile_pictures/justin_square.png + size = 100 + border_size = 2 + border_color = $foreground + position = 0, -100 + halign = center + valign = center +} + +# Desktop Environment +image { + monitor = + path = /home/justin/Pictures/profile_pictures/hypr.png + size = 75 + border_size = 2 + border_color = $foreground + position = -50, 50 + halign = right + valign = bottom +} + +# CURRENT SONG +label { + monitor = + text = cmd[update:1000] echo "$(/home/justin/Documents/Scripts/whatsong.sh)" + color = $foreground + #color = rgba(255, 255, 255, 0.6) + font_size = 18 + font_family = Metropolis Light, Font Awesome 6 Free Solid + position = 0, 50 + halign = center + valign = bottom +} + +label { + monitor = + text = cmd[update:1000] echo "$(/home/justin/Documents/Scripts/whoami.sh)" + color = $foreground + font_size = 14 + font_family = JetBrains Mono + position = 0, -10 + halign = center + valign = top +} + +label { + monitor = + text = cmd[update:1000] echo "$(/home/justin/Documents/Scripts/battery.sh)" + color = $foreground + font_size = 24 + font_family = JetBrains Mono + position = -90, -10 + halign = right + valign = top +} + +label { + monitor = + text = cmd[update:1000] echo "$(/home/justin/Documents/Scripts/network-status.sh)" + color = $foreground + font_size = 24 + font_family = JetBrains Mono + position = -20, -10 + halign = right + valign = top +} diff --git a/config/kitty b/config/kitty deleted file mode 120000 index 92826d7..0000000 --- a/config/kitty +++ /dev/null @@ -1 +0,0 @@ -/home/ssfunerals/.config/kitty \ No newline at end of file diff --git a/config/kitty/GruvBox_DarkHard.conf b/config/kitty/GruvBox_DarkHard.conf new file mode 100644 index 0000000..041053c --- /dev/null +++ b/config/kitty/GruvBox_DarkHard.conf @@ -0,0 +1,42 @@ +# Selection Colors +selection_foreground #ebdbb2 +selection_background #d65d0e + +# Window border Colors +active_border_color #8ec07c +inactive_border_color #665c54 + +# Kitty tabs colors +active_tab_foreground #ebdbb2 +active_tab_background #458588 +inactive_tab_foreground #ebdbb2 +inactive_tab_background #8ec07c + +# Basic color +background #1d2021 +foreground #ebdbb2 + +# 16 main colors +color0 #3c3836 +color1 #cc241d +color2 #98971a +color3 #d79921 +color4 #458588 +color5 #b16286 +color6 #689d6a +color7 #a89984 +color8 #928374 +color9 #fb4934 +color10 #b8bb26 +color11 #fabd2f +color12 #83a598 +color13 #d3869b +color14 #8ec07c +color15 #fbf1c7 + +# Cursor colors +cursor #bdae93 +cursor_text_color #665c54 + +# Url color +url_color #458588 \ No newline at end of file diff --git a/config/kitty/kitty.conf b/config/kitty/kitty.conf new file mode 100644 index 0000000..949ce01 --- /dev/null +++ b/config/kitty/kitty.conf @@ -0,0 +1,87 @@ + +# _ _ _ _ _ _ _ +# | | _(_) |_| |_ _ _ | |_ ___ _ __ _ __ ___ (_)_ __ __ _| | +# | |/ / | __| __| | | | | __/ _ \ '__| '_ ` _ \| | '_ \ / _` | | +# | <| | |_| |_| |_| | | || __/ | | | | | | | | | | | (_| | | +# |_|\_\_|\__|\__|\__, | \__\___|_| |_| |_| |_|_|_| |_|\__,_|_| +# |___/ _ _ _ +# ___ _ _ ___| |_ ___ _ __ ___ (_)______ _| |_(_) ___ _ __ +# / __| | | / __| __/ _ \| '_ ` _ \| |_ / _` | __| |/ _ \| '_ \ +# | (__| |_| \__ \ || (_) | | | | | | |/ / (_| | |_| | (_) | | | | +# \___|\__,_|___/\__\___/|_| |_| |_|_/___\__,_|\__|_|\___/|_| |_| + +########################################################################## + +# themes +include GruvBox_DarkHard.conf +#include Wryan.conf +#include VSCode_Dark.conf + + +# terminal opacity and blur +background_opacity 1.0 +background_blur 1 + +# advance +term xterm-kitty + +# terminal bell +enable_audio_bell no + +# os specific tweaks (Gnome window decoration for wayland) +linux_display_server wayland + +# font +font_family JetBrainsMono Nerd Font +bold_font auto +italic_font auto +bold_italic_font auto +font_size 10.0 + +# font size management +map ctrl+shift+backspace change_font_size all 0 + +# cursor customization +# block / beam / underline +cursor_shape block +cursor_blink_interval 0 +cursor_stop_blinking_after 0 +shell_integration no-cursor + +# scrollback +scrollback_lines 5000 +wheel_scroll_multiplier 3.0 + +# mouse +mouse_hide_wait -1 + +# window layout +remember_window_size yes +window_border_width 1.5pt +enabled_layouts tall +hide_window_decorations no +window_scale 3.0 + +# window management +map ctrl+shift+enter new_window +map ctrl+shift+] next_window +map ctrl+shift+[ previous_window + +# layout management +map ctrl+shift+l next_layout +map ctrl+alt+r goto_layout tall +map ctrl+alt+s goto_layout stack + +# tab bar customization +tab_bar_style powerline +tab_powerline_style slanted +tab_bar_edge bottom +tab_bar_align left +active_tab_font_style bold +inactive_tab_font_style normal + +# tab management +map ctrl+shift+t new_tab +map ctrl+shift+right next_tab +map ctrl+shift+left previous_tab +map ctrl+shift+q close_tab diff --git a/config/waybar b/config/waybar deleted file mode 120000 index 051b1db..0000000 --- a/config/waybar +++ /dev/null @@ -1 +0,0 @@ -/home/ssfunerals/.config/waybar \ No newline at end of file diff --git a/config/waybar/config b/config/waybar/config new file mode 100755 index 0000000..c25250c --- /dev/null +++ b/config/waybar/config @@ -0,0 +1,305 @@ +// vim:ft=jsonc +{ + "layer": "top", + "position": "top", + "height": 52, + "margin-left": 20, + "margin-right": 20, + "margin-top": 10, + "margin-bottom": 0, + "spacing": 2, + "reload_style_on_change": true, + + // Choose the order of the modules + + "modules-left": ["hyprland/workspaces", "river/tags", "tray"], + + //"modules-center": ["clock"], + + "modules-right": [ + "network", + "cpu", + "memory", + "battery", + "temperature", + "backlight", + "wireplumber", + "clock", + "custom/separator", + "group/custom-group", + "custom/separator", + "custom/power" + + ], + + "group/custom-group": { + "orientation": "horizontal", + "modules": [ + "idle_inhibitor" + //"custom/bluetooth", + //"custom/wifi", + //"custom/pacman" + ], + }, + + "hyprland/workspaces": { + "on-click": "activate", + //"active-only": false, + "all-outputs": true, + "format": "{icon}", + "format-icons": { + "1": "", // 󰈹 + "2": "", + "3": "", + "4": "", + "5": "", + "6": "", + "7": "󰠮", + "8": "", + "9": "", + "10": "", + // "","", + // "urgent": "", + // "active": "", + // "default": "" + }, + }, + + "hyprland/window": { + "format": "{}", + "separate-outputs": true, + }, + + "river/tags": { + "num-tags": 7, + "tag-labels": ["󰈹", "", "", "", "", "", "󰠮", "", "", ""], + }, + + "tray": { + "icon-size": 24, + "spacing": 10, + "show-passive-items": true, + }, + + "clock": { + "interval": 60, + "format": " {:%a %d %b  %I:%M %p}", // %b %d %Y --Date formatting + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%d-%m-%Y %H:%M:%S  }", + }, + + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + // "format-critical": "{temperatureC}°C {icon}", + "critical-threshold": 80, + "interval": 2, + "format": " {temperatureC:>2}°C", + "format-icons": ["", "", ""], + "on-click": "hyprctl dispatcher togglespecialworkspace monitor", + }, + + "cpu": { + "interval": 2, + "format": " {usage:>2}%", + "on-click": "hyprctl dispatcher togglespecialworkspace monitor", + }, + + "memory": { + "interval": 2, + "format": " {:>2}%", + }, + + "disk": { + "interval": 15, + "format": "󰋊 {percentage_used:>2}%", + }, + + "backlight": { + // "device": "acpi_video1", + "format": "{icon} {percent:>2}%", + "format-icons": ["", "", "", "", "", "", "", "", ""], + }, + + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "interval": 1, + "format-wifi": " {bandwidthTotalBytes:>2}", //({essid} {signalStrength}%) + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format-wifi": " {ipaddr} ({signalStrength}%)", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "󰀦 Disconnected", //Disconnected ⚠ + "format-alt": "{ifname}: {ipaddr}/{cidr}", + }, + + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{icon} {volume}%", //{format_source}", + "format-bluetooth": "{icon} {volume}% 󰂯", //{format_source}", + "format-bluetooth-muted": "󰖁 {icon} 󰂯", //{format_source}", + "format-muted": "󰖁 {volume}%", + // "format-source": " {volume}%", + // "format-source-muted": "", + "format-icons": { + "headphone": "󰋋", + "hands-free": "󱡒", + "headset": "󰋎", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""], + }, + "on-click": "pavucontrol", + }, + + "wireplumber": { + "format": "{icon} {volume:>3}%", + "format-muted": "󰖁 {volume:>3}%", + // "format-bluetooth": "{icon} {volume:>2}% 󰂯", //{format_source}", + // "format-bluetooth-muted": "󰖁 {icon} 󰂯", //{format_source}", + "format-icons": ["", "", ""], + }, + + // This waybar build doesn't have support for cava. + // Need to edit the PKGBUILD and rebuild with -Dcava=enabled flag + "cava": { + "cava_config": "$XDG_CONFIG_HOME/cava/config", + "framerate": 30, + "autosens": 1, + "sensitivity": 100, + "bars": 14, + "lower_cutoff_freq": 50, + "higher_cutoff_freq": 10000, + "method": "pulse", + "source": "auto", + "stereo": true, + "reverse": false, + "bar_delimiter": 0, + "monstercat": false, + "waves": false, + "noise_reduction": 0.77, + "input_delay": 2, + "format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"], + "actions": { + "on-click-right": "mode", + }, + }, + + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "󰈈", + "deactivated": "󰈉", + }, + }, + + "custom/power": { + "format": "{icon}", + "format-icons": " ", //   + "exec-on-event": "true", + "on-click": "$HOME/scripts/rofi-power", + "tooltip-format": "Power Menu", + }, + + "custom/kdeconnect": { + "format": "{icon}", + "format-icons": "", + "exec-on-event": "true", + "on-click": "kdeconnect-app", + "tooltip-format": "KDE Connect", + }, + + "custom/bluetooth": { + "format": "{icon}", + "format-icons": "", + "exec-on-event": "true", + "on-click": "$HOME/scripts/rofi-bluetooth", + "tooltip-format": "Bluetooth Menu", + }, + + "custom/wifi": { + "format": "{icon}", + "format-icons": "", + "exec-on-event": "true", + "on-click": "$HOME/scripts/rofi-wifi", + "tooltip-format": "Wifi Menu", + }, + + "custom/separator": { + "format": "{icon}", + "format-icons": "|", + "tooltip": false, + }, + + "custom/pacman": { + "format": " {}", + "interval": 3600, // every hour + "exec": "checkupdates | wc -l", // # of updates + "exec-if": "exit 0", // always run; consider advanced run conditions + "on-click": "kitty -e 'sudo pacman -Syu'; pkill -SIGRTMIN+8 waybar", // update system + "signal": 8, + }, + + "custom/notification": { + "tooltip": false, + "format": "{icon} {}", + "format-icons": { + "notification": "", + "none": "", + "dnd-notification": "", + "dnd-none": "", + "inhibited-notification": "", + "inhibited-none": "", + "dnd-inhibited-notification": "", + "dnd-inhibited-none": "", + }, + "return-type": "json", + "exec-if": "which swaync-client", + "exec": "swaync-client -swb", + "on-click": "swaync-client -t -sw", + "on-click-right": "swaync-client -d -sw", + "escape": true, + }, + + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "", + }, + }, + + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 32, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": ["kitty", "wezterm", "foot", "footclient"], + }, + + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 15, + }, + "format": "{capacity}% {icon}", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{icon} {time}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""], + }, + + "backlight/slider": { + "min": 0, + "max": 100, + "orientation": "horizontal", + "device": "intel_backlight", + }, +} diff --git a/config/waybar/launch.sh b/config/waybar/launch.sh new file mode 100755 index 0000000..23a58fd --- /dev/null +++ b/config/waybar/launch.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +# Terminate already running bar instances +# If all your bars have ipc enabled, you can use +# polybar-msg cmd quit +# Otherwise you can use the nuclear option: +killall -q waybar + +# Launch bar1 and bar2 +waybar 2>&1 | tee -a /tmp/waybar.log & +disown + +echo "Bars launched..." diff --git a/config/waybar/style.css b/config/waybar/style.css new file mode 100755 index 0000000..c2c51a6 --- /dev/null +++ b/config/waybar/style.css @@ -0,0 +1,226 @@ +@define-color fg #F5F5F5; +@define-color bg #1F1F28; +@define-color bordercolor #C8C093; +@define-color highlight #D59C5C; +@define-color disabled #A5A5A5; +@define-color alert #E67E80; +@define-color activegreen #26A65B; + +* { + min-height: 0; + font-family: "JetBrainsMono Nerd Font", Roboto, Helvetica, Arial, sans-serif; + font-size: 16px; +} + +window#waybar { + color: @fg; + background: @bg; + border-radius: 10px; + transition-property: background-color; + transition-duration: 0.5s; + border: 2px solid @bordercolor; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none;; + border-radius: 0px; + padding: 0px 5px; + margin: 15px 0px; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px transparent; +} + +#workspaces button { + color: @fg; + margin-left: 10px; +} + +#workspaces button.urgent { + color: @alert; +} +#workspaces button.empty { + color: @bordercolor; +} + +#workspaces button.active { + color: @highlight; +} + +/*River Tags/Workspaces*/ +#tags { + border-radius: 0px; + padding: 0px 5px; +} + +#tags button { + color: @bordercolor; + background: @bg; + + /*If you need round border icons*/ + border-radius: 0px; + padding: 0px 0px; + margin: 5px 0px; +} + +#tags button.occupied { + color: @fg; +} + +#tags button.focused { + color: @highlight; +} + +#tags button.urgent { + color: @alert; +} + +#clock, +#cava, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#language, +#backlight, +#backlight-slider, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#taskbar, +#tray, +#tray menu, +#tray > .needs-attention, +#tray > .passive, +#tray > .active, +#mode, +#scratchpad, +#custom-notification, +#custom-wifi, +#custom-kdeconnect, +#custom-bluetooth, +#custom-power, +#custom-separator, +#idle_inhibitor, +#window, +#mpd { + padding: 0px 10px; + margin: 0px 5px; + color: @bordercolor; +} + +#custom-notification, +#custom-wifi, +#custom-kdeconnect, +#custom-bluetooth, +#custom-power, +#idle_inhibitor { + color: @bg; +} + +#clock, +#custom-group { + color: @bg; + background-color: @bordercolor; + margin: 10px; + padding: 0px 15px; + border-radius: 5px; +} + +#custom-separator { + padding: 0px; + margin: 0px; + color: @disabled; +} + +#custom-power { + color: @alert; +} + + +#tray { + /*background-color: @bordercolor;*/ + border: 1px solid @bordercolor; + margin: 10px; + padding: 0px 15px; + border-radius: 5px; +} + +#network.disconnected, +#pulseaudio.muted, +#wireplumber.muted { + color: @alert; +} + +#battery.charging, +#battery.plugged { + color: @activegreen; +} + +label:focus { + background-color: @bg; +} + +#battery.critical:not(.charging) { + background-color: @alert; + color: @fg; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +#tray > .passive { + background-color: red; + color: @bg; +} +#tray menu { + background-color: @bg; + border: 1px solid @bordercolor; + color: @bordercolor; + border-radius: 10px; + padding: 5px; +} +#tray menuitem { + background-color: @bg; + color: @bordercolor; + border-radius: 3px; + border: 1px solid transparent; +} +#tray menuitem:hover { + background-color: #000000; + border: 1px solid @bordercolor; +} + +/* +#tray menu { + background-color: @bg; + border: 1px solid @bordercolor; + color: @bordercolor; + border-radius: 10px; + padding: 5px; +} + +#tray menuitem { + background-color: @bg; + color: @bordercolor; + border-radius: 3px; + padding: 5px 10px; +} + +#tray menuitem:hover { + background-color: #000000; + border: 1px solid @bordercolor; +} +*/ + + diff --git a/scripts/confscript.sh b/scripts/confscript.sh deleted file mode 120000 index 86614cc..0000000 --- a/scripts/confscript.sh +++ /dev/null @@ -1 +0,0 @@ -/home/ssfunerals/confscript.sh \ No newline at end of file diff --git a/scripts/confscript.sh b/scripts/confscript.sh new file mode 100644 index 0000000..706f6ba --- /dev/null +++ b/scripts/confscript.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +kitty="/home/ssfunerals/.config/kitty/kitty.conf" +hyprland="/home/ssfunerals/.config/hypr/hyprland.conf" +hyprlocl="/home/ssfunerals/.config/hypr/hyprlock.conf" +waybar="/home/ssfunerals/.config/waybar/config" + +if [ -z "$1" ]; then + echo "Usage: $0 [kitty|hyprland|hyprlock|waybar]" + exit 1 +fi + +case "$1" in + kitty) + nano "$kitty" + ;; + hyprland) + nano "$hyprland" + ;; + hyprlock) + nano "$hyprlocl" + ;; + waybar) + nano "$waybar" + ;; + *) + echo "Erreur : option invalide. Choisissez parmi [kitty|hyprland|hyprlock|waybar]." + exit 1 + ;; +esac diff --git a/scripts/rofi-power b/scripts/rofi-power deleted file mode 120000 index f0c3c88..0000000 --- a/scripts/rofi-power +++ /dev/null @@ -1 +0,0 @@ -/home/ssfunerals/scripts/rofi-power \ No newline at end of file diff --git a/scripts/update.sh b/scripts/update.sh deleted file mode 120000 index 8a44c01..0000000 --- a/scripts/update.sh +++ /dev/null @@ -1 +0,0 @@ -/home/ssfunerals/update.sh \ No newline at end of file diff --git a/scripts/update.sh b/scripts/update.sh new file mode 100755 index 0000000..9d6dfe2 --- /dev/null +++ b/scripts/update.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +yay -Syu +clear + +term_width=$(tput cols) + +ascii_message=" +▗▖ ▗▖ ▗▄▖ ▗▖ ▗▄▖ ▗▖ ▗▖ +▐▛▚▞▜▌▐▌ ▐▌ ▐▌ ▐▌ ▐▌▐▌▗▞▘ +▐▌ ▐▌▐▛▀▜▌ ▐▌ ▐▌ ▐▌▐▛▚▖ +▐▌ ▐▌▐▌ ▐▌▗▄▄▞▘ ▝▚▄▞▘▐▌ ▐▌ + + +" + +# Ajouter une bordure dynamique +border=$(printf '%*s' "$term_width" | tr ' ' '=') + +# Centrer et afficher le message +echo "$border" +echo "$ascii_message" | while IFS= read -r line; do + padding=$(( (term_width - ${#line}) / 2 )) + printf "%*s%s\n" "$padding" "" "$line" +done +echo "$border" + +# Attendre 5 secondes +sleep 5 diff --git a/scripts/vpnactivation.sh b/scripts/vpnactivation.sh deleted file mode 120000 index 7c55d5a..0000000 --- a/scripts/vpnactivation.sh +++ /dev/null @@ -1 +0,0 @@ -/home/ssfunerals/vpnactivation.sh \ No newline at end of file diff --git a/scripts/vpnactivation.sh b/scripts/vpnactivation.sh new file mode 100755 index 0000000..0f19c40 --- /dev/null +++ b/scripts/vpnactivation.sh @@ -0,0 +1,38 @@ +#!/bin/bash +read -p "Activer le VPN ? " choice +possible_answers=("y" "Y" "yes" "Yes" "YES" "o" "O" "oui" "Oui" "OUI") +echo "Choix: $choice" + +activate() { + if ip a | grep -q LAN; then + if sudo /usr/bin/wg-quick down /etc/wireguard/LAN.conf; then + echo "VPN down" >> /home/ssfunerals/log-vpn + notify-send --app-name VPN -u normal -i /usr/share/icons/Papirus-Dark/symbolic/status/network-vpn-disconnected-symbolic.svg "VPN déconnecté avec succès." + else + error_message=$(sudo /usr/bin/wg-quick down /etc/wireguard/LAN.conf 2>&1) + echo "Échec de la déconnexion du VPN: $error_message" >> /home/ssfunerals/log-vpn + notify-send --app-name VPN -u critical -i /usr/share/icons/Papirus-Dark/symbolic/status/network-error-symbolic.svg "Échec de la déconnexion du VPN: $error_message" + fi + else + if sudo /usr/bin/wg-quick up /etc/wireguard/LAN.conf; then + echo "VPN up" >> /home/ssfunerals/log-vpn + notify-send --app-name VPN -u normal -i /usr/share/icons/Papirus-Dark/symbolic/status/network-vpn-symbolic.svg "VPN connecté avec succès." + else + error_message=$(sudo /usr/bin/wg-quick up /etc/wireguard/LAN.conf 2>&1) + echo "Échec de la connexion du VPN: $error_message" >> /home/ssfunerals/log-vpn + notify-send --app-name VPN -u critical -i /usr/share/icons/Papirus-Dark/symbolic/status/network-error-symbolic.svg "Échec de la connexion du VPN: $error_message" + fi + fi +} + +if [[ ! " ${possible_answers[@]} " =~ " ${choice} " ]]; then + echo "Le VPN ne sera pas activé." + exit 0 +else + echo "Activation du VPN..." + activate +fi + + + +