-    -- Widgets that are aligned to the right
-    local right_layout = wibox.layout.fixed.horizontal()
-    if s == 1 then right_layout:add(wibox.widget.systray()) end
-    right_layout:add(network_widget)
-    right_layout:add(volume_widget)
-    if utils.host == "chronos" then
-        right_layout:add(battery_widget)
-    end
-    right_layout:add(mytextclock)
-    right_layout:add(mylayoutbox[s])
-
-    -- Now bring it all together (with the tasklist in the middle)
-    local layout = wibox.layout.align.horizontal()
-    layout:set_left(left_layout)
-    layout:set_middle(mytasklist[s])
-    layout:set_right(right_layout)
-
-    mywibox[s]:set_widget(layout)
-end
--- }}}
+    -- Add widgets to the wibox
+    s.mywibox:setup {
+        layout = wibox.layout.align.horizontal,
+        { -- Left widgets
+            layout = wibox.layout.fixed.horizontal,
+            s.mytaglist,
+            s.mypromptbox,
+        },
+        s.mytasklist, -- Middle widget
+        { -- Right widgets
+            layout = wibox.layout.fixed.horizontal,
+            mykeyboardlayout,
+            wibox.widget.systray(),
+            separator,
+            require("widgets/pomodoro"),
+            separator,
+            require("widgets/mpd_widget"),
+            separator,
+            require("widgets/volume_widget"),
+            utils.has_battery() and {
+                layout = wibox.layout.fixed.horizontal,
+                separator,
+                require("widgets/battery_widget"),
+            },
+            separator,
+            require("widgets/network_widget"),
+            separator,
+            require("widgets/calendar"),
+            s.mylayoutbox,
+        },
+    }
+end)