diff --git a/desktopenvs/hyprland/btop/btop.log b/desktopenvs/hyprland/btop/btop.log
index b31aee5..cf14f3c 100644
--- a/desktopenvs/hyprland/btop/btop.log
+++ b/desktopenvs/hyprland/btop/btop.log
@@ -59,3 +59,11 @@
2025/04/10 (09:12:38) | WARNING: Intel GPU: Failed to initialize PMU
2025/04/10 (09:44:52) | ERROR: Stall in Runner thread, restarting!
2025/04/10 (09:44:52) | ERROR: Stall in Runner thread, restarting!
+
+2025/04/24 (10:34:50) | ===> btop++ v.1.4.0
+2025/04/24 (10:34:50) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
+2025/04/24 (10:34:50) | WARNING: Intel GPU: Failed to initialize PMU
+
+2025/04/24 (11:32:41) | ===> btop++ v.1.4.0
+2025/04/24 (11:32:41) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported
+2025/04/24 (11:32:41) | WARNING: Intel GPU: Failed to initialize PMU
diff --git a/desktopenvs/hyprland/hypr-usr/binds.conf b/desktopenvs/hyprland/hypr-usr/binds.conf
index 1ad6f8c..8fb5ff0 100644
--- a/desktopenvs/hyprland/hypr-usr/binds.conf
+++ b/desktopenvs/hyprland/hypr-usr/binds.conf
@@ -39,6 +39,7 @@ bind = $mainMod, V, togglefloating,
bind = $mainMod, C, pseudo, # dwindle
bind = $mainMod, B, togglesplit, # dwindle
bind = $mainMod SHIFT, O, exec, hyprctl dispatch exit 1
+bind = $mainMod, O, exec, hyprlock
#bind = $mainMod, A, exec, killall waybar ; waybar
bind = $mainMod, E, exec, eww reload
bind = $mainMod, N, exec, nextcloud
diff --git a/desktopenvs/hyprland/hypr/hyprlock.conf b/desktopenvs/hyprland/hypr/hyprlock.conf
new file mode 100644
index 0000000..a64561d
--- /dev/null
+++ b/desktopenvs/hyprland/hypr/hyprlock.conf
@@ -0,0 +1,142 @@
+# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
+# Hyprlock
+# Original config submitted by https://github.com/SherLock707
+
+# Sourcing colors generated by wallust
+source = $HOME/.config/hypr/wallust/wallust-hyprland.conf
+$Scripts = $HOME/.config/hypr/scripts
+
+general {
+ grace = 1
+ hide_cursor = true
+ ignore_empty_input = true
+
+}
+
+auth {
+ pam:module = sudo
+}
+
+background {
+ monitor =
+ #path = screenshot # screenshot of your desktop
+ path = ~/Pictures/background.jpg # NOTE only png supported for now
+ #color = $color7
+
+ # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
+ blur_size = 5
+ blur_passes = 1 # 0 disables blurring
+ noise = 0.0117
+ contrast = 1.3000 # Vibrant!!!
+ brightness = 0.8000
+ vibrancy = 0.2100
+ vibrancy_darkness = 0.0
+}
+
+input-field {
+ monitor =
+ size = 250, 50
+ outline_thickness = 8
+ dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
+ dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
+ dots_center = true
+ #fade_on_empty = true
+ placeholder_text = Password... # Text rendered in the input box when it's empty.
+ hide_input = false
+
+ position = 0, 200
+ halign = center
+ valign = bottom
+}
+
+# Date
+label {
+ monitor =
+ text = cmd[update:18000000] echo " "$(date +'%A, %-d %B %Y')" "
+ color = $color12
+ font_size = 34
+ font_family = Agave NerdFont 10
+
+ position = 0, -150
+ halign = center
+ valign = top
+}
+
+# Week
+label {
+ monitor =
+ text = cmd[update:18000000] echo " "$(date +'Week %U')" "
+ color = $color5
+ font_size = 24
+ font_family = Agave NerdFont 10
+ position = 0, -250
+ halign = center
+ valign = top
+}
+
+# Time
+label {
+ monitor =
+ #text = cmd[update:1000] echo " $(date +"%I:%M:%S %p") " # AM/PM
+ text = cmd[update:1000] echo " $(date +"%H:%M:%S") " # 24H
+ color = $color15
+ font_size = 94
+ font_family = Agave NerdFont 10
+
+ position = 0, 0
+ halign = center
+ valign = center
+}
+
+# User
+label {
+ monitor =
+ text =  $USER
+ color = $color12
+ font_size = 18
+ font_family = Agave NerdFont 10
+
+ position = 0, 100
+ halign = center
+ valign = bottom
+}
+
+# uptime
+label {
+ monitor =
+ text = cmd[update:60000] echo " "$(uptime -p || $Scripts/UptimeNixOS.sh)" "
+ color = $color12
+ font_size = 24
+ font_family = Agave NerdFont 10
+
+ position = 0, 0
+ halign = right
+ valign = bottom
+}
+
+# weather edit specific location. Note, this cause a 2-4 seconds delay in locking
+label {
+ monitor =
+ text = cmd[update:3600000] [ -f ~/.cache/.weather_cache ] && cat ~/.cache/.weather_cache
+ color = $color12
+ font_size = 24
+ font_family = Agave NerdFont 10
+ position = 50, 0
+ halign = left
+ valign = bottom
+}
+
+# Put a picture of choice here. Default is the current wallpaper
+image {
+ monitor =
+ path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_current
+ size = 230
+ rounding = -1
+ border_size = 2
+ border_color = $color11
+ rotate = 0
+ reload_time = -1
+ position = 0, 300
+ halign = center
+ valign = bottom
+}
diff --git a/setup/Setup-shell-4-containers/fastfetch-linux-amd64.deb b/setup/Setup-shell-4-containers/fastfetch-linux-amd64.deb
new file mode 100644
index 0000000..8b6c679
Binary files /dev/null and b/setup/Setup-shell-4-containers/fastfetch-linux-amd64.deb differ
diff --git a/setup/deprecated/hyprland-remove-for-change-to-git.sh b/setup/deprecated/hyprland-remove-for-change-to-git.sh
index da508d6..fe3defb 100644
--- a/setup/deprecated/hyprland-remove-for-change-to-git.sh
+++ b/setup/deprecated/hyprland-remove-for-change-to-git.sh
@@ -1,3 +1,3 @@
#!/bin/bash
-sudo pacman -Rns hyprland hyprcursor hyprland-qtutils hyprutils hyprgraphics hyprland-workspaces hyprwayland-scanner hyprland-workspaces-debug hyprland-qt-support hyprlang xdg-desktop-portal-hyprland; echo "uninstall completed, now installing"
-yay -Sy hyprland-git hyprland-workspaces && echo "Reinstallation complete"
+sudo pacman -Rns hyprland-git hyprcursor-git hyprland-qtutils-git hyprutils-git hyprgraphics-git hyprland-workspaces hyprwayland-scanner-git hyprland-workspaces-debug hyprland-qt-support-git hyprlang-git xdg-desktop-portal-hyprland-git; echo "uninstall completed, now installing"
+yay -Sy hyprland-workspaces && sudo pacman -S hyprland hyprcursor hyprpaper hyprlock && echo "Reinstallation complete"
diff --git a/setup/modules/hyprland-packages.sh b/setup/modules/hyprland-packages.sh
index d6c7e46..cf73771 100644
--- a/setup/modules/hyprland-packages.sh
+++ b/setup/modules/hyprland-packages.sh
@@ -1,7 +1,7 @@
#!/bin/bash
#install components
echo "Installing required Packages"
-sudo pacman -S --noconfirm alacritty alsa-utils atftp base base-devel bash-language-server btop btrfs-progs bluez clang curl dolphin dunst ffmpeg fastfetch firefox flatpak fzf gcc git gnu-netcat greetd-tuigreet grim grub gst-plugin-pipewire htop hyfetch imagemagick inetutils iwd jq kitty ldns libpulse linux linux-firmware lua-language-server micro nano networkmanager nmap openssh pulsemixer pipewire nerd-fonts otf-font-awesome pipewire pipewire-alsa pipewire-jack pipewire-pulse polkit-kde-agent qt5-wayland qt6-wayland slurp smartmontools swww traceroute ttf-jetbrains-mono ufw unzip vim waybar wget wireless_tools wireplumber wireshark-qt wofi wpa_supplicant wl-clipboard qt6ct xdg-desktop-portal-hyprland xdg-utils xf86-video-amdgpu xf86-video-ati xf86-video-nouveau xf86-video-vmware xorg-server xorg-xinit yazi zip zram-generator z zsh nm-connection-editor qrencode neovim vnstat hyprland podman distrobox docker tree
+sudo pacman -S --noconfirm alacritty alsa-utils atftp base base-devel bash-language-server btop btrfs-progs bluez clang curl dolphin dunst ffmpeg fastfetch firefox flatpak fzf gcc git gnu-netcat greetd-tuigreet grim grub gst-plugin-pipewire htop hyfetch imagemagick inetutils iwd jq kitty ldns libpulse linux linux-firmware lua-language-server micro nano networkmanager nmap openssh pulsemixer pipewire nerd-fonts otf-font-awesome pipewire pipewire-alsa pipewire-jack pipewire-pulse polkit-kde-agent qt5-wayland qt6-wayland slurp smartmontools swww traceroute ttf-jetbrains-mono ufw unzip vim waybar wget wireless_tools wireplumber wireshark-qt wofi wpa_supplicant wl-clipboard qt6ct xdg-desktop-portal-hyprland xdg-utils xf86-video-amdgpu xf86-video-ati xf86-video-nouveau xf86-video-vmware xorg-server xorg-xinit yazi zip zram-generator z zsh nm-connection-editor qrencode neovim vnstat hyprland podman distrobox docker tree hyprlock
bash ~/Dotfiles/setup/modules/package-managers.sh