switch to hyprland, kitty, remove old KDE apps, add eww

Change-Id: Idbac14bf4ee5fd885a2417859847d719b57fd8e0
Reviewed-on: https://git.clicks.codes/c/Coded/nixConfig/+/370
Reviewed-by: Samuel Shuert <coded@clicks.codes>
Tested-by: Samuel Shuert <coded@clicks.codes>
diff --git a/TODO.md b/TODO.md
deleted file mode 100644
index cbddaf3..0000000
--- a/TODO.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# [home-manager:](https://mipmip.github.io/home-manager-option-search)
-- programs.eww
-- programs.nnn
diff --git a/extensions/eww/eww.scss b/extensions/eww/eww.scss
new file mode 100644
index 0000000..3c47527
--- /dev/null
+++ b/extensions/eww/eww.scss
@@ -0,0 +1,447 @@
+/** EWW.SCSS
+Created by saimoom **/
+*{
+	all: unset;
+	font-family: feather;
+	font-family: DaddyTimeMono NF;
+}
+
+/** General **/
+.bar_class {
+    background-color: #0f0f17;
+    border-radius: 16px;
+}
+.module {
+    margin: 0px 0px 0px 0px;
+    border-radius: 10px 16px 0px 10px;
+}
+
+/** tooltip!! **/
+tooltip.background {
+    background-color: #0f0f17;
+    font-size: 18;
+    border-radius: 10px;
+    color: #bfc9db;
+}
+
+tooltip label {
+    margin: 6px;
+}
+
+
+/** Widgets **/
+
+.clock_time_sep {
+    font-size: 16;
+    color: #bfc9db;
+    margin: 0px 4px 1px 4px;
+}
+.clock_time_class, .clock_minute_class {
+    font-size: 23;
+}
+.clock_date_class {
+    font-size: 18;
+    margin: 0px 20px 0px -1px;
+    color: #d7beda;
+}
+.clock_minute_class {
+    margin: 0px 20px 0px 3px;
+    color: #bfc9db;
+}
+
+.clock_time_class {
+    color: #bfc9db;
+    font-weight: bold;
+    margin: 0px 5px 0px 0px;
+}
+
+
+.membar {
+  color: #e0b089;
+    background-color: #38384d;
+  border-radius: 10px;
+}
+.batbar {
+  color: #afbea2;
+    background-color: #38384d;
+  border-radius: 10px;
+}
+.brightbar trough highlight {
+  background-image: linear-gradient(to right, #e4c9af 30%, #f2cdcd 50%, #e0b089 100% *50);
+  border-radius: 10px;
+}
+.volbar trough highlight {
+  background-image: linear-gradient(to right, #afcee0 30%, #a1bdce 50%, #77a5bf 100% *50);
+  border-radius: 10px;
+}
+.volume_icon {
+    font-size: 22;
+    color: #a1bdce;
+  margin: 0px 10px 0px 10px;
+}
+
+
+.module_essid {
+    font-size: 18;
+    color: #a1bdce;
+  margin: 0px 10px 0px 0px;
+}
+.module-wif {
+    font-size: 22;
+    color: #a1bdce;
+    border-radius: 100%;
+  margin: 0px 10px 0px 5px;
+}
+
+.iconmem {
+    color: #e0b089;
+}
+.iconbat {
+    color: #afbea2;
+}
+.iconbat, .iconmem {
+    font-size: 15;
+    margin: 10px;
+}
+.bright_icon {
+    font-size: 22;
+    color: #e4c9af;
+  margin: 0px 10px 0px 10px;
+}
+
+
+.separ {
+    color: #3e424f;
+    font-weight: bold;
+    font-size: 22px;
+    margin: 0px 8px 0px 8px;
+  }
+
+.mem_module {
+    background-color: #0f0f17;
+	border-radius: 16px;
+  margin: 0px 10px 0px 3px;
+  }
+.bat_module {
+    background-color: #0f0f17;
+	border-radius: 16px;
+  margin: 0px 10px 0px 10px;
+  }
+
+
+scale trough {
+  all: unset;
+  background-color: #22242b;
+  box-shadow: 0 2px 3px 2px #06060b;
+  border-radius: 16px;
+  min-height: 10px;
+  min-width: 70px;
+  margin: 0px 10px 0px 0px;
+}
+
+.works {
+font-size: 27px;
+font-weight: normal;
+margin: 5px 0px 0px 20px;
+background-color: #0f0f17;
+}
+
+.0 , .01, .02, .03, .04, .05, .06,
+.011, .022, .033, .044, .055, .066{
+  margin: 0px 10px 0px 0px;
+}
+
+/* Unoccupied */
+.0 {
+color: #3e424f;
+}
+
+/* Occupied */
+.01, .02, .03, .04, .05, .06 {
+  color: #bfc9db;
+}
+
+/* Focused */
+.011, .022, .033, .044, .055, .066 {
+  color: #a1bdce;
+}
+
+
+.song_cover_art {
+	background-size: cover;	
+	background-position: center;
+	min-height: 24px;
+	min-width: 24px;
+	margin: 10px;
+	border-radius: 100px;
+}
+
+.song {
+	color: #a1bdce;
+	font-size : 18px;
+	font-weight : bold;
+	margin : 3px 5px 0px 0px;
+}
+
+.song_btn_play {
+	color: #a1bdce;
+	font-size : 28px;
+	margin : 3px 0px 0px 5px;
+
+}
+
+
+.song_btn_prev, .song_btn_next {
+	color: #bfc9db;
+	font-size : 24px;
+	margin : 3px 0px 0px 5px;
+
+}
+// Calendar
+.cal {
+  background-color: #0f0f17;
+  font-family: JetBrainsMono Nerd Font;
+  font-size: 18px;
+  font-weight: normal;
+
+.cal-in {
+    padding: 0px 10px 0px 10px;
+    color: #bfc9db;
+
+.cal {
+     &.highlight {
+          padding: 20px;
+      }
+
+      padding: 5px 5px 5px 5px;
+      margin-left: 10px;
+    }
+  }
+}
+
+calender {
+    color: #bfc9db;
+}
+calendar:selected {
+  color: #a1bdce;
+}
+
+calendar.header {
+color: #a1bdce;
+font-weight: bold;
+}
+
+calendar.button {
+color: #afbea2;
+}
+
+calendar.highlight {
+color: #a1bdce;
+font-weight: bold;
+}
+
+calendar:indeterminate {
+color: #bfc9db;
+}
+
+
+
+
+
+
+
+.sys_sep {
+    color: #38384d;
+    font-size: 18;
+    margin: 0px 10px 0px 10px;
+}
+.sys_text_bat_sub, .sys_text_mem_sub {
+    font-size: 16;
+    color: #bbc5d7;
+    margin: 5px 0px 0px 25px;
+}
+.sys_text_bat, .sys_text_mem {
+    font-size: 21;
+    font-weight: bold;
+    margin: 14px 0px 0px 25px;
+}
+.sys_icon_bat, .sys_icon_mem {
+    font-size: 30;
+    margin: 30px;
+}
+.sys_win {
+    background-color: #0f0f17;
+}
+.sys_bat {
+  color: #afbea2;
+    background-color: #38384d;
+  border-radius: 10px;
+}
+.sys_mem {
+  color: #e4c9af;
+    background-color: #38384d;
+  border-radius: 10px;
+}
+.sys_icon_bat, .sys_text_bat {
+    color: #afbea2;
+}
+.sys_icon_mem, .sys_text_mem {
+    color: #e4c9af;
+}
+.sys_bat_box {
+	border-radius: 16px;
+    margin: 15px 10px 10px 20px;
+  }
+.sys_mem_box {
+	border-radius: 16px;
+    margin: 10px 10px 15px 20px;
+  }
+
+
+
+
+
+
+
+.music_pop {
+    background-color: #0f0f17;
+	border-radius: 16px;
+}
+  .music_cover_art {
+	background-size: cover;
+	background-position: center;
+	min-height: 100px;
+    box-shadow: 5px 5px 5px 5px #06060b;
+	min-width: 170px;
+	margin: 20px;
+	border-radius: 20px;
+}
+
+.music {
+	color: #a1bdce;
+	font-size : 20px;
+	font-weight : bold;
+	margin : 20px 0px 0px -15px;
+}
+
+.music_artist {
+	color: #bbc5d7;
+	font-size : 16px;
+	font-weight : normal;
+	margin : 0px 0px 0px 0px;
+}
+
+.music_btn_prev, .music_btn_play, .music_btn_next {
+	font-family: Iosevka Nerd Font;
+}
+.music_btn_prev {
+	color: #bbc5d7;
+	font-size : 32px;
+	font-weight : normal;
+	margin: 0px 0px 0px 0px;
+}
+.music_btn_play {
+	color: #a1bdce;
+	font-size : 48px;
+	font-weight : normal;
+	margin: 0px 0px 0px 0px;
+}
+.music_btn_next {
+	color: #bbc5d7;
+	font-size : 32px;
+	font-weight : normal;
+	margin: 0px 0px 0px 0px;
+}
+
+.music_bar scale trough highlight {
+	all: unset;
+    background-image: linear-gradient(to right, #afcee0 30%, #a1bdce 50%, #77a5bf 100% *50);
+	border-radius: 24px;
+}
+.music_bar scale trough {
+	all: unset;
+	background-color: #232232;
+    box-shadow: 0 6px 5px 2px #06060b;
+	border-radius: 24px;
+	min-height: 13px;
+	min-width: 190px;
+	margin : -10px 10px 20px 0px;
+}
+
+.audio-box {
+    background-color: #0f0f17;
+	border-radius: 16px;
+}
+.speaker_icon {
+	background-size: cover;
+    background-image: url('images/speaker.png');
+	background-position: center;
+	min-height: 70px;
+	min-width: 75px;
+	margin: 10px 20px 5px 20px;
+	border-radius: 12px;
+}
+
+.speaker_text {
+	color: #a1bdce;
+	font-size : 26px;
+	font-weight : bold;
+	margin: 20px 0px 0px 0px;
+}
+
+.speaker_bar scale trough highlight {
+	all: unset;
+    background-image: linear-gradient(to right, #afcee0 30%, #a1bdce 50%, #77a5bf 100% *50);
+	border-radius: 24px;
+}
+.speaker_bar scale trough {
+	all: unset;
+	background-color: #232232;
+    box-shadow: 0 6px 5px 2px #06060b;
+	border-radius: 24px;
+	min-height: 13px;
+	min-width: 120px;
+	margin : 0px 0px 5px 0px;
+}
+
+
+
+
+.mic_icon {
+	background-size: cover;
+    background-image: url('images/mic.png');
+	background-position: center;
+	min-height: 70px;
+	min-width: 75px;
+	margin: 5px 20px 20px 20px;
+	border-radius: 12px;
+}
+
+.mic_text {
+	color: #a1bdce;
+	font-size : 26px;
+	font-weight : bold;
+	margin: 0px 0px 0px 0px;
+}
+
+.mic_bar scale trough highlight {
+	all: unset;
+    background-image: linear-gradient(to right, #afcee0 30%, #a1bdce 50%, #77a5bf 100% *50);
+	border-radius: 24px;
+}
+.mic_bar scale trough {
+	all: unset;
+    box-shadow: 0 6px 5px 2px #06060b;
+	background-color: #232232;
+	border-radius: 24px;
+	min-height: 13px;
+	min-width: 120px;
+	margin : 0px 0px 20px 0px;
+}
+
+.audio_sep {
+    color: #38384d;
+    font-size: 18;
+	margin : 0px 0px 0px 0px;
+}
+
diff --git a/extensions/eww/eww.yuck b/extensions/eww/eww.yuck
new file mode 100644
index 0000000..27eb4c4
--- /dev/null
+++ b/extensions/eww/eww.yuck
@@ -0,0 +1,350 @@
+;; Variables
+(defpoll clock_time :interval "5m" "date +\%I")
+(defpoll clock_minute :interval "5s" "date +\%M")
+(defpoll clock_date :interval "10h" "date '+%d/%m'")
+(defpoll volume_percent :interval "3s" "amixer -D pulse sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }' | tr -d '%'")
+(defpoll mic_percent :interval "3s" "amixer -D pulse sget Capture | grep 'Left:' | awk -F'[][]' '{ print $2 }' | tr -d '%'")
+(defpoll brightness_percent :interval "5s" "brightnessctl -m -d intel_backlight | awk -F, '{print substr($4, 0, length($4)-1)}' | tr -d '%'")
+(defpoll battery :interval "15s" "./scripts/battery --bat")
+(defpoll battery_status :interval "1m" "./scripts/battery --bat-st")
+(defpoll memory :interval "15s" "scripts/memory")
+(defpoll memory_used_mb :interval "2m" "scripts/mem-ad used")
+(defpoll memory_total_mb :interval "2m" "scripts/mem-ad total")
+(defpoll memory_free_mb :interval "2m" "scripts/mem-ad free")
+(defvar vol_reveal false)
+(defvar br_reveal false)
+(defvar music_reveal false)
+(defvar wifi_rev false)
+(defvar time_rev false)
+(deflisten workspace "scripts/workspace")
+
+(defvar eww "$HOME/.local/bin/eww/eww -c $HOME/.config/eww/bar")
+
+
+(defpoll COL_WLAN :interval "1m" "~/.config/eww/bar/scripts/wifi --COL")
+(defpoll ESSID_WLAN :interval "1m" "~/.config/eww/bar/scripts/wifi --ESSID")
+(defpoll WLAN_ICON :interval "1m" "~/.config/eww/bar/scripts/wifi --ICON")
+
+
+(defpoll song :interval "2s"  "~/.config/eww/bar/scripts/music_info --song")
+(defpoll song_artist :interval "2s"  "~/.config/eww/bar/scripts/music_info --artist")
+(defpoll current_status :interval "1s"  "~/.config/eww/bar/scripts/music_info --time")
+(defpoll song_status :interval "2s"  "~/.config/eww/bar/scripts/music_info --status")
+(defpoll cover_art :interval "2s"  "~/.config/eww/bar/scripts/music_info --cover")
+
+(defpoll calendar_day :interval "20h" "date '+%d'")
+(defpoll calendar_year :interval "20h" "date '+%Y'")
+
+;; widgets
+
+(defwidget wifi [] 
+  (eventbox :onhover "${eww} update wifi_rev=true"
+			  :onhoverlost "${eww} update wifi_rev=false"
+		(box :vexpand "false" :hexpand "false" :space-evenly "false"
+				(button :class "module-wif" :onclick "networkmanager_dmenu" :wrap "false" :limit-width 12 :style "color: ${COL_WLAN};" WLAN_ICON)
+	(revealer :transition "slideright"
+			  :reveal wifi_rev
+			  :duration "350ms"
+	(label    :class "module_essid"
+			  :text ESSID_WLAN
+			  :orientation "h"
+			  )))))
+
+
+(defwidget workspaces []
+  (literal :content workspace))
+
+
+(defwidget bat []
+		(box :class "bat_module" :vexpand "false" :hexpand "false" 
+            (circular-progress :value battery
+                :class "batbar"
+                :thickness 4
+            (button 
+                :class "iconbat"
+                :limit-width 2
+                :tooltip "battery on ${battery}%"
+                :show_truncated false
+                :onclick "$HOME/.config/eww/bar/scripts/pop system"
+                :wrap false
+                ""))))
+
+
+(defwidget mem []
+		(box :class "mem_module" :vexpand "false" :hexpand "false" 
+            (circular-progress :value memory
+                :class "membar"
+                :thickness 4
+            (button 
+                :class "iconmem"
+                :limit-width 2
+                :tooltip "using ${memory}% ram"
+                :onclick "$HOME/.config/eww/bar/scripts/pop system"
+                :show_truncated false
+                :wrap false
+                ""))))
+
+
+
+(defwidget sep []
+  (box :class "module-2" :vexpand "false" :hexpand "false"
+    (label :class "separ" :text "|")))
+
+(defwidget clock_module []
+  (eventbox :onhover "${eww} update time_rev=true"
+			  :onhoverlost "${eww} update time_rev=false"
+    (box :class "module" :space-evenly "false" :orientation "h" :spacing "3" 
+      (label :text clock_time :class "clock_time_class" )
+      (label :text "" :class "clock_time_sep" )
+      (label :text clock_minute :class "clock_minute_class")
+	  (revealer :transition "slideleft"
+			  :reveal time_rev
+			  :duration "350ms"
+      (button :class "clock_date_class"
+             :onclick "$HOME/.config/eww/bar/scripts/pop calendar" clock_date
+        )
+  ))))
+  
+(defwidget volume []
+  (eventbox :onhover "${eww} update vol_reveal=true"
+			  :onhoverlost "${eww} update vol_reveal=false"
+  (box :class "module-2" :space-evenly "false" :orientation "h" :spacing "3" 
+	(button   :onclick "scripts/pop audio"   :class "volume_icon" "")
+	(revealer :transition "slideleft"
+			  :reveal vol_reveal
+			  :duration "350ms"
+	(scale    :class "volbar"
+			  :value volume_percent
+			  :orientation "h"
+			  :tooltip "${volume_percent}%"
+			  :max 100
+			  :min 0
+			  :onchange "amixer -D pulse sset Master {}%" )))))
+
+(defwidget bright []
+  (eventbox :onhover "${eww} update br_reveal=true" :onhoverlost "${eww} update br_reveal=false"
+  (box :class "module-2" :space-evenly "false" :orientation "h" :spacing "3" 
+    (label :text "" :class "bright_icon" :tooltip "brightness")
+	(revealer :transition "slideleft"
+			  :reveal br_reveal
+			  :duration "350ms"
+	(scale    :class "brightbar"
+			  :value brightness_percent
+			  :orientation "h"
+			  :tooltip "${brightness_percent}%"
+			  :max 100
+			  :min 0
+			  :onchange "brightnessctl set {}%" )))))
+
+
+
+	;;  Music 
+(defwidget music [] 
+  (eventbox :onhover "${eww} update music_reveal=true"
+			  :onhoverlost "${eww} update music_reveal=false"
+		(box :class "module-2" :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false" 
+			(box :class "song_cover_art" :vexpand "false" :hexpand "false" :style "background-image: url('${cover_art}');")
+			(button :class "song" :wrap "true" :onclick "~/.config/eww/bar/scripts/pop music" song)
+	    (revealer :transition "slideright"
+			      :reveal music_reveal
+			      :duration "350ms"
+          (box :vexpand "false" :hexpand "false" :oreintation "h" 
+                    (button :class "song_btn_prev" :onclick "~/.config/eww/bar/scripts/music_info --prev" "")
+					(button :class "song_btn_play" :onclick "~/.config/eww/bar/scripts/music_info --toggle" song_status)
+					(button :class "song_btn_next" :onclick "~/.config/eww/bar/scripts/music_info --next" ""))))))
+
+
+
+(defwidget left []
+	(box :orientation "h" 
+		 :space-evenly false  
+         :halign "end"
+		 :class "left_modules"
+(bright)
+(volume)
+(wifi)
+(sep)
+(bat)
+(mem)
+(sep)
+(clock_module)))
+
+
+(defwidget right []
+	(box :orientation "h" 
+		 :space-evenly false  
+         :halign "start"
+		 :class "right_modules"
+(workspaces)))
+
+
+(defwidget center []
+	(box :orientation "h" 
+		 :space-evenly false  
+         :halign "center"
+		 :class "center_modules"
+(music)))
+
+(defwidget bar_1 []
+  (box :class "bar_class"
+       :orientation "h"
+  (right)
+  (center)
+  (left)
+    ))
+
+(defwindow bar
+          :geometry (geometry :x "0%"
+                       :y "9px"
+                       :width "98%"
+                       :height "30px"
+                       :anchor "top center")
+          :stacking "fg"
+          :windowtype "dock"
+  (bar_1))
+  
+(defwidget system []
+  (box :class "sys_win" :orientation "v" :space-evenly "false" :hexpand "false" :vexpand "false" :spacing 0
+  (box :class "sys_bat_box" :orientation "h" :space-evenly "false"
+      (circular-progress :value battery
+                :class "sys_bat"
+                :thickness 9
+            (label :text ""
+                :class "sys_icon_bat"
+                :limit-width 2
+                :show_truncated false
+                :wrap false))
+            (box :orientation "v" :space-evenly "false" :spacing 0 :hexpand "false" :vexpand "false"
+            (label :text "battery"
+                :halign "start"
+                :class "sys_text_bat"
+                :limit-width 9
+                :show_truncated false
+                :wrap false)
+            (label :text "${battery}%"
+                :halign "start"
+                :class "sys_text_bat_sub"
+                :limit-width 22
+                :show_truncated false
+                :wrap false)
+            (label :text "${battery_status}"
+                :halign "start"
+                :class "sys_text_bat_sub"
+                :limit-width 22
+                :show_truncated false
+                :wrap false)))
+            (label :text "" :class "sys_sep" :halign "center")
+  (box :class "sys_mem_box" :orientation "h" :space-evenly "false" :halign "start"
+      (circular-progress :value memory
+                :class "sys_mem"
+                :thickness 9
+            (label :text ""
+                :class "sys_icon_mem"
+                :limit-width 2
+                :show_truncated false
+                :wrap false
+                :angle 0.0))
+            (box :orientation "v" :space-evenly "false" :spacing 0 :hexpand "false" :vexpand "false"
+            (label :text "memory"
+                :halign "start"
+                :class "sys_text_mem"
+                :limit-width 9
+                :show_truncated false
+                :wrap false)
+            (label :text "${memory_used_mb} | ${memory_total_mb}mb "
+                :halign "start"
+                :class "sys_text_mem_sub"
+                :limit-width 22
+                :show_truncated false
+                :wrap false)
+            (label :text "${memory_free_mb}mb free"
+                :halign "start"
+                :class "sys_text_mem_sub"
+                :limit-width 22
+                :show_truncated false
+                :wrap false)))))
+
+(defwidget cal []
+	(box :class "cal" :orientation "v"
+	(box :class "cal-in"
+	(calendar :class "cal" 
+			  :day calendar_day 
+			  :year calendar_year))))
+
+(defwindow calendar
+	:geometry (geometry :x "-20px" 
+						:y "7%" 
+                        :anchor "top right"
+						:width "270px" 
+						:height "60px")
+(cal))
+
+
+
+(defwidget audio []
+	(box :class "audio-box" :orientation "v" :space-evenly "false" :vexpand "false" :hexpand "false"
+	(box :halign "v" :space-evenly "false" :hexpand "false" :vexpand "false"
+	(box :class "speaker_icon" :orientation "v")
+	(box :orientation "v" :halign "center" :vexpand "false" :hexpand "false"
+    (label :class "speaker_text" :text "speaker" :valign "center" :halign "left" )
+	(box :class "speaker_bar" :halign "center" :vexpand "false" :hexpand "false"
+	(scale    :value volume_percent
+              :space-evenly "false"
+			  :orientation "h"
+			  :onchange "amixer -D pulse sset Master {}%" 
+              :tooltip "volume on ${volume_percent}%"
+			  :max 100
+			  :min 0))))
+            (label :text "" :class "audio_sep" :halign "center")
+	(box :halign "v" :space-evenly "false" :hexpand "false" :vexpand "false"
+	(box :class "mic_icon" :orientation "v")
+	(box :orientation "v" :halign "center" :vexpand "false" :hexpand "false"
+    (label :class "mic_text" :text "mic" :valign "center" :halign "left" )
+	(box :class "mic_bar" :halign "center" :vexpand "false" :hexpand "false"
+	(scale    :value mic_percent
+              :space-evenly "false"
+			  :orientation "h"
+              :tooltip "mic on ${mic_percent}%"
+			  :onchange "amixer -D pulse sset Capture {}%" 
+			  :max 100
+			  :min 0))))))
+
+(defwindow audio_ctl
+	:geometry (geometry :x "-20px" 
+						:y "7%" 
+                        :anchor "top right"
+						:width "280px" 
+						:height "60px")
+(audio))
+
+
+(defwindow system
+	:geometry (geometry :x "-20px" 
+						:y "7%" 
+                        :anchor "top right"
+						:width "290px" 
+						:height "120px")
+(system))
+
+
+
+;;  Music
+(defwidget music_pop []
+		(box :class "music_pop" :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
+			(box :class "music_cover_art" :vexpand "false" :hexpand "false" :style "background-image: url('${cover_art}');")
+			(box :orientation "v" :spacing 20 :space-evenly "false" :vexpand "false" :hexpand "false"
+				(label :halign "center" :class "music" :wrap "true" :limit-width 13 :text song)
+				(label :halign "center" :class "music_artist" :wrap "true" :limit-width 15 :text song_artist)
+				(box :orientation "h" :spacing 15 :halign "center" :space-evenly "false" :vexpand "false" :hexpand "false"
+					(button :class "music_btn_prev" :onclick "~/.config/eww/bar/scripts/music_info --prev" "")
+					(button :class "music_btn_play" :onclick "~/.config/eww/bar/scripts/music_info --toggle" song_status)
+					(button :class "music_btn_next" :onclick "~/.config/eww/bar/scripts/music_info --next" ""))
+				(box :class "music_bar" :halign "center" :vexpand "false" :hexpand "false" :space-evenly "false"
+					(scale :onscroll "mpc -q seek {}" :min 0 :active "true" :max 100 :value current_status)))))
+
+
+;;  music
+		(defwindow music_win :stacking "fg" :focusable "false" :screen 1
+			    :geometry (geometry :x "0" :y "7%" :width 428 :height 104 :anchor "top center")
+			     				(music_pop))
+
diff --git a/extensions/eww/images/mic.png b/extensions/eww/images/mic.png
new file mode 100644
index 0000000..d77f315
--- /dev/null
+++ b/extensions/eww/images/mic.png
Binary files differ
diff --git a/extensions/eww/images/music.png b/extensions/eww/images/music.png
new file mode 100644
index 0000000..11804f5
--- /dev/null
+++ b/extensions/eww/images/music.png
Binary files differ
diff --git a/extensions/eww/images/profile.png b/extensions/eww/images/profile.png
new file mode 100644
index 0000000..0190a36
--- /dev/null
+++ b/extensions/eww/images/profile.png
Binary files differ
diff --git a/extensions/eww/images/speaker.png b/extensions/eww/images/speaker.png
new file mode 100644
index 0000000..79e005b
--- /dev/null
+++ b/extensions/eww/images/speaker.png
Binary files differ
diff --git a/extensions/eww/launch_bar b/extensions/eww/launch_bar
new file mode 100755
index 0000000..51f2a1d
--- /dev/null
+++ b/extensions/eww/launch_bar
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+## Files and cmd
+FILE="$HOME/.cache/eww_launch.xyz"
+EWW="$HOME/.local/bin/eww/eww -c $HOME/.config/eww/bar"
+
+## Run eww daemon if not running already
+if [[ ! `pidof eww` ]]; then
+	${EWW} daemon
+	sleep 1
+fi
+
+## Open widgets 
+run_eww() {
+	${EWW} open-many \
+         bar
+        
+}
+
+## Launch or close widgets accordingly
+if [[ ! -f "$FILE" ]]; then
+	touch "$FILE"
+	run_eww && bspc config -m LVDS-1 top_padding 49
+else
+	${EWW} close-all && killall eww
+	rm "$FILE"
+fi
diff --git a/extensions/eww/scripts/battery b/extensions/eww/scripts/battery
new file mode 100755
index 0000000..0540a1b
--- /dev/null
+++ b/extensions/eww/scripts/battery
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+battery() {
+	BAT=`ls /sys/class/power_supply | grep BAT | head -n 1`
+	cat /sys/class/power_supply/${BAT}/capacity
+}
+battery_stat() {
+	BAT=`ls /sys/class/power_supply | grep BAT | head -n 1`
+	cat /sys/class/power_supply/${BAT}/status
+}
+
+if [[ "$1" == "--bat" ]]; then
+	battery
+elif [[ "$1" == "--bat-st" ]]; then
+	battery_stat
+fi
+
diff --git a/extensions/eww/scripts/mem-ad b/extensions/eww/scripts/mem-ad
new file mode 100755
index 0000000..1e4cf89
--- /dev/null
+++ b/extensions/eww/scripts/mem-ad
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+
+total="$(free -m | grep Mem: | awk '{ print $2 }')"
+used="$(free -m | grep Mem: | awk '{ print $3 }')"
+
+free=$(expr $total - $used)
+
+if [ "$1" = "total" ]; then
+    echo $total
+elif [ "$1" = "used" ]; then
+    echo $used
+elif [ "$1" = "free" ]; then
+    echo $free
+fi
diff --git a/extensions/eww/scripts/memory b/extensions/eww/scripts/memory
new file mode 100755
index 0000000..217c834
--- /dev/null
+++ b/extensions/eww/scripts/memory
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+printf "%.0f\n" $(free -m | grep Mem | awk '{print ($3/$2)*100}')
diff --git a/extensions/eww/scripts/music_info b/extensions/eww/scripts/music_info
new file mode 100755
index 0000000..ffafe87
--- /dev/null
+++ b/extensions/eww/scripts/music_info
@@ -0,0 +1,98 @@
+#!/bin/bash
+# scripts by adi1090x
+
+## Get data
+STATUS="$(mpc status)"
+COVER="/tmp/.music_cover.png"
+MUSIC_DIR="$HOME/Music"
+
+## Get status
+get_status() {
+	if [[ $STATUS == *"[playing]"* ]]; then
+		echo ""
+	else
+		echo "奈"
+	fi
+}
+
+## Get song
+get_song() {
+	song=`mpc -f %title% current`
+	if [[ -z "$song" ]]; then
+		echo "Offline"
+	else
+		echo "$song"
+	fi	
+}
+
+## Get artist
+get_artist() {
+	artist=`mpc -f %artist% current`
+	if [[ -z "$artist" ]]; then
+		echo ""
+	else
+		echo "$artist"
+	fi	
+}
+
+## Get time
+get_time() {
+	time=`mpc status | grep "%)" | awk '{print $4}' | tr -d '(%)'`
+	if [[ -z "$time" ]]; then
+		echo "0"
+	else
+		echo "$time"
+	fi	
+}
+get_ctime() {
+	ctime=`mpc status | grep "#" | awk '{print $3}' | sed 's|/.*||g'`
+	if [[ -z "$ctime" ]]; then
+		echo "0:00"
+	else
+		echo "$ctime"
+	fi	
+}
+get_ttime() {
+	ttime=`mpc -f %time% current`
+	if [[ -z "$ttime" ]]; then
+		echo "0:00"
+	else
+		echo "$ttime"
+	fi	
+}
+
+## Get cover
+get_cover() {
+	ffmpeg -i "${MUSIC_DIR}/$(mpc current -f %file%)" "${COVER}" -y &> /dev/null
+	STATUS=$?
+
+	# Check if the file has a embbeded album art
+	if [ "$STATUS" -eq 0 ];then
+		echo "$COVER"
+	else
+		echo "images/music.png"
+	fi
+}
+
+## Execute accordingly
+if [[ "$1" == "--song" ]]; then
+	get_song
+elif [[ "$1" == "--artist" ]]; then
+	get_artist
+elif [[ "$1" == "--status" ]]; then
+	get_status
+elif [[ "$1" == "--time" ]]; then
+	get_time
+elif [[ "$1" == "--ctime" ]]; then
+	get_ctime
+elif [[ "$1" == "--ttime" ]]; then
+	get_ttime
+elif [[ "$1" == "--cover" ]]; then
+	get_cover
+elif [[ "$1" == "--toggle" ]]; then
+	mpc -q toggle
+elif [[ "$1" == "--next" ]]; then
+	{ mpc -q next; get_cover; }
+elif [[ "$1" == "--prev" ]]; then
+	{ mpc -q prev; get_cover; }
+fi
diff --git a/extensions/eww/scripts/pop b/extensions/eww/scripts/pop
new file mode 100755
index 0000000..aef82e8
--- /dev/null
+++ b/extensions/eww/scripts/pop
@@ -0,0 +1,92 @@
+#!/bin/bash
+
+calendar() {
+LOCK_FILE="$HOME/.cache/eww-calendar.lock"
+EWW_BIN="$HOME/.local/bin/eww/eww"
+
+run() {
+    ${EWW_BIN} -c $HOME/.config/eww/bar open calendar
+}
+
+# Open widgets
+if [[ ! -f "$LOCK_FILE" ]]; then
+    ${EWW_BIN} -c $HOME/.config/eww/bar close system music_win audio_ctl
+    touch "$LOCK_FILE"
+    run && echo "ok good!"
+else
+    ${EWW_BIN} -c $HOME/.config/eww/bar close calendar
+    rm "$LOCK_FILE" && echo "closed"
+fi
+}
+
+
+system() {
+LOCK_FILE_MEM="$HOME/.cache/eww-system.lock"
+EWW_BIN="$HOME/.local/bin/eww/eww"
+
+run() {
+    ${EWW_BIN} -c $HOME/.config/eww/bar open system 
+}
+
+# Open widgets
+if [[ ! -f "$LOCK_FILE_MEM" ]]; then
+    ${EWW_BIN} -c $HOME/.config/eww/bar close calendar music_win audio_ctl
+    touch "$LOCK_FILE_MEM"
+    run && echo "ok good!"
+else
+    ${EWW_BIN} -c $HOME/.config/eww/bar close system 
+    rm "$LOCK_FILE_MEM" && echo "closed"
+fi
+}
+
+
+music() {
+LOCK_FILE_SONG="$HOME/.cache/eww-song.lock"
+EWW_BIN="$HOME/.local/bin/eww/eww"
+
+run() {
+    ${EWW_BIN} -c $HOME/.config/eww/bar open music_win 
+}
+
+# Open widgets
+if [[ ! -f "$LOCK_FILE_SONG" ]]; then
+    ${EWW_BIN} -c $HOME/.config/eww/bar close system calendar
+    touch "$LOCK_FILE_SONG"
+    run && echo "ok good!"
+else
+    ${EWW_BIN} -c $HOME/.config/eww/bar close music_win
+    rm "$LOCK_FILE_SONG" && echo "closed"
+fi
+}
+
+
+
+audio() {
+LOCK_FILE_AUDIO="$HOME/.cache/eww-audio.lock"
+EWW_BIN="$HOME/.local/bin/eww/eww"
+
+run() {
+    ${EWW_BIN} -c $HOME/.config/eww/bar open audio_ctl 
+}
+
+# Open widgets
+if [[ ! -f "$LOCK_FILE_AUDIO" ]]; then
+    ${EWW_BIN} -c $HOME/.config/eww/bar close system calendar music
+    touch "$LOCK_FILE_AUDIO"
+    run && echo "ok good!"
+else
+    ${EWW_BIN} -c $HOME/.config/eww/bar close audio_ctl
+    rm "$LOCK_FILE_AUDIO" && echo "closed"
+fi
+}
+
+
+if [ "$1" = "calendar" ]; then
+calendar
+elif [ "$1" = "system" ]; then
+system
+elif [ "$1" = "music" ]; then
+music
+elif [ "$1" = "audio" ]; then
+audio
+fi
diff --git a/extensions/eww/scripts/wifi b/extensions/eww/scripts/wifi
new file mode 100755
index 0000000..5d7cc59
--- /dev/null
+++ b/extensions/eww/scripts/wifi
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+status=$(nmcli g | grep -oE "disconnected")
+essid=$(nmcli c | grep wlp2s0 | awk '{print ($1)}')
+
+if [ $status ] ; then
+    icon=""
+    text=""
+    col="#575268"
+
+else
+    icon=""
+    text="${essid}"
+    col="#a1bdce"
+fi
+
+
+
+if [[ "$1" == "--COL" ]]; then
+    echo $col	
+elif [[ "$1" == "--ESSID" ]]; then
+	echo $text
+elif [[ "$1" == "--ICON" ]]; then
+	echo $icon
+fi
+
diff --git a/extensions/eww/scripts/workspace b/extensions/eww/scripts/workspace
new file mode 100755
index 0000000..f202ef1
--- /dev/null
+++ b/extensions/eww/scripts/workspace
@@ -0,0 +1,56 @@
+#!/bin/sh
+workspaces() {
+
+ws1="1"
+ws2="2"
+ws3="3"
+ws4="4"
+ws5="5"
+ws6="6"
+
+# Unoccupied
+un="0"
+
+# check if Occupied
+o1=$(bspc query -D -d .occupied --names | grep "$ws1" )
+o2=$(bspc query -D -d .occupied --names | grep "$ws2" )
+o3=$(bspc query -D -d .occupied --names | grep "$ws3" )
+o4=$(bspc query -D -d .occupied --names | grep "$ws4" )
+o5=$(bspc query -D -d .occupied --names | grep "$ws5" )
+o6=$(bspc query -D -d .occupied --names | grep "$ws6" )
+
+# check if Focused
+f1=$(bspc query -D -d focused --names | grep "$ws1" )
+f2=$(bspc query -D -d focused --names | grep "$ws2" )
+f3=$(bspc query -D -d focused --names | grep "$ws3" )
+f4=$(bspc query -D -d focused --names | grep "$ws4" )
+f5=$(bspc query -D -d focused --names | grep "$ws5" )
+f6=$(bspc query -D -d focused --names | grep "$ws6" )
+
+ic_1=""
+ic_2=""
+ic_3=""
+ic_4=""
+ic_5=""
+ic_6=""
+if [ $f1 ]; then
+    ic_1=""
+elif [ $f2 ]; then
+    ic_2=""
+elif [ $f3 ]; then
+    ic_3=""
+elif [ $f4 ]; then
+    ic_4=""
+elif [ $f5 ]; then
+    ic_5=""
+elif [ $f6 ]; then
+    ic_6=""
+fi
+
+echo 	"(box	:class \"works\"	:orientation \"h\" :spacing 5 :space-evenly \"false\" (button :onclick \"bspc desktop -f $ws1\"	:class	\"$un$o1$f1\"	\"$ic_1\") (button :onclick \"bspc desktop -f $ws2\"	:class \"$un$o2$f2\"	 \"$ic_2\") (button :onclick \"bspc desktop -f $ws3\"	:class \"$un$o3$f3\" \"$ic_3\") (button :onclick \"bspc desktop -f $ws4\"	:class \"$un$o4$f4\"	\"$ic_4\") (button :onclick \"bspc desktop -f $ws5\"	:class \"$un$o5$f5\" \"$ic_5\")  (button :onclick \"bspc desktop -f $ws6\"	:class \"$un$o6$f6\" \"$ic_6\"))"
+
+}
+workspaces
+bspc subscribe desktop node_transfer | while read -r _ ; do
+workspaces
+done
diff --git a/flake.lock b/flake.lock
index 41320e5..dd74618 100755
--- a/flake.lock
+++ b/flake.lock
@@ -16,6 +16,27 @@
         "type": "github"
       }
     },
+    "anyrun": {
+      "inputs": {
+        "flake-parts": "flake-parts",
+        "nixpkgs": [
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1701453400,
+        "narHash": "sha256-hI9+KBShsSfvWX7bmRa/1VI20WGat3lDXmbceMZzMS4=",
+        "owner": "Kirottu",
+        "repo": "anyrun",
+        "rev": "e14da6c37337ffa3ee1bc66965d58ef64c1590e5",
+        "type": "github"
+      },
+      "original": {
+        "owner": "Kirottu",
+        "repo": "anyrun",
+        "type": "github"
+      }
+    },
     "crane": {
       "inputs": {
         "nixpkgs": [
@@ -92,6 +113,27 @@
     "flake-parts": {
       "inputs": {
         "nixpkgs-lib": [
+          "anyrun",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1696343447,
+        "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=",
+        "owner": "hercules-ci",
+        "repo": "flake-parts",
+        "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4",
+        "type": "github"
+      },
+      "original": {
+        "owner": "hercules-ci",
+        "repo": "flake-parts",
+        "type": "github"
+      }
+    },
+    "flake-parts_2": {
+      "inputs": {
+        "nixpkgs-lib": [
           "lanzaboote",
           "nixpkgs"
         ]
@@ -112,7 +154,7 @@
     },
     "flake-utils": {
       "inputs": {
-        "systems": "systems_2"
+        "systems": "systems_3"
       },
       "locked": {
         "lastModified": 1694529238,
@@ -170,11 +212,80 @@
         "type": "github"
       }
     },
+    "hyprland": {
+      "inputs": {
+        "hyprland-protocols": "hyprland-protocols",
+        "nixpkgs": "nixpkgs_2",
+        "systems": "systems_2",
+        "wlroots": "wlroots",
+        "xdph": "xdph"
+      },
+      "locked": {
+        "lastModified": 1707586793,
+        "narHash": "sha256-Vdf5QGzkZe6UUdVZ80YT78id7Yw5ww9Fku0rEyPAkCg=",
+        "owner": "hyprwm",
+        "repo": "Hyprland",
+        "rev": "e4bb5fa4af1a6c36aab1c28651b5403dc4952f93",
+        "type": "github"
+      },
+      "original": {
+        "owner": "hyprwm",
+        "repo": "Hyprland",
+        "type": "github"
+      }
+    },
+    "hyprland-protocols": {
+      "inputs": {
+        "nixpkgs": [
+          "hyprland",
+          "nixpkgs"
+        ],
+        "systems": [
+          "hyprland",
+          "systems"
+        ]
+      },
+      "locked": {
+        "lastModified": 1691753796,
+        "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
+        "owner": "hyprwm",
+        "repo": "hyprland-protocols",
+        "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
+        "type": "github"
+      },
+      "original": {
+        "owner": "hyprwm",
+        "repo": "hyprland-protocols",
+        "type": "github"
+      }
+    },
+    "hyprlang": {
+      "inputs": {
+        "nixpkgs": [
+          "hyprland",
+          "xdph",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1704287638,
+        "narHash": "sha256-TuRXJGwtK440AXQNl5eiqmQqY4LZ/9+z/R7xC0ie3iA=",
+        "owner": "hyprwm",
+        "repo": "hyprlang",
+        "rev": "6624f2bb66d4d27975766e81f77174adbe58ec97",
+        "type": "github"
+      },
+      "original": {
+        "owner": "hyprwm",
+        "repo": "hyprlang",
+        "type": "github"
+      }
+    },
     "lanzaboote": {
       "inputs": {
         "crane": "crane",
         "flake-compat": "flake-compat_2",
-        "flake-parts": "flake-parts",
+        "flake-parts": "flake-parts_2",
         "flake-utils": "flake-utils",
         "nixpkgs": [
           "nixpkgs"
@@ -258,6 +369,22 @@
     },
     "nixpkgs_2": {
       "locked": {
+        "lastModified": 1706191920,
+        "narHash": "sha256-eLihrZAPZX0R6RyM5fYAWeKVNuQPYjAkCUBr+JNvtdE=",
+        "owner": "NixOS",
+        "repo": "nixpkgs",
+        "rev": "ae5c332cbb5827f6b1f02572496b141021de335f",
+        "type": "github"
+      },
+      "original": {
+        "owner": "NixOS",
+        "ref": "nixos-unstable",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
+    "nixpkgs_3": {
+      "locked": {
         "lastModified": 1701389149,
         "narHash": "sha256-rU1suTIEd5DGCaAXKW6yHoCfR1mnYjOXQFOaH7M23js=",
         "owner": "nixos",
@@ -306,11 +433,13 @@
     "root": {
       "inputs": {
         "alacritty-themes": "alacritty-themes",
+        "anyrun": "anyrun",
         "deploy-rs": "deploy-rs",
         "home-manager": "home-manager",
+        "hyprland": "hyprland",
         "lanzaboote": "lanzaboote",
         "nix-vscode-extensions": "nix-vscode-extensions",
-        "nixpkgs": "nixpkgs_2"
+        "nixpkgs": "nixpkgs_3"
       }
     },
     "rust-overlay": {
@@ -355,6 +484,21 @@
     },
     "systems_2": {
       "locked": {
+        "lastModified": 1689347949,
+        "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
+        "owner": "nix-systems",
+        "repo": "default-linux",
+        "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-systems",
+        "repo": "default-linux",
+        "type": "github"
+      }
+    },
+    "systems_3": {
+      "locked": {
         "lastModified": 1681028828,
         "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
         "owner": "nix-systems",
@@ -385,6 +529,55 @@
         "repo": "flake-utils",
         "type": "github"
       }
+    },
+    "wlroots": {
+      "flake": false,
+      "locked": {
+        "host": "gitlab.freedesktop.org",
+        "lastModified": 1706359063,
+        "narHash": "sha256-5HUTG0p+nCJv3cn73AmFHRZdfRV5AD5N43g8xAePSKM=",
+        "owner": "wlroots",
+        "repo": "wlroots",
+        "rev": "00b869c1a96f300a8f25da95d624524895e0ddf2",
+        "type": "gitlab"
+      },
+      "original": {
+        "host": "gitlab.freedesktop.org",
+        "owner": "wlroots",
+        "repo": "wlroots",
+        "rev": "00b869c1a96f300a8f25da95d624524895e0ddf2",
+        "type": "gitlab"
+      }
+    },
+    "xdph": {
+      "inputs": {
+        "hyprland-protocols": [
+          "hyprland",
+          "hyprland-protocols"
+        ],
+        "hyprlang": "hyprlang",
+        "nixpkgs": [
+          "hyprland",
+          "nixpkgs"
+        ],
+        "systems": [
+          "hyprland",
+          "systems"
+        ]
+      },
+      "locked": {
+        "lastModified": 1706145785,
+        "narHash": "sha256-j9MP4fv2U/vdRKAXXc2gyMTmYwVnHP6kHx1/y6jprrU=",
+        "owner": "hyprwm",
+        "repo": "xdg-desktop-portal-hyprland",
+        "rev": "5a592647587cd20b9692a347df6939b6d371b3bb",
+        "type": "github"
+      },
+      "original": {
+        "owner": "hyprwm",
+        "repo": "xdg-desktop-portal-hyprland",
+        "type": "github"
+      }
     }
   },
   "root": "root",
diff --git a/flake.nix b/flake.nix
index 99c098e..2ba0c23 100755
--- a/flake.nix
+++ b/flake.nix
@@ -19,6 +19,13 @@
 
     lanzaboote.url = "github:nix-community/lanzaboote";
     lanzaboote.inputs.nixpkgs.follows = "nixpkgs";
+
+    hyprland.url = "github:hyprwm/Hyprland";
+
+    anyrun = {
+      url = "github:Kirottu/anyrun";
+      inputs.nixpkgs.follows = "nixpkgs";
+    };
   };
 
   outputs = { self, nixpkgs, home-manager, deploy-rs, ... }@inputs: let
@@ -28,8 +35,10 @@
         (map import)
       ]);
   in {
-    nixosConfigurations.codedPC = nixpkgs.lib.nixosSystem {
+    nixosConfigurations.codedPC = let 
       system = "x86_64-linux";
+    in nixpkgs.lib.nixosSystem {
+      inherit system;
       modules = [
         home-manager.nixosModules.home-manager
         inputs.lanzaboote.nixosModules.lanzaboote
@@ -38,11 +47,13 @@
           system = { inherit stateVersion; };
         }
       ] ++ modulesFor "common" ++ modulesFor "codedPC";
-      specialArgs = { inherit inputs; flakeRoot = ./.; };
+      specialArgs = { inherit inputs system; flakeRoot = ./.; };
     };
 
-    nixosConfigurations.codedPI = nixpkgs.lib.nixosSystem {
+    nixosConfigurations.codedPI = let 
       system = "amd64-linux";
+    in nixpkgs.lib.nixosSystem {
+      inherit system;
       modules = [
         home-manager.nixosModules.home-manager
         inputs.lanzaboote.nixosModules.lanzaboote
@@ -51,7 +62,7 @@
           system = { inherit stateVersion; };
         }
       ] ++ modulesFor "common" ++ modulesFor "codedPI";
-      specialArgs = { inherit inputs; flakeRoot = ./.; };
+      specialArgs = { inherit inputs system; flakeRoot = ./.; };
     };
 
     deploy.nodes.codedPI.profiles.system = {
diff --git a/modules/codedPC/anyrun.nix b/modules/codedPC/anyrun.nix
new file mode 100644
index 0000000..3ae2393
--- /dev/null
+++ b/modules/codedPC/anyrun.nix
@@ -0,0 +1,16 @@
+{ inputs, system, ...}: {
+  home-manager.users.coded.imports = [ inputs.anyrun.homeManagerModules.default ];
+  home-manager.users.coded.programs.anyrun = {
+    enable = true;
+    config = {
+      plugins = [
+        inputs.anyrun.packages.${system}.applications
+        inputs.anyrun.packages.${system}.rink
+        inputs.anyrun.packages.${system}.shell
+        inputs.anyrun.packages.${system}.translate
+        inputs.anyrun.packages.${system}.kidex
+        inputs.anyrun.packages.${system}.symbols
+      ];
+    };
+  };
+}
diff --git a/modules/codedPC/eww.nix b/modules/codedPC/eww.nix
new file mode 100644
index 0000000..edbdf3e
--- /dev/null
+++ b/modules/codedPC/eww.nix
@@ -0,0 +1,6 @@
+{ flakeRoot, ... }: {
+  home-manager.users.coded.programs.eww = {
+    enable = true;
+    configDir = "${flakeRoot}/extensions/eww";
+  };
+}
diff --git a/modules/codedPC/kde_plasma.nix b/modules/codedPC/kde_plasma.nix
deleted file mode 100644
index 39683b3..0000000
--- a/modules/codedPC/kde_plasma.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ pkgs, ... }: {
-  environment.plasma5.excludePackages = [
-    pkgs.libsForQt5.okular
-    pkgs.libsForQt5.konsole
-  ];
-
-  environment.systemPackages = [
-    pkgs.sweet-nova
-    pkgs.pitch-black
-    pkgs.adapta-kde-theme
-    pkgs.ocs-url
-  ];
-
-}
diff --git a/modules/codedPC/packages.nix b/modules/codedPC/packages.nix
index 5fdd854..d39fb0b 100644
--- a/modules/codedPC/packages.nix
+++ b/modules/codedPC/packages.nix
@@ -6,6 +6,5 @@
     pkgs.email
     pkgs.thunderbird
     pkgs.ollama
-    pkgs.kdocker
   ];
 }
diff --git a/modules/codedPC/shell.nix b/modules/codedPC/shell.nix
index 997afe8..39dfd70 100644
--- a/modules/codedPC/shell.nix
+++ b/modules/codedPC/shell.nix
@@ -1,18 +1,12 @@
 { inputs, ... }: {
-  home-manager.users.coded.programs.alacritty = {
+  home-manager.users.coded.programs.kitty = {
     enable = true;
-    settings = {
-      window.dimensions = {
-        lines = 40;
-        columns = 150;
-      };
-      import = [
-        "${inputs.alacritty-themes}/themes/Catppuccin-Mocha.yml"
-      ];
-    };
+    theme = "Catppuccin-Macchiato";
+    shellIntegration.enableZshIntegration = true;
   };
 
   home-manager.users.coded.programs.zsh.shellAliases = {
+    launch = "hyprctl dispatch exec $1";
     print3d = "sudo /run/current-system/sw/bin/pronsole.py";
   };
 }
diff --git a/modules/codedPC/video.nix b/modules/codedPC/video.nix
index 00fdb9f..bc5cffb 100644
--- a/modules/codedPC/video.nix
+++ b/modules/codedPC/video.nix
@@ -1,18 +1,122 @@
-{
-  services.xserver.enable = true;
-  services.xserver.videoDrivers = [ "amdgpu" ];
+{ pkgs, inputs, ... }: {
 
-  services.xserver.displayManager.sddm.enable = true;
-  services.xserver.desktopManager.plasma5.enable = true;
+  programs.hyprland.enable = true;
 
-  hardware.opengl.driSupport = true;
-  # For 32 bit applications
-  hardware.opengl.driSupport32Bit = true;
+  home-manager.users.coded = {
+    home.packages = [ pkgs.hyprpicker ];
 
-  programs.dconf.enable = true;
+    wayland.windowManager.hyprland = {
+      enable = true;
 
-  services.xserver = {
-    layout = "us";
-    xkbVariant = "";
+      xwayland.enable = true;
+      systemd.enable = true;
+
+      plugins = [
+        
+      ];
+
+
+      settings = {
+        "$mainMod" = "SUPER";
+        "$terminal" = "kitty";
+        "$menu" = "anyrun";
+
+        general = {
+          gaps_in = 5;
+          gaps_out = 20;
+
+          border_size = 2;
+          "col.active_border" = "rgba(71AEF5EE) rgba(F2D478EE) 45deg";
+          "col.inactive_border" = "rgba(C4C4C4EE)";
+
+          layout = "dwindle";
+        };
+
+        decoration = {
+          rounding = 10;
+
+          drop_shadow = true;
+          shadow_range = 4;
+          shadow_render_power = 3;
+          "col.shadow" = "rgba(1a1a1aee)";
+        };
+
+        input = {
+          kb_layout = "us";
+          numlock_by_default = true;
+        };
+
+        monitor = [
+          "DP-1,1920x1080@165,0x0,1"
+          "DP-2,1920x1080@165,1920x0,1"
+          "HDMI-A-1,1920x1080@60,960x-1080,1"
+          ",preferred,auto,1"
+        ];
+
+        xwayland = {
+          force_zero_scaling = true;
+        };
+
+        master = {
+          new_is_master = true;
+        };
+
+        bind = [
+          "$mainMod, Q, killactive"
+          "$mainMod, SPACE, togglefloating"
+          "$mainMod, RETURN, exec, $terminal"
+          "$mainMod, down, movefocus, d"
+          "$mainMod, up, movefocus, u"
+          "$mainMod, right, movefocus, r"
+          "$mainMod, left, movefocus, l"
+
+          "ALT, SPACE, exec, $menu"
+        ] ++ (
+          builtins.concatLists (builtins.genList (
+              x: let
+                ws = let
+                  c = (x + 1) / 10;
+                in
+                  builtins.toString (x + 1 - (c * 10));
+              in [
+                "$mainMod, ${ws}, workspace, ${toString (x + 1)}"
+                "$mainMod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
+              ]
+            )
+            10)
+        );
+
+        bindm = [
+          "$mainMod, mouse:272, movewindow"
+          "$mainMod, mouse:273, resizewindow"
+        ];
+      };
+    };
+  };
+
+  # services.xserver.enable = true;
+  # services.xserver.videoDrivers = [ "amdgpu" ];
+
+  # services.xserver.displayManager.sddm.enable = true;
+  # services.xserver.desktopManager.plasma5.enable = true;
+
+  # hardware.opengl.driSupport = true;
+  # # For 32 bit applications
+  # hardware.opengl.driSupport32Bit = true;
+
+  # programs.dconf.enable = true;
+
+  # services.xserver = {
+  #   layout = "us";
+  #   xkbVariant = "";
+  # };
+
+  hardware.opengl = {
+    enable = true;
+    driSupport = true;
+    driSupport32Bit = true;
+    extraPackages = [
+      pkgs.vaapiVdpau
+    ];
   };
 }
diff --git a/modules/codedPC/vscode.nix b/modules/codedPC/vscode.nix
index ecd4f35..0ae2c18 100644
--- a/modules/codedPC/vscode.nix
+++ b/modules/codedPC/vscode.nix
@@ -15,6 +15,7 @@
         "javascript.updateImportsOnFileMove.enabled" = "always";
         "terminal.integrated.enableMultiLinePasteWarning" = false;
         "liveshare.languages.allowGuestCommandControl" = true;
+        "gerrit.auth.url" = "https://git.clicks.codes";
     };
     extensions =
       [
@@ -23,11 +24,19 @@
         pkgs.vscode-extensions.editorconfig.editorconfig
         pkgs.vscode-extensions.zhuangtongfa.material-theme
         pkgs.vscode-extensions.bbenoist.nix
-      ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [{
-        name = "helium-icon-theme";
-        publisher = "helgardrichard";
-        version = "1.0.0";
-        sha256 = "sha256-uSApuTXQgvPiJpBL91d3mX35Sa2l2vLIAFpBo+cZ4h4=";
-      }];
+      ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
+        {
+          name = "helium-icon-theme";
+          publisher = "helgardrichard";
+          version = "1.0.0";
+          sha256 = "sha256-uSApuTXQgvPiJpBL91d3mX35Sa2l2vLIAFpBo+cZ4h4=";
+        }
+        {
+          name = "vscode--gerrit";
+          publisher = "sanderronde";
+          version = "1.2.21";
+          sha256 = "sha256-M7ZEBhxDCZ4/YCK8ujkAjIpiO1otpNXh13yeQVQZ8SA=";
+        }
+      ];
   };
 }
diff --git a/modules/common/basicServices.nix b/modules/common/basicServices.nix
index 81eea42..acb18e3 100644
--- a/modules/common/basicServices.nix
+++ b/modules/common/basicServices.nix
@@ -1 +1 @@
-{ config, pkgs, ... }: { services.printing.enable = true; }
+{ services.printing.enable = true; }
diff --git a/modules/common/shell.nix b/modules/common/shell.nix
index 77b2ce9..e993f1c 100644
--- a/modules/common/shell.nix
+++ b/modules/common/shell.nix
@@ -3,9 +3,9 @@
   users.users.coded.shell = pkgs.zsh;
 
   home-manager.users.coded.home.packages = [
+    pkgs.htop
     pkgs.bmon
     pkgs.wget
-    pkgs.guake
   ];
 
   home-manager.users.coded.programs = {