diff --git a/config/i3status-rs/config.toml b/config/i3status-rs/config.toml
new file mode 100644
index 00000000..39abde6c
--- /dev/null
+++ b/config/i3status-rs/config.toml
@@ -0,0 +1,24 @@
+[[block]]
+block = "battery"
+
+[[block]]
+block = "cpu"
+
+[[block]]
+block = "disk_space"
+path = "/"
+info_type = "available"
+alert_unit = "GB"
+interval = 20
+warning = 20.0
+alert = 10.0
+format = " $icon root: $available.eng(w:2) "
+
+[[block]]
+block = "memory"
+format = " $icon $mem_total_used_percents.eng(w:2) "
+format_alt = " $icon_swap $swap_used_percents.eng(w:2) "
+
+[[block]]
+block = "time"
+format = " $timestamp.datetime(f:'%a %d/%m/%Y %R') "
diff --git a/config/sway/config b/config/sway/config
index 9055ff1e..0bb450dc 100644
--- a/config/sway/config
+++ b/config/sway/config
@@ -25,7 +25,7 @@ set $menu wofi --show run
 ### Output configuration
 #
 # Default wallpaper (more resolutions are available in /run/current-system/sw/share/backgrounds/sway/)
-output * bg /run/current-system/sw/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
+output * bg ~/.config/sway/wallpaper.png fill
 #
 # Example configuration:
 #
@@ -216,18 +216,19 @@ bindsym $mod+r mode "resize"
 #
 # Read `man 5 sway-bar` for more information about this section.
 bar {
-    position top
+    position bottom
     tray_padding 10px
     font pango:DejaVu Sans Mono 16
 
     # When the status_command prints a new line to stdout, swaybar updates.
     # The default just shows the current date and time.
     # status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done
-    status_command while ~/.config/sway/status.sh; do sleep 5; done
+    status_command /run/current-system/sw/bin/i3status-rs ~/.config/i3status-rs/config.toml
 
     colors {
         statusline #ffffff
         background #323232
+        focused_workspace #ffffff #ffffff #333333
     }
 }
 
diff --git a/config/sway/status.sh b/config/sway/status.sh
deleted file mode 100755
index 302f43fe..00000000
--- a/config/sway/status.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-date_formatted=$(date "+%d/%m/%Y %H:%M:%S")
-
-battery_status=$(cat /sys/class/power_supply/BAT0/capacity)
-
-echo $battery_status% $date_formatted
diff --git a/config/sway/wallpaper.png b/config/sway/wallpaper.png
new file mode 100644
index 00000000..8b6da592
Binary files /dev/null and b/config/sway/wallpaper.png differ
diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix
index f3d11d34..cc305c4e 100644
--- a/home-manager/modules/common.nix
+++ b/home-manager/modules/common.nix
@@ -247,6 +247,11 @@ in
     recursive = true;
   };
 
+  xdg.configFile.i3status-rs = {
+    source = ../../config/i3status-rs;
+    recursive = true;
+  };
+
   xdg.configFile.nvim = {
     source = ../../config/neovim;
     recursive = true;
diff --git a/system/nixos/nixedo/configuration.nix b/system/nixos/nixedo/configuration.nix
index 70d18f05..99a57ef4 100644
--- a/system/nixos/nixedo/configuration.nix
+++ b/system/nixos/nixedo/configuration.nix
@@ -119,6 +119,7 @@ in {
   environment.systemPackages = with pkgs;
     [
       configure-gtk
+      i3status-rust
       swayidle
       swaylock
     ];