diff --git a/src/QBar/Cli.hs b/src/QBar/Cli.hs
index 7ee51a0f61d387178cfc3e556c9858ba520acec8..e538907b98aea6f62a84f8b203ac8870a6c76d3f 100644
--- a/src/QBar/Cli.hs
+++ b/src/QBar/Cli.hs
@@ -64,19 +64,21 @@ barConfigurationParser = do
   pure $ sequence_ blocks
 
 blockParser :: Parser (BarIO ())
-blockParser = subparser (
-    commandGroup "Available blocks:" <>
-    command "date" (info (pure $ addBlock dateBlock) (progDesc "Load the date and time block.")) <>
-    command "cpu" (info (pure $ addBlock $ cpuUsageBlock 1) (progDesc "Load the cpu usage block.")) <>
-    command "script" (info scriptBlockParser (progDesc "Display the output of an external script as a block."))
-  )
-  <|>
+blockParser =
   subparser (
-    hidden <>
     commandGroup "Available presets:" <>
+    metavar "CONFIG..." <>
     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."))
   )
+  <|>
+  subparser (
+    commandGroup "Available blocks:" <>
+    hidden <>
+    command "date" (info (pure $ addBlock dateBlock) (progDesc "Load the date and time block.")) <>
+    command "cpu" (info (pure $ addBlock $ cpuUsageBlock 1) (progDesc "Load the cpu usage block.")) <>
+    command "script" (info scriptBlockParser (progDesc "Display the output of an external script as a block."))
+  )
 
 scriptBlockParser :: Parser (BarIO ())
 scriptBlockParser = helper <*> do