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.qutebrowser.enable

Whether to enable qutebrowser.

Type: boolean

Default:

false

Example:

true

Declared by:

programs.qutebrowser.enableDefaultBindings

Disable to prevent loading default key bindings.

Type: boolean

Default:

true

Declared by:

programs.qutebrowser.package

The qutebrowser package to use.

Type: null or package

Default:

pkgs.qutebrowser

Declared by:

programs.qutebrowser.aliases

Aliases for commands.

Type: attribute set of string

Default:

{ }

Declared by:

programs.qutebrowser.extraConfig

Extra lines added to qutebrowser config.py file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

programs.qutebrowser.greasemonkey

Greasemonkey userscripts to add to qutebrowser’s greasemonkey directory.

Type: list of package

Default:

[ ]

Example:

[
  (pkgs.fetchurl {
    url = "https://raw.githubusercontent.com/afreakk/greasemonkeyscripts/1d1be041a65c251692ee082eda64d2637edf6444/youtube_sponsorblock.js";
    sha256 = "sha256-e3QgDPa3AOpPyzwvVjPQyEsSUC9goisjBUDMxLwg8ZE=";
  })
  (pkgs.writeText "some-script.js" ''
    // ==UserScript==
    // @name  Some Greasemonkey script
    // ==/UserScript==
  '')
]

Declared by:

programs.qutebrowser.keyBindings

Key bindings mapping keys to commands in different modes. This setting is a dictionary containing mode names and dictionaries mapping keys to commands: {mode: {key: command}} If you want to map a key to another key, check the keyMappings setting instead. For modifiers, you can use either - or + as delimiters, and these names:

  • ‌Control‌

    Control, Ctrl

  • ‌Meta‌

    Meta, Windows, Mod4

  • ‌Alt‌

    Alt, Mod1

  • ‌Shift‌

    Shift

For simple keys (no <>-signs), a capital letter means the key is pressed with Shift. For special keys (with <>-signs), you need to explicitly add Shift- to match a key pressed with shift. If you want a binding to do nothing, bind it to the nop command. If you want a default binding to be passed through to the website, bind it to null. Note that some commands which are only useful for bindings (but not used interactively) are hidden from the command completion. See :help for a full list of available commands. The following modes are available:

  • normal

    Default mode, where most commands are invoked.

  • insert

    Entered when an input field is focused on a website, or by pressing i in normal mode. Passes through almost all keypresses to the website, but has some bindings like <Ctrl-e> to open an external editor. Note that single keys can’t be bound in this mode.

  • hint

    Entered when f is pressed to select links with the keyboard. Note that single keys can’t be bound in this mode.

  • passthrough

    Similar to insert mode, but passes through all keypresses except <Escape> to leave the mode. It might be useful to bind <Escape> to some other key in this mode if you want to be able to send an Escape key to the website as well. Note that single keys can’t be bound in this mode.

  • command

    Entered when pressing the : key in order to enter a command. Note that single keys can’t be bound in this mode.

  • prompt

    Entered when there’s a prompt to display, like for download locations or when invoked from JavaScript.

  • yesno

    Entered when there’s a yes/no prompt displayed.

  • caret

    Entered when pressing the v mode, used to select text using the keyboard.

  • register

    Entered when qutebrowser is waiting for a register name/key for commands like :set-mark.

Type: attribute set of attribute set of (null or strings concatenated with “ ;; “)

Default:

{ }

Example:

{
  normal = {
    "<Ctrl-v>" = "spawn mpv {url}";
    ",p" = "spawn --userscript qute-pass";
    ",l" = ''config-cycle spellcheck.languages ["en-GB"] ["en-US"]'';
    "<F1>" = mkMerge [
      "config-cycle tabs.show never always"
      "config-cycle statusbar.show in-mode always"
      "config-cycle scrolling.bar never always"
    ];
  };
  prompt = {
    "<Ctrl-y>" = "prompt-yes";
  };
}

Declared by:

programs.qutebrowser.keyMappings

This setting can be used to map keys to other keys. When the key used as dictionary-key is pressed, the binding for the key used as dictionary-value is invoked instead. This is useful for global remappings of keys, for example to map Ctrl-[ to Escape. Note that when a key is bound (via bindings.default or bindings.commands), the mapping is ignored.

Type: attribute set of string

Default:

{ }

Declared by:

programs.qutebrowser.loadAutoconfig

Load settings configured via the GUI.

Type: boolean

Default:

false

Declared by:

programs.qutebrowser.perDomainSettings

Options to set, as in settings but per domain. Refer to settings for details.

Type: attribute set of anything

Default:

{ }

Example:

{
  "zoom.us" = {
    content = {
      autoplay = true;
      media.audio_capture = true;
      media.video_capture = true;
    };
  };
  "github.com".colors.webpage.darkmode.enabled = false;
};

Declared by:

programs.qutebrowser.quickmarks

Quickmarks to add to qutebrowser’s quickmarks file. Note that when Home Manager manages your quickmarks, you cannot edit them at runtime.

Type: attribute set of string

Default:

{ }

Example:

{
  nixpkgs = "https://github.com/NixOS/nixpkgs";
  home-manager = "https://github.com/nix-community/home-manager";
}

Declared by:

programs.qutebrowser.searchEngines

Search engines that can be used via the address bar. Maps a search engine name (such as DEFAULT, or ddg) to a URL with a {} placeholder. The placeholder will be replaced by the search term, use {{ and }} for literal {/} signs. The search engine named DEFAULT is used when url.auto_search is turned on and something else than a URL was entered to be opened. Other search engines can be used by prepending the search engine name to the search term, for example :open google qutebrowser.

Type: attribute set of string

Default:

{ }

Example:

{
  w = "https://en.wikipedia.org/wiki/Special:Search?search={}&go=Go&ns0=1";
  aw = "https://wiki.archlinux.org/?search={}";
  nw = "https://wiki.nixos.org/index.php?search={}";
  g = "https://www.google.com/search?hl=en&q={}";
}

Declared by:

programs.qutebrowser.settings

Options to add to qutebrowser config.py file. See https://qutebrowser.org/doc/help/settings.html for options.

Type: attribute set of anything

Default:

{ }

Example:

{
  colors = {
    hints = {
      bg = "#000000";
      fg = "#ffffff";
    };
    tabs.bar.bg = "#000000";
  };
  tabs.tabs_are_windows = true;
}

Declared by: