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
+
+
+
+