Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

programs.yazi.enable

Whether to enable yazi.

Type: boolean

Default:

false

Example:

true

Declared by:

programs.yazi.enableBashIntegration

Whether to enable Bash integration.

Type: boolean

Default:

Example:

false

Declared by:

programs.yazi.enableFishIntegration

Whether to enable Fish integration.

Type: boolean

Default:

Example:

false

Declared by:

programs.yazi.enableNushellIntegration

Whether to enable Nushell integration.

Type: boolean

Default:

Example:

false

Declared by:

programs.yazi.enableZshIntegration

Whether to enable Zsh integration.

Type: boolean

Default:

Example:

false

Declared by:

programs.yazi.package

The yazi package to use.

Type: null or package

Default:

pkgs.yazi

Declared by:

programs.yazi.extraPackages

Extra packages to make available to yazi.

These packages will be added to the yazi wrapper’s PATH.

Type: list of package

Default:

[ ]

Example:

with pkgs; [
  glow
  ouch
]

Declared by:

programs.yazi.flavors

Pre-made themes. Values should be a package or path containing the required files. Will be linked to $XDG_CONFIG_HOME/yazi/flavors/<name>.yazi.

See https://yazi-rs.github.io/docs/flavors/overview/ for documentation.

Type: attribute set of (absolute path or package)

Default:

{ }

Example:

{
  foo = ./foo;
  bar = pkgs.bar;
}

Declared by:

programs.yazi.initLua

The init.lua for Yazi itself.

Type: null or absolute path or strings concatenated with “\n”

Default:

null

Example:

./init.lua

Declared by:

programs.yazi.keymap

Configuration written to $XDG_CONFIG_HOME/yazi/keymap.toml.

See https://yazi-rs.github.io/docs/configuration/keymap for the full list of options.

Type: TOML value

Default:

{ }

Example:

{
  input.prepend_keymap = [
    { run = "close"; on = [ "<C-q>" ]; }
    { run = "close --submit"; on = [ "<Enter>" ]; }
    { run = "escape"; on = [ "<Esc>" ]; }
    { run = "backspace"; on = [ "<Backspace>" ]; }
  ];
  mgr.prepend_keymap = [
    { run = "escape"; on = [ "<Esc>" ]; }
    { run = "quit"; on = [ "q" ]; }
    { run = "close"; on = [ "<C-q>" ]; }
  ];
}

Declared by:

programs.yazi.plugins

Lua plugins. Values can be a package or path (linked as-is), or an attribute set with package, setup, and settings.

Plugins with setup set to true generate a require("{name}"):setup({...}) call in $XDG_CONFIG_HOME/yazi/init.lua, written before any initLua content.

See https://yazi-rs.github.io/docs/plugins/overview for documentation.

Type: attribute set of ((submodule) or (absolute path or package) convertible to it)

Default:

{ }

Example:

{
  # package only, no setup call
  foo = pkgs.foo;

  # empty setup call: require("bar"):setup()
  bar = {
    package = pkgs.bar;
    setup = true;
  };

  # setup call with settings
  baz = {
    package = pkgs.baz;
    setup = true;
    settings = {
      part_separator = { open = ""; close = ""; };
      tab_width = 20;
    };
  };
}

Declared by:

programs.yazi.plugins.<name>.package

Package or path for the plugin. Will be linked to $XDG_CONFIG_HOME/yazi/plugins/<name>.yazi.

Type: absolute path or package

Declared by:

programs.yazi.plugins.<name>.settings

Attribute set passed to the plugin’s setup() as a Lua table (via lib.generators.toLua). Values created with lib.generators.mkLuaInline are rendered as raw Lua expressions. Only used when setup is true. When empty, setup() is called with no arguments.

Type: attribute set

Default:

{ }

Declared by:

programs.yazi.plugins.<name>.setup

When true, generates a require("{name}"):setup({...}) call in $XDG_CONFIG_HOME/yazi/init.lua.

Type: boolean

Default:

false

Declared by:

programs.yazi.settings

Configuration written to $XDG_CONFIG_HOME/yazi/yazi.toml.

See https://yazi-rs.github.io/docs/configuration/yazi for the full list of options.

Type: TOML value

Default:

{ }

Example:

{
  log = {
    enabled = false;
  };
  mgr = {
    show_hidden = false;
    sort_by = "mtime";
    sort_dir_first = true;
    sort_reverse = true;
  };
}

Declared by:

programs.yazi.shellWrapperName

Name of the shell wrapper to be called.

Type: string

Default:

if lib.versionAtLeast config.home.stateVersion "26.05" then "y" else "yy"

Example:

"yy"

Declared by:

programs.yazi.theme

Configuration written to $XDG_CONFIG_HOME/yazi/theme.toml.

See https://yazi-rs.github.io/docs/configuration/theme for the full list of options

Type: TOML value

Default:

{ }

Example:

{
  filetype = {
    rules = [
      { fg = "#7AD9E5"; mime = "image/*"; }
      { fg = "#F3D398"; mime = "video/*"; }
      { fg = "#F3D398"; mime = "audio/*"; }
      { fg = "#CD9EFC"; mime = "application/bzip"; }
    ];
  };
}

Declared by:

programs.yazi.vfs

Configuration written to $XDG_CONFIG_HOME/yazi/vfs.toml.

See https://yazi-rs.github.io/docs/configuration/vfs for the full list of options

Type: TOML value

Default:

{ }

Example:

{
  services = {
    my-server = {
      host = "1.2.3.4";
      port = 22;
      type = "sftp";
      user = "root";
    };
  };
}

Declared by: