nixOptsParser :: Bool -> Parser NixOptsMonoid
nixOptsParser hide0 =
  NixOptsMonoid
  <$> pure False
  <*> maybeBoolFlags nixCmdName
                     "using a Nix-shell"
                     hide
  <*> pure []
  <*> pure Nothing
  <*> ((map T.pack . fromMaybe [])
       <$> optional (argsOption (long "nix-shell-options" <>
                                 metavar "OPTION" <>
                                 help "Additional options passed to nix-shell" <>
                                 hide)))
  where
    hide = hideMods hide0


-- | Options parser configuration for Docker.
nixOptsParser :: Bool -> Parser NixOptsMonoid
nixOptsParser hide0 =
  NixOptsMonoid
  <$> pure False
  <*> maybeBoolFlags nixCmdName
                     "using a Nix-shell"
                     hide
  <*> pure []
  <*> pure Nothing
  <*> ((map T.pack . fromMaybe [])
       <$> optional (argsOption (long "nix-shell-options" <>
                                 metavar "OPTION" <>
                                 help "Additional options passed to nix-shell" <>
                                 hide)))
  where
    hide = hideMods hide0


-- | Options parser configuration for Docker.
nixOptsParser hide0 =
  NixOptsMonoid
  <$> pure False
  <*> maybeBoolFlags nixCmdName
                     "using a Nix-shell"
                     hide
  <*> pure []
  <*> pure Nothing
  <*> ((map T.pack . fromMaybe [])
       <$> optional (argsOption (long "nix-shell-options" <>
                                 metavar "OPTION" <>
                                 help "Additional options passed to nix-shell" <>
                                 hide)))
  where
    hide = hideMods hide0


-- | Options parser configuration for Docker.