diff --git a/src/QBar/Cli.hs b/src/QBar/Cli.hs
index e8c6d50dba612f6f09d154b52ab875e4eccbed00..63840065d720cda90165185845ff37621e1a9433 100644
--- a/src/QBar/Cli.hs
+++ b/src/QBar/Cli.hs
@@ -67,7 +67,14 @@ barConfigurationParser = do
     l -> sequence_ l
 
 blockParser :: Parser (BarIO ())
-blockParser = hsubparser (
-    command "default" (info (pure defaultBarConfig) (progDesc "Load default set of blocks.")) <>
+blockParser = subparser (
+    commandGroup "Available blocks:" <>
     command "date" (info (pure $ addBlock dateBlock) (progDesc "Load the date and time block."))
   )
+  <|>
+  subparser (
+    hidden <>
+    commandGroup "Available presets:" <>
+    command "default" (info (pure defaultBarConfig) (progDesc "Load default set of blocks.")) <>
+    command "legacy" (info (pure legacyBarConfig) (progDesc "Load the legacy configuration. Requires some custom block scripts."))
+  )
diff --git a/src/QBar/DefaultConfig.hs b/src/QBar/DefaultConfig.hs
index ee421743c62d8c8836ff7d821ad7cae31c75bd8a..7fc58cd76e6292628aaff71f7812decb8f83605f 100644
--- a/src/QBar/DefaultConfig.hs
+++ b/src/QBar/DefaultConfig.hs
@@ -8,13 +8,26 @@ import Pipes
 
 import Control.Lens
 
-blockLocation :: String -> FilePath
-blockLocation name = "~/.config/qbar/blocks/" <> name
-
 defaultBarConfig :: BarIO ()
 defaultBarConfig = do
   systemInfoInterval <- sharedInterval 10
 
+  let battery = systemInfoInterval $ batteryBlock >-> modify (blockName ?~ "battery")
+  let cpuUsage = systemInfoInterval $ cpuUsageBlock 1 >-> modify ((blockName ?~ "cpuUsage") . addIcon "💻\xFE0E")
+
+  -- TODO: commented-out blocks should be added as soon as they are implemented in qbar
+  addBlock dateBlock
+  addBlock battery
+  --addBlock volumeBlock
+  addBlock cpuUsage
+  --addBlock ramUsageBlock
+  --addBlock cpuTemperatureBlock
+  --addBlock networkBlock
+
+legacyBarConfig :: BarIO ()
+legacyBarConfig = do
+  systemInfoInterval <- sharedInterval 10
+
   let todo = systemInfoInterval (blockScript $ blockLocation "todo")
   let wifi = systemInfoInterval $ (blockScript $ blockLocation "wifi2") >-> modify (addIcon "📡\xFE0E")
   let networkEnvironment = systemInfoInterval (blockScript $ blockLocation "network-environment")
@@ -33,3 +46,6 @@ defaultBarConfig = do
   addBlock networkEnvironment
   addBlock wifi
   addBlock todo
+  where
+    blockLocation :: String -> FilePath
+    blockLocation name = "~/.config/qbar/blocks/" <> name