diff --git a/modules/home/eww/config/eww.scss b/modules/home/eww/config/eww.scss
deleted file mode 100644
index ad16c17..0000000
--- a/modules/home/eww/config/eww.scss
+++ /dev/null
@@ -1,82 +0,0 @@
-* {
-    all: unset; //Unsets everything so you can style everything from scratch
-  }
-  
-  $surface-color: #CCD0DA;
-  $contrast-color: #4C4F69;
-  $accent-color: #F27878;
-  
-  .bar {
-    background-color: $surface-color;
-    color: $contrast-color;
-    border-radius: 10px;
-    padding: 5px 15px;
-    margin: 0 20px;
-    margin-top: 20px;
-  }
-  
-  // Styles on classes (see eww.yuck for more information)
-  
-  .sidestuff slider {
-    all: unset;
-    color: $surface-color;
-  }
-  
-  .radio button {
-    all: unset;
-    min-width: 25px;
-    min-height: 25px;
-    margin-right: 10px;
-    border-radius: 100%;
-  }
-  
-  .radio button.unblocked {
-    background-color: $accent-color;
-  }
-  
-  .radio button.blocked {
-    background-color: $contrast-color;
-  }
-  
-  .metric scale trough highlight {
-    all: unset;
-    background-color: $accent-color;
-    color: $contrast-color;
-    border-radius: 10px;
-  }
-  
-  .metric scale trough {
-    all: unset;
-    background-color: $contrast-color;
-    border-radius: 50px;
-    min-height: 3px;
-    min-width: 50px;
-    margin-left: 10px;
-    margin-right: 20px;
-  }
-  
-  .metric scale trough highlight {
-    all: unset;
-    background-color: $accent-color;
-    color: $contrast-color;
-    border-radius: 10px;
-  }
-  
-  .metric scale trough {
-    all: unset;
-    background-color: $contrast-color;
-    border-radius: 50px;
-    min-height: 3px;
-    min-width: 50px;
-    margin-left: 10px;
-    margin-right: 20px;
-  }
-  
-  .label-ram {
-    font-size: large;
-  }
-  
-  .workspaces button:hover {
-    color: $accent-color;
-  }
-  
\ No newline at end of file
diff --git a/modules/home/eww/config/eww.yuck b/modules/home/eww/config/eww.yuck
deleted file mode 100644
index a7695ac..0000000
--- a/modules/home/eww/config/eww.yuck
+++ /dev/null
@@ -1,119 +0,0 @@
-(defwidget bar []
-  (centerbox :orientation "h"
-             :class "bar"
-    (workspaces)
-    (music)
-    (sidestuff)))
-
-(defwidget sidestuff []
-  (box :class "sidestuff" :orientation "h" :space-evenly false :halign "end"
-    (metric :label "🔊"
-      :value volume
-    :onchange "nix run nixpkgs#pamixer -- --set-volume {}")
-    (radio)
-    (sysinfo)
-  time))
-
-(defwidget radio []
-  (box :class "radio" :orientation "h" :space-evenly false :halign "end"
-    (button :class bluetooth 
-      :onclick { bluetooth == "inactive" ? "bluetoothctl power on" : "bluetoothctl power off"}
-      "")
-    (button :class wifi 
-      :onclick { wifi == "disabled" ? "nmcli radio wifi on" : "nmcli radio wifi off"}
-      "🛜")
-  )
-)
-
-(defwidget sysinfo []
-  (box :class "sysinfo"
-    ; (metric :label { battery_status == "Normal" ? "🔋" : "🪫" }
-    ;   :value battery_cap
-    ; :onchange "")
-    (metric :label "🐏"
-      :value {EWW_RAM.used_mem_perc}
-    :onchange "")
-    (metric :label "💾"
-      :value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)}
-    :onchange "")
-    (metric :label "🕓"
-      :value cpu_usage_percent
-    :onchange "")
-  )
-)
-
-(defwidget workspaces []
-  (box :class "workspaces"
-    :orientation "h"
-    :space-evenly true
-    :halign "start"
-    :spacing 10
-    (button :onclick "hyprctl dispatch workspace 1" 1)
-    (button :onclick "hyprctl dispatch workspace 2" 2)
-    (button :onclick "hyprctl dispatch workspace 3" 3)
-    (button :onclick "hyprctl dispatch workspace 4" 4)
-    (button :onclick "hyprctl dispatch workspace 5" 5)
-    (button :onclick "hyprctl dispatch workspace 6" 6)
-    (button :onclick "hyprctl dispatch workspace 7" 7)
-    (button :onclick "hyprctl dispatch workspace 8" 8)
-    (button :onclick "hyprctl dispatch workspace 9" 9)
-    (button :onclick "hyprctl dispatch workspace 0" 0)
-  ))
-
-(defwidget music []
-  (box :class "music"
-    :orientation "h"
-    :space-evenly false
-    :halign "center"
-    :onclick ""
-  {music != "" ? "🎵${music}" : ""}))
-
-
-(defwidget metric [label value onchange]
-  (box :orientation "h"
-    :class "metric"
-    :space-evenly false
-    (box :class "label" label)
-    (scale :min 0
-      :max 101
-      :active {onchange != ""}
-      :value value
-    :onchange onchange)))
-
-(deflisten music :initial ""
-"nix run nixpkgs#playerctl -- --follow metadata --format '{{ title }}' || true")
-
-(defpoll bluetooth :interval "1s"
-"rfkill -o TYPE,SOFT list -n | grep bluetooth | sed -E 's/bluetooth\s+//g'")
-
-(defpoll wifi :interval "1s"
-"rfkill -o TYPE,SOFT list -n | grep wlan | sed -E 's/wlan\s+//g'")
-
-(defpoll volume :interval "1s"
-"nix run nixpkgs#pamixer -- --get-volume")
-
-(defpoll battery_cap :interval "5m"
-"cat /sys/class/power_supply/BAT*/capacity"
-)
-
-(defpoll battery_status :interval "1s"
-"cat /sys/class/power_supply/BAT*/status"
-)
-
-(defpoll cpu_usage_percent :interval "5s"
-"bash scripts/cpu_usage"
-)
-
-(defpoll time :interval "1s"
-"date '+%H:%M:%S  %b %d, %Y'")
-
-(defwindow bar-primary
-  :monitor 0
-  :windowtype "dock"
-  :geometry (geometry :x "0%"
-    :y "0%"
-    :width "100%"
-    :height "10px"
-  :anchor "top center")
-  :exclusive true
-  (bar))
diff --git a/modules/home/eww/config/scripts/cpu_usage b/modules/home/eww/config/scripts/cpu_usage
deleted file mode 100644
index 62d9af7..0000000
--- a/modules/home/eww/config/scripts/cpu_usage
+++ /dev/null
@@ -1,7 +0,0 @@
-CPU=$(sed -n 's/^cpu\s//p' /proc/stat);
-TOTAL=$(($(T=0; for VAL in $CPU; do T=($((T))+$((VAL))); done; echo $T)));
-IDLE=${CPU[4]};
-IDLE_FRAC=$(echo $(($IDLE.00/$TOTAL)));
-IN_USE=$(echo $(( 1.00 - $IDLE_FRAC )));
-NUM=$(( $IN_USE * 100 ));
-echo $NUM
\ No newline at end of file
diff --git a/modules/home/eww/default.nix b/modules/home/eww/default.nix
deleted file mode 100644
index bb80448..0000000
--- a/modules/home/eww/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ inputs, pkgs, ... }:
-{
-  programs.eww = {
-    enable = true;
-    configDir = ./config;
-  };
-
-  /* bluetoothctl
-     wpa_cli
-     pamixer
-     rfkill -> util-linux
-     cat
-     bash
-     date
-  */
-  # wpa_cli disable_network
-
-  # $RUN_wpa_cli
-}
