DNF5-ALIASES(7)

πŸ’– dnf5-aliases πŸ’–

okay so this is the dnf5-aliases(7) page from the dnf5 manual, and bestie, it's a whole thing β€” it's the glow-up guide for making your own custom shortcuts for dnf5 commands and options. sit down, grab a boba, we're doing this together 🫢


✨ NAME ✨

dnf5-aliases β€” Aliases for command line arguments


🌸 DESCRIPTION 🌸

so the vibe is: you can define your own custom aliases, and then use them as dnf commands or options to shorten those long, exhausting command-and-option sequences. no more typing the whole novel, just the sparknotes version πŸ’…

the aliases are configured in TOML format, and the config files get loaded from these drop-in directories:

  • /usr/share/dnf5/aliases.d/
  • /etc/dnf/dnf5-aliases.d/
  • $XDG_CONFIG_HOME/dnf5/aliases.d/

πŸŽ€ Syntax: πŸŽ€

the config file must start with the version attribute set to a required version, like this:

version = '1.1'

every alias lives in its own separate section, defined with key = value pairs, like so:

['in']
type = 'command'
attached_command = 'install'
descr.C = "Alias for 'install'"
descr.cs_CZ = "Alias pro 'install'"

the section name is what uniquely identifies the alias. it's shaped like a path β€” one or more strings separated by dots β€” and that path defines the scope of the alias. for example, the string "group.list.in" would identify an alias that's only usable within the scope of the group list subcommand. it's giving nesting doll energy πŸͺ†

there are these types of aliases:

  • command
  • cloned_named_arg
  • named_arg
  • group

πŸ‘‘ Type: command πŸ‘‘

the command alias defines an alias for a command. periodt.

Keys:

  • type β€” Must have value command.
  • attached_command β€” Path to a command for which this alias is defined.
  • descr.<locale> – Description that will be shown in help. descr.C is used if a description for the appropriate locale is not found. Added in config file version 1.1.
  • descr – Description that will be shown in help. Deprecated in version 1.1, but remains backward compatible. Does not support locales.
  • group_id β€” A group this alias is part of if any.
  • complete β€” Whether bash autocompletion should be used for this alias, default is false.
  • required_values β€” Values (positional arguments) consumed by the command alias. The format is an array of tables; each must include either value_help.<locale> for the active locale or value_help.C, and may optionally include descr.<locale>. The default is an empty array. Added in config file version 1.1.
  • attached_named_args β€” Options that will be used with the command. The format is an array of tables, each of which must contain an id_path key to specify the path to an option, and may contain also a value key to specify the value of the option. The value can contain ${index} placeholders, which are replaced by values consumed by the command alias (as defined by required_values). Command arguments start at index 1. Index 0 refers to the command alias itself. If no value key is provided, an empty string will be passed to named arguments that expect a value.

the required keys are type, and attached_command. don't forget or it's gonna be mad at you 😭

Examples:

  • Alias grouplist for group list:
['grouplist']
type = 'command'
attached_command = 'group.list'
descr.C = "Alias for 'group list'"
descr.cs_CZ = "Alias pro 'group list'"
  • Alias group.ls for group list:
['group.ls']
type = 'command'
attached_command = 'group.list'
descr.C = "Alias for 'group list'"
descr.cs_CZ = "Alias pro 'group list'"
complete = true
  • Alias list-fedora-all for --repo=fedora list --showduplicates:
['list-fedora-all']
type = 'command'
attached_command = 'list'
descr.C = "Alias for '--repo=fedora list --showduplicates'"
descr.cs_CZ = "Alias pro '--repo=fedora list --showduplicates'"
complete = true
attached_named_args = [
    { id_path = 'repo', value = 'fedora' },
    { id_path = 'list.showduplicates' }
]
  • Alias whatrequires for repoquery --installed --whatrequires=<requires_first_argument>:
['whatrequires']
type = 'command'
attached_command = 'repoquery'
descr = 'Alias for "repoquery --installed --whatrequires=<whatrequires_first_argument>"'
complete = true

[[whatrequires.required_values]]
value_help.C = 'CAPABILITY,...'
descr.C = 'Limit to packages that require any of <capabilities>.'
descr.cs_CZ = 'OmezΓ­ se na balíčky vyΕΎadujΓ­cΓ­ nΔ›co z <capabilities>.'

[[whatrequires.attached_named_args]]
id_path = 'repoquery.installed'

[[whatrequires.attached_named_args]]
id_path = 'repoquery.whatrequires'
value='${1}'

πŸ¦‹ Type: cloned_named_arg πŸ¦‹

the cloned_named_arg alias defines another name for a given option. it's basically a nickname, iconic behaviour πŸ’…

Keys:

  • type β€” Must have value cloned_named_arg.
  • long_name β€” Name of the alias option.
  • short_name β€” One-letter shortcut of the name.
  • source β€” Path to the option for which this alias is defined.
  • group_id β€” A group this alias is part of if any.
  • complete β€” Whether bash autocompletion should be used for this alias, default is false.

the required keys are type, either long_name or short_name, and source.

Examples:

  • Alias --nobest for --no-best:
['nobest']
type = 'cloned_named_arg'
long_name = 'nobest'
source = 'no-best'
  • Alias repoquery --list or repoquery -l for repoquery --files:
['repoquery.list']
type = 'cloned_named_arg'
long_name = 'list'
short_name = 'l'
source = 'repoquery.files'

🧚 Type: named_arg 🧚

the named_arg defines an alias that can replace multiple options and can define a value for each. multitasking queen πŸ‘‘

Keys:

  • type β€” Must have value named_arg.
  • long_name β€” Name of the alias option.
  • short_name β€” One-letter shortcut of the name.
  • descr.<locale> – Description that will be shown in help. descr.C is used if a description for the appropriate locale is not found. Added in config file version 1.1.
  • descr – Description that will be shown in help. Deprecated in version 1.1, but remains backward compatible. Does not support locales.
  • has_value β€” Whether the option requires a value. The value is then substituted for ${} strings in the values of attached_named_args. Default is false.
  • value_help.<locale> β€” The string shown in help for the value (e.g. CONFIG_FILE_PATH for --config=CONFIG_FILE_PATH). value_help.C is used if a string for the appropriate locale is not found. Added in config file version 1.1.
  • value_help β€” The string shown in help for the value (e.g. CONFIG_FILE_PATH for --config=CONFIG_FILE_PATH). Deprecated in version 1.1, but remains backward compatible. Does not support locales.
  • const_value β€” Default constant value (specified only if the alias does not have a value on the command line). The value is then substituted for ${} strings in the values of attached_named_args.
  • group_id β€” A group this alias is part of if any.
  • complete β€” Whether bash autocompletion should be used for this alias, default is false.
  • attached_named_args β€” Options that will be used. The format is an array of inline tables, each of which must contain an id_path key to specify the path to an option, and may contain also a value key to specify the value of the option.

the required keys are type, and either long_name or short_name.

Examples:

  • Alias list --all-available for list --showduplicates --available:
['list.all-available']
type = 'named_arg'
long_name = 'all-available'
attached_named_args = [
    { id_path = 'list.showduplicates' },
    { id_path = 'list.available' }
]
  • Alias download --dest=DESTDIR for download --destdir=DESTDIR:
['download.dest']
type = 'named_arg'
long_name = 'dest'
has_value = true
value_help.C = 'DESTDIR'
attached_named_args = [
    { id_path = 'download.destdir' }
]
  • Alias --settsflags=TS_FLAGS for --setopt=tsflags=TS_FLAGS:
['settsflags']
type = 'named_arg'
long_name = 'settsflags'
descr.C = 'Set transaction flags'
descr.cs_CZ = 'Nastavit parametry transakce'
has_value = true
value_help.C = 'TS_FLAGS'
attached_named_args = [
 { id_path = 'setopt', value = 'tsflags=${}' }
]

🌈 Type: group 🌈

the group defines a group for multiple commands or options. found family for aliases 🫢

Required keys:

  • type β€” Must have value group.
  • header.<locale> – The header of the group as will be shown in help. header.C is used if a header for the appropriate locale is not found. Added in config file version 1.1.
  • header β€” The header of the group as will be shown in help. Deprecated in version 1.1, but remains backward compatible. Does not support locales.

the required keys are type and header.

the aliases get added to the group using the group_id key in their respective sections. that's the whole glue bestie ✨

Examples:

  • Group query-aliases for subcommand repo containing aliases repo.ls and repo.if:
['repo.query-aliases']
type = 'group'
header.C = 'Query Aliases:'
header.cs_CZ = 'Zkratky pro dotazy:'

['repo.ls']
type = 'command'
attached_command = 'repo.list'
descr.C = "Alias for 'repo list'"
descr.cs_CZ = "Alias pro 'repo list'"
group_id = 'query-aliases'

['repo.if']
type = 'command'
attached_command = 'repo.info'
descr.C = "Alias for 'repo info'"
descr.cs_CZ = "Alias pro 'repo info'"
group_id = 'query-aliases'

okay that's the first half of the tea, bestie β€” there's more coming, so stay tuned πŸ’–βœ¨


πŸ‘‘ AUTHOR πŸ‘‘

Bestie, who do we thank for this masterpiece? Check AUTHORS.md in the dnf5 source distribution β€” the whole crew is in there, and they ate. πŸ’…


Copyright belongs to the Contributors to the dnf5 project. That's the whole squad, no cap. 🫢


And that's the page, fr fr β€” you made it to the end like the main character you are. 🌈✨

This one's from the dnf5 set, source/version tag DNF5-ALIASES(7), dated Sep 24, 2026 β€” iconic, timeless, lowkey historic. πŸ’œ

Now go forth and slay those aliases. Periodt. πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from