Appendix A. Configuration Options

accounts.email.accounts

List of email accounts.

Type: attribute set of submodules

Default: { }

Declared by:

<home-manager/modules/services/imapnotify.nix>
<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.address

The email address of this account.

Type: string matching the pattern .*@.*

Example: "jane.doe@example.org"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.aliases

Alternative email addresses of this account.

Type: list of string matching the pattern .*@.*s

Default: [ ]

Example: [ "webmaster@example.org" "admin@example.org" ]

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.alot.contactCompletion

Contact completion configuration as expected per alot. See alot's wiki for explanation about possible values.

Type: attribute set of strings

Default: { command = "'\${pkgs.notmuch}/bin/notmuch address --format=json --output=recipients date:6M..'"; regexp = '''\[?{"name": "(?P<name>.*)", "address": "(?P<email>.+)", "name-addr": ".*"}[,\]]?'''; shellcommand_external_filtering = "False"; type = "shellcommand"; }

Example:

{
  type = "shellcommand";
  command = "abook --mutt-query";
  regexp = "'^(?P<email>[^@]+@[^\t]+)\t+(?P<name>[^\t]+)'";
  ignorecase = "True";
}

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.alot.extraConfig

Extra settings to add to this Alot account configuration.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.alot.sendMailCommand

Command to send a mail. If msmtp is enabled for the account, then this is set to msmtpq --read-envelope-from --read-recipients.

Type: null or string

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.astroid.enable

Whether to enable Astroid.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.astroid.extraConfig

Extra settings to add to this astroid account configuration.

Type: attribute set

Default: { }

Example: { select_query = ""; }

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.astroid.sendMailCommand

Command to send a mail. If msmtp is enabled for the account, then this is set to msmtpq --read-envelope-from --read-recipients.

Type: string

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.flavor

Some email providers have peculiar behavior that require special treatment. This option is therefore intended to indicate the nature of the provider.

When this indicates a specific provider then, for example, the IMAP and SMTP server configuration may be set automatically.

Type: one of "plain", "gmail.com", "runbox.com"

Default: "plain"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.folders

Standard email folders.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.folders.drafts

Relative path of the drafts mail folder.

Type: string

Default: "Drafts"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.folders.inbox

Relative path of the inbox mail.

Type: string

Default: "Inbox"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.folders.sent

Relative path of the sent mail folder.

Type: null or string

Default: "Sent"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.folders.trash

Relative path of the deleted mail folder.

Type: string

Default: "Trash"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.getmail.enable

Whether to enable the getmail mail retriever for this account.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.getmail.delete

Enable if you want to delete read messages from the server. Most users should either enable delete or disable readAll.

Type: boolean

Default: false

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.getmail.destinationCommand

Specify a command delivering the incoming mail to your maildir.

Type: null or string

Default: null

Example: "\${pkgs.maildrop}/bin/maildrop"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.getmail.mailboxes

A non-empty list of mailboxes. To download all mail you can use the ALL mailbox.

Type: non-empty list of strings

Default: [ ]

Example: [ "INBOX" "INBOX.spam" ]

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.getmail.readAll

Enable if you want to fetch all, even the read messages from the server. Most users should either enable delete or disable readAll.

Type: boolean

Default: true

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.gpg

GPG configuration.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.gpg.encryptByDefault

Encrypt outgoing messages by default.

Type: boolean

Default: false

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.gpg.key

The key to use as listed in gpg --list-keys.

Type: string

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.gpg.signByDefault

Sign messages by default.

Type: boolean

Default: false

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.imap

The IMAP configuration to use for this account.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.imap.host

Hostname of IMAP server.

Type: string

Example: "imap.example.org"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.imap.port

The port on which the IMAP server listens. If null then the default port is used.

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: null

Example: 993

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.imap.tls

Configuration for secure connections.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.imap.tls.enable

Whether to enable TLS/SSL.

Type: boolean

Default: true

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.imap.tls.certificatesFile

Path to file containing certificate authorities that should be used to validate the connection authenticity. If null then the system default is used. Note, if set then the system default may still be accepted.

Type: path

Default: "config.accounts.email.certificatesFile"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.imap.tls.useStartTls

Whether to use STARTTLS.

Type: boolean

Default: false

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.imapnotify.enable

Whether to enable imapnotify.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/imapnotify.nix>
accounts.email.accounts.<name>.imapnotify.boxes

IMAP folders to watch.

Type: list of strings

Default: [ ]

Example: [ "Inbox" "[Gmail]/MyLabel" ]

Declared by:

<home-manager/modules/services/imapnotify.nix>
accounts.email.accounts.<name>.imapnotify.onNotify

Shell commands to run on any event.

Type: string or attribute set of strings

Default: ""

Example: "\${pkgs.isync}/bin/mbsync test-%s"

Declared by:

<home-manager/modules/services/imapnotify.nix>
accounts.email.accounts.<name>.imapnotify.onNotifyPost

Shell commands to run after onNotify event.

Type: string or attribute set of strings

Default: ""

Example: { mail = "\${pkgs.notmuch}/bin/notmuch new && \${pkgs.libnotify}/bin/notify-send 'New mail arrived'"; }

Declared by:

<home-manager/modules/services/imapnotify.nix>
accounts.email.accounts.<name>.maildir

Maildir configuration for this account.

Type: null or submodule

Default: { path = "\${name}"; }

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.maildir.path

Path to maildir directory where mail for this account is stored. This is relative to the base maildir path.

Type: string

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.mbsync.enable

Whether to enable synchronization using mbsync.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.mbsync.create

Automatically create missing mailboxes within the given mail store.

Type: one of "none", "maildir", "imap", "both"

Default: "none"

Example: "maildir"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.mbsync.expunge

Permanently remove messages marked for deletion from the given mail store.

Type: one of "none", "maildir", "imap", "both"

Default: "none"

Example: "both"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.mbsync.extraConfig.account

Account section extra configuration.

Type: attribute set of string or signed integer or booleans

Default: { }

Example:

{
  PipelineDepth = 10;
  Timeout = 60;
};

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.mbsync.extraConfig.channel

Per channel extra configuration.

Type: attribute set of string or signed integer or booleans

Default: { }

Example:

{
  MaxMessages = 10000;
  MaxSize = "1m";
};

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.mbsync.extraConfig.local

Local store extra configuration.

Type: attribute set of string or signed integer or booleans

Default: { }

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.mbsync.extraConfig.remote

Remote store extra configuration.

Type: attribute set of string or signed integer or booleans

Default: { }

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.mbsync.flatten

If set, flattens the hierarchy within the maildir by substituting the canonical hierarchy delimiter / with this value.

Type: null or string

Default: null

Example: "."

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.mbsync.patterns

Pattern of mailboxes to synchronize.

Type: list of strings

Default: [ "*" ]

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.mbsync.remove

Propagate mailbox deletions to the given mail store.

Type: one of "none", "maildir", "imap", "both"

Default: "none"

Example: "imap"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.msmtp.enable

Whether to enable msmtp.

If enabled then it is possible to use the --account command line option to send a message for a given account using the msmtp or msmtpq tool. For example, msmtp --account=private would send using the account defined in accounts.email.accounts.private. If the --account option is not given then the primary account will be used.

Type: boolean

Default: false

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.msmtp.extraConfig

Extra configuration options to add to ~/.msmtprc. See https://marlam.de/msmtp/msmtprc.txt for examples.

Type: attribute set of strings

Default: { }

Example: { auth = "login"; }

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.msmtp.tls.fingerprint

Fingerprint of a trusted TLS certificate. The fingerprint can be obtained by executing msmtp --serverinfo --tls --tls-certcheck=off.

Type: null or string matching the pattern ([[:alnum:]]{2}:)+[[:alnum:]]{2}

Default: null

Example: "my:SH:a2:56:ha:sh"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.name

Unique identifier of the account. This is set to the attribute name of the account configuration.

Type: string (read only)

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.notmuch.enable

Whether to enable notmuch indexing.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.offlineimap.enable

Whether to enable OfflineIMAP.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.offlineimap.extraConfig.account

Extra configuration options to add to the account section.

Type: attribute set of string or signed integer or booleans

Default: { }

Example: { autorefresh = 20; }

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.offlineimap.extraConfig.local

Extra configuration options to add to the local account section.

Type: attribute set of string or signed integer or booleans

Default: { }

Example: { sync_deletes = true; }

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.offlineimap.extraConfig.remote

Extra configuration options to add to the remote account section.

Type: attribute set of string or signed integer or booleans

Default: { }

Example: { expunge = false; maxconnections = 2; }

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.offlineimap.postSyncHookCommand

Command to run after fetching new mails.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.passwordCommand

A command, which when run writes the account password on standard output.

Type: null or string or list of strings

Default: null

Example: "secret-tool lookup email me@example.org"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.primary

Whether this is the primary account. Only one account may be set as primary.

Type: boolean

Default: false

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.realName

Name displayed when sending mails.

Type: string

Example: "Jane Doe"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.signature

Signature configuration.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.signature.showSignature

Method to communicate the signature.

Type: one of "append", "attach", "none"

Default: "none"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.signature.text

Signature content.

Type: string

Default: ""

Example:

''
--
Luke Skywalker
May the force be with you.
''

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.smtp

The SMTP configuration to use for this account.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.smtp.host

Hostname of SMTP server.

Type: string

Example: "smtp.example.org"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.smtp.port

The port on which the SMTP server listens. If null then the default port is used.

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: null

Example: 465

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.smtp.tls

Configuration for secure connections.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.smtp.tls.enable

Whether to enable TLS/SSL.

Type: boolean

Default: true

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.smtp.tls.certificatesFile

Path to file containing certificate authorities that should be used to validate the connection authenticity. If null then the system default is used. Note, if set then the system default may still be accepted.

Type: path

Default: "config.accounts.email.certificatesFile"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.smtp.tls.useStartTls

Whether to use STARTTLS.

Type: boolean

Default: false

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.accounts.<name>.userName

The server username of this account. This will be used as the SMTP and IMAP user name.

Type: null or string

Default: null

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.certificatesFile

Path to default file containing certificate authorities that should be used to validate the connection authenticity. This path may be overridden on a per-account basis.

Type: path

Default: "/etc/ssl/certs/ca-certificates.crt"

Declared by:

<home-manager/modules/accounts/email.nix>
accounts.email.maildirBasePath

The base directory for account maildir directories. May be a relative path, in which case it is relative the home directory.

Type: string

Default: "\$HOME/Maildir"

Declared by:

<home-manager/modules/accounts/email.nix>
dconf.settings

Settings to write to the dconf configuration system.

Type: attribute set of attribute set of boolean or signed integer or floating point number or string or list of boolean or signed integer or floating point number or stringsss

Default: { }

Example:

{
  "org/gnome/calculator" = {
    button-mode = "programming";
    show-thousands = true;
    base = 10;
    word-size = 64;
  };
}

Declared by:

<home-manager/modules/misc/dconf.nix>
fonts.fontconfig.enable

Whether to enable fontconfig configuration. This will, for example, allow fontconfig to discover fonts and configurations installed through home.packages and nix-env.

Type: boolean

Default: false

Declared by:

<home-manager/modules/misc/fontconfig.nix>
gtk.enable

Whether to enable GTK 2/3 configuration.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/misc/gtk.nix>
gtk.font

The font to use in GTK+ 2/3 applications.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/misc/gtk.nix>
gtk.font.package

Package providing the font. This package will be installed to your profile. If null then the font is assumed to already be available in your profile.

Type: null or package

Default: null

Example:

pkgs.dejavu_fonts

Declared by:

<home-manager/modules/misc/gtk.nix>
gtk.font.name

The family name and size of the font within the package.

Type: string

Example: "DejaVu Sans 8"

Declared by:

<home-manager/modules/misc/gtk.nix>
gtk.gtk2.extraConfig

Extra configuration lines to add verbatim to ~/.gtkrc-2.0.

Type: strings concatenated with "\n"

Default: ""

Example: "gtk-can-change-accels = 1"

Declared by:

<home-manager/modules/misc/gtk.nix>
gtk.gtk3.extraConfig

Extra configuration options to add to ~/.config/gtk-3.0/settings.ini.

Type: attribute set of boolean or signed integer or strings

Default: { }

Example: { gtk-cursor-blink = false; gtk-recent-files-limit = 20; }

Declared by:

<home-manager/modules/misc/gtk.nix>
gtk.gtk3.extraCss

Extra configuration lines to add verbatim to ~/.config/gtk-3.0/gtk.css.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/misc/gtk.nix>
gtk.iconTheme

The icon theme to use.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/misc/gtk.nix>
gtk.iconTheme.package

Package providing the theme. This package will be installed to your profile. If null then the theme is assumed to already be available in your profile.

Type: null or package

Default: null

Example:

pkgs.gnome3.gnome_themes_standard

Declared by:

<home-manager/modules/misc/gtk.nix>
gtk.iconTheme.name

The name of the theme within the package.

Type: string

Example: "Adwaita"

Declared by:

<home-manager/modules/misc/gtk.nix>
gtk.theme

The GTK+2/3 theme to use.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/misc/gtk.nix>
gtk.theme.package

Package providing the theme. This package will be installed to your profile. If null then the theme is assumed to already be available in your profile.

Type: null or package

Default: null

Example:

pkgs.gnome3.gnome_themes_standard

Declared by:

<home-manager/modules/misc/gtk.nix>
gtk.theme.name

The name of the theme within the package.

Type: string

Example: "Adwaita"

Declared by:

<home-manager/modules/misc/gtk.nix>
home.packages

The set of packages to appear in the user environment.

Type: list of packages

Default: [ ]

Declared by:

<home-manager/modules/home-environment.nix>
home.extraOutputsToInstall

List of additional package outputs of the packages home.packages that should be installed into the user environment.

Type: list of strings

Default: [ ]

Example: [ "doc" "info" "devdoc" ]

Declared by:

<home-manager/modules/home-environment.nix>
home.file

Attribute set of files to link into the user home.

Type: list or attribute set of submodules

Default: { }

Declared by:

<home-manager/modules/files.nix>
home.file.<name?>.executable

Set the execute bit. If null, defaults to the mode of the source file or to false for files created through the text option.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/files.nix>
home.file.<name?>.onChange

Shell commands to run when file has changed between generations. The script will be run after the new files have been linked into place.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/files.nix>
home.file.<name?>.recursive

If the file source is a directory, then this option determines whether the directory should be recursively linked to the target location. This option has no effect if the source is a file.

If false (the default) then the target will be a symbolic link to the source directory. If true then the target will be a directory structure matching the source's but whose leafs are symbolic links to the files of the source directory.

Type: boolean

Default: false

Declared by:

<home-manager/modules/files.nix>
home.file.<name?>.source

Path of the source file. The file name must not start with a period since Nix will not allow such names in the Nix store.

This may refer to a directory.

Type: path

Declared by:

<home-manager/modules/files.nix>
home.file.<name?>.target

Path to target file relative to HOME.

Type: string

Declared by:

<home-manager/modules/files.nix>
home.file.<name?>.text

Text of the file.

Type: null or strings concatenated with "\n"

Default: null

Declared by:

<home-manager/modules/files.nix>
home.homeDirectory

The user's home directory.

Type: path

Default: "\$HOME"

Declared by:

<home-manager/modules/home-environment.nix>
home.keyboard

Keyboard configuration. Set to null to disable Home Manager keyboard management.

Type: null or submodule

Default: { }

Declared by:

<home-manager/modules/home-environment.nix>
home.keyboard.layout

Keyboard layout. If null, then the system configuration will be used.

This defaults to null for state version ≥ 19.09 and "us" otherwise.

Type: null or string

Default: null

Declared by:

<home-manager/modules/home-environment.nix>
home.keyboard.model

Keyboard model.

Type: null or string

Default: null

Example: "presario"

Declared by:

<home-manager/modules/home-environment.nix>
home.keyboard.options

X keyboard options; layout switching goes here.

Type: list of strings

Default: [ ]

Example: [ "grp:caps_toggle" "grp_led:scroll" ]

Declared by:

<home-manager/modules/home-environment.nix>
home.keyboard.variant

X keyboard variant. If null, then the system configuration will be used.

This defaults to null for state version ≥ 19.09 and "" otherwise.

Type: null or string

Default: null

Example: "colemak"

Declared by:

<home-manager/modules/home-environment.nix>
home.language

Language configuration.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/home-environment.nix>
home.language.address

The language to use for addresses.

Type: null or string

Default: null

Declared by:

<home-manager/modules/home-environment.nix>
home.language.base

The language to use unless overridden by a more specific option.

Type: null or string

Default: null

Declared by:

<home-manager/modules/home-environment.nix>
home.language.monetary

The language to use for formatting currencies and money amounts.

Type: null or string

Default: null

Declared by:

<home-manager/modules/home-environment.nix>
home.language.paper

The language to use for paper sizes.

Type: null or string

Default: null

Declared by:

<home-manager/modules/home-environment.nix>
home.language.time

The language to use for formatting times.

Type: null or string

Default: null

Declared by:

<home-manager/modules/home-environment.nix>
home.sessionVariables

Environment variables to always set at login.

The values may refer to other environment variables using POSIX.2 style variable references. For example, a variable parameter may be referenced as $parameter or ${parameter}. A default value foo may be given as per ${parameter:-foo} and, similarly, an alternate value bar can be given as per ${parameter:+bar}.

Note, these variables may be set in any order so no session variable may have a runtime dependency on another session variable. In particular code like

home.sessionVariables = {
  FOO = "Hello";
  BAR = "$FOO World!";
};

may not work as expected. If you need to reference another session variable, then do so inside Nix instead. The above example then becomes

home.sessionVariables = {
  FOO = "Hello";
  BAR = "${config.home.sessionVariables.FOO} World!";
};

Type: attribute set

Default: { }

Example: { EDITOR = "emacs"; GS_OPTIONS = "-sPAPERSIZE=a4"; }

Declared by:

<home-manager/modules/home-environment.nix>
home.stateVersion

It is occasionally necessary for Home Manager to change configuration defaults in a way that is incompatible with stateful data. This could, for example, include switching the default data format or location of a file.

The state version indicates which default settings are in effect and will therefore help avoid breaking program configurations. Switching to a higher state version typically requires performing some manual steps, such as data conversion or moving files.

Type: one of "18.09", "19.03", "19.09", "20.03"

Default: "18.09"

Declared by:

<home-manager/modules/misc/version.nix>
home.username

The user's username.

Type: string

Default: "\$USER"

Declared by:

<home-manager/modules/home-environment.nix>
lib

This option allows modules to define helper functions, constants, etc.

Type: attribute set of attribute sets

Default: { }

Declared by:

<home-manager/modules/misc/lib.nix>
manual.html.enable

Whether to install the HTML manual. This also installs the home-manager-help tool, which opens a local copy of the Home Manager manual in the system web browser.

Type: boolean

Default: false

Declared by:

<home-manager/modules/manual.nix>
manual.json.enable

Whether to install a JSON formatted list of all Home Manager options. This can be located at <profile directory>/share/doc/home-manager/options.json, and may be used for navigating definitions, auto-completing, and other miscellaneous tasks.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/manual.nix>
manual.manpages.enable

Whether to install the configuration manual page. The manual can be reached by man home-configuration.nix.

When looking at the manual page pretend that all references to NixOS stuff are actually references to Home Manager stuff. Thanks!

Type: boolean

Default: true

Example: false

Declared by:

<home-manager/modules/manual.nix>
news.display

How unread and relevant news should be presented when running home-manager build and home-manager switch.

The options are

silent

Do not print anything during build or switch. The home-manager news command still works for viewing the entries.

notify

The number of unread and relevant news entries will be printed to standard output. The home-manager news command can later be used to view the entries.

show

A pager showing unread news entries is opened.

Type: one of "silent", "notify", "show"

Default: "notify"

Declared by:

<home-manager/modules/misc/news.nix>
nixpkgs.config

The configuration of the Nix Packages collection. (For details, see the Nixpkgs documentation.) It allows you to set package configuration options.

If null, then configuration is taken from the fallback location, for example, ~/.config/nixpkgs/config.nix.

Note, this option will not apply outside your Home Manager configuration like when installing manually through nix-env. If you want to apply it both inside and outside Home Manager you can put it in a separate file and include something like

  nixpkgs.config = import ./nixpkgs-config.nix;
  xdg.configFile."nixpkgs/config.nix".source = ./nixpkgs-config.nix;

in your Home Manager configuration.

Type: null or nixpkgs config

Default: null

Example: { allowBroken = true; }

Declared by:

<home-manager/modules/misc/nixpkgs.nix>
nixpkgs.overlays

List of overlays to use with the Nix Packages collection. (For details, see the Nixpkgs documentation.) It allows you to override packages globally. This is a function that takes as an argument the original Nixpkgs. The first argument should be used for finding dependencies, and the second should be used for overriding recipes.

If null, then the overlays are taken from the fallback location, for example, ~/.config/nixpkgs/overlays.

Like nixpkgs.config this option only applies within the Home Manager configuration. See nixpkgs.config for a suggested setup that works both internally and externally.

Type: null or list of nixpkgs overlays

Default: null

Example:

[ (self: super: {
    openssh = super.openssh.override {
      hpnSupport = true;
      withKerberos = true;
      kerberos = self.libkrb5;
    };
  };
) ]

Declared by:

<home-manager/modules/misc/nixpkgs.nix>
pam.sessionVariables

Environment variables that will be set for the PAM session. The variable values must be as described in pam_env.conf(5).

Type: attribute set

Default: { }

Example: { EDITOR = "vim"; }

Declared by:

<home-manager/modules/misc/pam.nix>
programs.afew.enable

Whether to enable the afew initial tagging script for Notmuch.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/afew.nix>
programs.afew.extraConfig

Extra lines added to afew configuration file. Available configuration options are described in the afew manual: https://afew.readthedocs.io/en/latest/configuration.html.

Type: strings concatenated with "\n"

Default:

''
[SpamFilter]
[KillThreadsFilter]
[ListMailsFilter]
[ArchiveSentMailsFilter]
[InboxFilter]
''

Example:

''
[SpamFilter]

[Filter.0]
query = from:pointyheaded@boss.com
tags = -new;+boss
message = Message from above

[InboxFilter]
''

Declared by:

<home-manager/modules/programs/afew.nix>
programs.alacritty.enable

Whether to enable Alacritty.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/alacritty.nix>
programs.alacritty.settings

Configuration written to ~/.config/alacritty/alacritty.yml. See https://github.com/jwilm/alacritty/blob/master/alacritty.yml for the default configuration.

Type: attribute set

Default: { }

Example:

{
  window.dimensions = {
    lines = 3;
    columns = 200;
  };
  key_bindings = [
    {
      key = "K";
      mods = "Control";
      chars = "\\x0c";
    }
  ];
}

Declared by:

<home-manager/modules/programs/alacritty.nix>
programs.alot.enable

Whether to enable the Alot mail user agent. Alot uses the Notmuch email system and will therefore be automatically enabled for each email account that is managed by Notmuch.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/alot.nix>
programs.alot.bindings

Keybindings.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/programs/alot.nix>
programs.alot.bindings.bufferlist

Bufferlist mode keybindings.

Type: attribute set of strings

Default: { }

Declared by:

<home-manager/modules/programs/alot.nix>
programs.alot.bindings.envelope

Envelope mode keybindings.

Type: attribute set of strings

Default: { }

Declared by:

<home-manager/modules/programs/alot.nix>
programs.alot.bindings.global

Global keybindings.

Type: attribute set of strings

Default: { }

Declared by:

<home-manager/modules/programs/alot.nix>
programs.alot.bindings.search

Search mode keybindings.

Type: attribute set of strings

Default: { }

Declared by:

<home-manager/modules/programs/alot.nix>
programs.alot.bindings.taglist

Taglist mode keybindings.

Type: attribute set of strings

Default: { }

Declared by:

<home-manager/modules/programs/alot.nix>
programs.alot.bindings.thread

Thread mode keybindings.

Type: attribute set of strings

Default: { }

Declared by:

<home-manager/modules/programs/alot.nix>
programs.alot.extraConfig

Extra lines added to alot configuration file.

Type: strings concatenated with "\n"

Default:

''
auto_remove_unread = True
ask_subject = False
handle_mouse = True
initial_command = "search tag:inbox AND NOT tag:killed"
input_timeout = 0.3
prefer_plaintext = True
thread_indent_replies = 4
''

Declared by:

<home-manager/modules/programs/alot.nix>
programs.alot.hooks

Content of the hooks file.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/alot.nix>
programs.astroid.enable

Whether to enable Astroid.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/astroid.nix>
programs.astroid.externalEditor

You can use %1, %2, and %3 to refer respectively to:

  1. file name

  2. server name

  3. socket ID

See https://github.com/astroidmail/astroid/wiki/Customizing-editor.

Type: null or string

Default: null

Example: "nvim-qt -- -c 'set ft=mail' '+set fileencoding=utf-8' '+set ff=unix' '+set enc=utf-8' '+set fo+=w' %1"

Declared by:

<home-manager/modules/programs/astroid.nix>
programs.astroid.extraConfig

JSON config that will override the default Astroid configuration.

Type: attribute set

Default: { }

Example: { poll = { interval = 0; } ; }

Declared by:

<home-manager/modules/programs/astroid.nix>
programs.astroid.pollScript

Script to run to fetch/update mails.

Type: string

Default: ""

Example: "mbsync gmail"

Declared by:

<home-manager/modules/programs/astroid.nix>
programs.autorandr.enable

Whether to enable Autorandr.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.hooks

Global hook scripts

Type: submodule

Default: { }

Example:

{
  postswitch = {
    "notify-i3" = "${pkgs.i3}/bin/i3-msg restart";
    "change-background" = readFile ./change-background.sh;
    "change-dpi" = ''
      case "$AUTORANDR_CURRENT_PROFILE" in
        default)
          DPI=120
          ;;
        home)
          DPI=192
          ;;
        work)
          DPI=144
          ;;
        *)
          echo "Unknown profle: $AUTORANDR_CURRENT_PROFILE"
          exit 1
      esac

      echo "Xft.dpi: $DPI" | ${pkgs.xorg.xrdb}/bin/xrdb -merge
    ''
  };
}

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.hooks.postswitch

Postswitch hook executed after mode switch.

Type: attribute set of strings concatenated with "\n"s

Default: { }

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.hooks.predetect

Predetect hook executed before autorandr attempts to run xrandr.

Type: attribute set of strings concatenated with "\n"s

Default: { }

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.hooks.preswitch

Preswitch hook executed before mode switch.

Type: attribute set of strings concatenated with "\n"s

Default: { }

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles

Autorandr profiles specification.

Type: attribute set of submodules

Default: { }

Example:

{
  "work" = {
    fingerprint = {
      eDP1 = "<EDID>";
      DP1 = "<EDID>";
    };
    config = {
      eDP1.enable = false;
      DP1 = {
        enable = true;
        primary = true;
        position = "0x0";
        mode = "3840x2160";
        gamma = "1.0:0.909:0.833";
        rate = "60.00";
        rotate = "left";
      };
    };
    hooks.postswitch = readFile ./work-postswitch.sh;
  };
}

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.config

Per output profile configuration.

Type: attribute set of submodules

Default: { }

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.config.<name>.enable

Whether to enable the output.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.config.<name>.dpi

Output DPI configuration.

Type: null or positive integer, meaning >0

Default: null

Example: 96

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.config.<name>.gamma

Output gamma configuration.

Type: string

Default: ""

Example: "1.0:0.909:0.833"

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.config.<name>.mode

Output resolution.

Type: string

Default: ""

Example: "3840x2160"

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.config.<name>.position

Output position

Type: string

Default: ""

Example: "5760x0"

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.config.<name>.primary

Whether output should be marked as primary

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.config.<name>.rate

Output framerate.

Type: string

Default: ""

Example: "60.00"

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.config.<name>.rotate

Output rotate configuration.

Type: null or one of "normal", "left", "right", "inverted"

Default: null

Example: "left"

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.config.<name>.scale

Output scale configuration.

Either configure by pixels or a scaling factor. When using pixel method the xrandr(1) option --scale-from will be used; when using factor method the option --scale will be used.

This option is a shortcut version of the transform option and they are mutually exclusive.

Type: null or submodule

Default: null

Example:

{
  x = 1.25;
  y = 1.25;
}

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.config.<name>.scale.method

Output scaling method.

Type: one of "factor", "pixel"

Default: "factor"

Example: "pixel"

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.config.<name>.scale.x

Horizontal scaling factor/pixels.

Type: floating point number or positive integer, meaning >0

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.config.<name>.scale.y

Vertical scaling factor/pixels.

Type: floating point number or positive integer, meaning >0

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.config.<name>.transform

Refer to xrandr(1) for the documentation of the transform matrix.

Type: null or 3×3 matrix of floating point numbers

Default: null

Example:

[
  [ 0.6 0.0 0.0 ]
  [ 0.0 0.6 0.0 ]
  [ 0.0 0.0 1.0 ]
]

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.fingerprint

Output name to EDID mapping. Use autorandr --fingerprint to get current setup values.

Type: attribute set of strings

Default: { }

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.hooks

Profile hook scripts.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.hooks.postswitch

Postswitch hook executed after mode switch.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.hooks.predetect

Predetect hook executed before autorandr attempts to run xrandr.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.autorandr.profiles.<name>.hooks.preswitch

Preswitch hook executed before mode switch.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/autorandr.nix>
programs.bash.enable

Whether to enable GNU Bourne-Again SHell.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/bash.nix>
programs.bash.enableAutojump

Enable the autojump navigation tool.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/bash.nix>
programs.bash.historyControl

Controlling how commands are saved on the history list.

Type: list of one of "erasedups", "ignoredups", "ignorespace"s

Default: [ ]

Declared by:

<home-manager/modules/programs/bash.nix>
programs.bash.historyFile

Location of the bash history file.

Type: string

Default: "\$HOME/.bash_history"

Declared by:

<home-manager/modules/programs/bash.nix>
programs.bash.historyFileSize

Number of history lines to keep on file.

Type: signed integer

Default: 100000

Declared by:

<home-manager/modules/programs/bash.nix>
programs.bash.historyIgnore

List of commands that should not be saved to the history list.

Type: list of strings

Default: [ ]

Example: [ "ls" "cd" "exit" ]

Declared by:

<home-manager/modules/programs/bash.nix>
programs.bash.historySize

Number of history lines to keep in memory.

Type: signed integer

Default: 10000

Declared by:

<home-manager/modules/programs/bash.nix>
programs.bash.initExtra

Extra commands that should be run when initializing an interactive shell.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/bash.nix>
programs.bash.logoutExtra

Extra commands that should be run when logging out of an interactive shell.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/bash.nix>
programs.bash.profileExtra

Extra commands that should be run when initializing a login shell.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/bash.nix>
programs.bash.sessionVariables

Environment variables that will be set for the Bash session.

Type: attribute set

Default: { }

Example: { MAILCHECK = 30; }

Declared by:

<home-manager/modules/programs/bash.nix>
programs.bash.shellAliases

An attribute set that maps aliases (the top level attribute names in this option) to command strings or directly to build outputs.

Type: attribute set of strings

Default: { }

Example: { .. = "cd .."; ll = "ls -l"; }

Declared by:

<home-manager/modules/programs/bash.nix>
programs.bash.shellOptions

Shell options to set.

Type: list of strings

Default: [ "histappend" "checkwinsize" "extglob" "globstar" "checkjobs" ]

Declared by:

<home-manager/modules/programs/bash.nix>
programs.bat.enable

Whether to enable bat, a cat clone with wings.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/bat.nix>
programs.bat.config

Bat configuration.

Type: attribute set of strings

Default: { }

Example: { pager = "less -FR"; theme = "TwoDark"; }

Declared by:

<home-manager/modules/programs/bat.nix>
programs.beets.enable

Whether to enable the beets music library manager. This defaults to false for state version ≥ 19.03. For earlier versions beets is enabled if programs.beets.settings is non-empty.

Type: boolean

Default: "false"

Declared by:

<home-manager/modules/programs/beets.nix>
programs.beets.settings

Configuration written to ~/.config/beets/config.yaml

Type: attribute set

Default: { }

Declared by:

<home-manager/modules/programs/beets.nix>
programs.broot.enable

Whether to enable Broot, a better way to navigate directories.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/broot.nix>
programs.broot.enableBashIntegration

Whether to enable Bash integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/broot.nix>
programs.broot.enableFishIntegration

Whether to enable Fish integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/broot.nix>
programs.broot.enableZshIntegration

Whether to enable Zsh integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/broot.nix>
programs.broot.skin

Color configuration.

Complete list of keys (expected to change before the v1 of broot):

  • char_match

  • code

  • directory

  • exe

  • file

  • file_error

  • flag_label

  • flag_value

  • input

  • link

  • permissions

  • selected_line

  • size_bar_full

  • size_bar_void

  • size_text

  • spinner

  • status_error

  • status_normal

  • table_border

  • tree

  • unlisted

Add _fg for a foreground color and _bg for a background colors.

Type: attribute set of strings

Default: { }

Example:

{
  status_normal_fg = "grayscale(18)";
  status_normal_bg = "grayscale(3)";
  status_error_fg = "red";
  status_error_bg = "yellow";
  tree_fg = "red";
  selected_line_bg = "grayscale(7)";
  permissions_fg = "grayscale(12)";
  size_bar_full_bg = "red";
  size_bar_void_bg = "black";
  directory_fg = "lightyellow";
  input_fg = "cyan";
  flag_value_fg = "lightyellow";
  table_border_fg = "red";
  code_fg = "lightyellow";
}

Declared by:

<home-manager/modules/programs/broot.nix>
programs.broot.verbs

Define new verbs. The attribute name indicates how the verb is called by the user, with placeholders for arguments.

The possible attributes are:

execution (mandatory)

how the verb is executed

shortcut (optional)

an alternate way to call the verb (without the arguments part)

leave_broot (optional)

whether to quit broot on execution (default: true)

from_shell (optional)

whether the verb must be executed from the parent shell (default: false)

Type: attribute set of attribute set of boolean or stringss

Default: { create {subpath} = { execution = "\$EDITOR {directory}/{subpath}"; } ; edit = { execution = "\$EDITOR {file}"; shortcut = "e"; } ; p = { execution = ":parent"; } ; view = { execution = "less {file}"; } ; }

Example:

{
  "p" = { execution = ":parent"; };
  "edit" = { shortcut = "e"; execution = "$EDITOR {file}" ; };
  "create {subpath}" = { execution = "$EDITOR {directory}/{subpath}"; };
  "view" = { execution = "less {file}"; };
  "blop {name}\\.{type}" = {
    execution = "/bin/mkdir {parent}/{type} && /usr/bin/nvim {parent}/{type}/{name}.{type}";
    from_shell = true;
  };
}

Declared by:

<home-manager/modules/programs/broot.nix>
programs.browserpass.enable

Whether to enable the browserpass extension host application.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/browserpass.nix>
programs.browserpass.browsers

Which browsers to install browserpass for

Type: list of one of "chrome", "chromium", "firefox", "vivaldi"s

Default: [ "chrome" "chromium" "firefox" "vivaldi" ]

Example: [ "firefox" ]

Declared by:

<home-manager/modules/programs/browserpass.nix>
programs.chromium.enable

Whether to enable Chromium.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/chromium.nix>
programs.chromium.package

The Chromium package to use.

Type: package

Default: pkgs.chromium

Declared by:

<home-manager/modules/programs/chromium.nix>
programs.chromium.extensions

List of Chromium extensions to install. To find the extension ID, check its URL on the Chrome Web Store.

Type: list of strings

Default: [ ]

Example:

[
  "chlffgpmiacpedhhbkiomidkjlcfhogd" # pushbullet
  "mbniclmhobmnbdlbpiphghaielnnpgdp" # lightshot
  "gcbommkclmclpchllfjekcdonpmejbdp" # https everywhere
  "cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
]

Declared by:

<home-manager/modules/programs/chromium.nix>
programs.command-not-found.enable

Whether to enable command-not-found hook for interactive shell.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/command-not-found/command-not-found.nix>
programs.command-not-found.dbPath

Absolute path to programs.sqlite. By default this file will be provided by your channel (nixexprs.tar.xz).

Type: path

Default: "/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite"

Declared by:

<home-manager/modules/programs/command-not-found/command-not-found.nix>
programs.direnv.enable

Whether to enable direnv, the environment switcher.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/direnv.nix>
programs.direnv.enableBashIntegration

Whether to enable Bash integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/direnv.nix>
programs.direnv.enableFishIntegration

Whether to enable Fish integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/direnv.nix>
programs.direnv.enableZshIntegration

Whether to enable Zsh integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/direnv.nix>
programs.direnv.config

Configuration written to ~/.config/direnv/config.toml.

See direnv.toml(1). for the full list of options.

Type: attribute set

Default: { }

Declared by:

<home-manager/modules/programs/direnv.nix>
programs.direnv.stdlib

Custom stdlib written to ~/.config/direnv/direnvrc.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/direnv.nix>
programs.eclipse.enable

Whether to enable Eclipse.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/eclipse.nix>
programs.eclipse.enableLombok

Whether to enable the Lombok Java Agent in Eclipse. This is necessary to use the Lombok class annotations.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/eclipse.nix>
programs.eclipse.jvmArgs

JVM arguments to use for the Eclipse process.

Type: list of strings

Default: [ ]

Declared by:

<home-manager/modules/programs/eclipse.nix>
programs.eclipse.plugins

Plugins that should be added to Eclipse.

Type: list of packages

Default: [ ]

Declared by:

<home-manager/modules/programs/eclipse.nix>
programs.emacs.enable

Whether to enable Emacs.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/emacs.nix>
programs.emacs.package

The Emacs package to use.

Type: package

Default: pkgs.emacs

Example:

pkgs.emacs25-nox

Declared by:

<home-manager/modules/programs/emacs.nix>
programs.emacs.extraPackages

Extra packages available to Emacs. To get a list of available packages run: nix-env -f '<nixpkgs>' -qaP -A emacsPackages.

Type: Function that takes an attribute set and returns a list containing a selection of the values of the input set

Default: "epkgs: []"

Example:

epkgs: [ epkgs.emms epkgs.magit ]

Declared by:

<home-manager/modules/programs/emacs.nix>
programs.emacs.overrides

Allows overriding packages within the Emacs package set.

Type: An overlay function, takes self and super and returns an attribute set overriding the desired attributes.

Default: "self: super: {}"

Example:

self: super: rec {
  haskell-mode = self.melpaPackages.haskell-mode;
  # ...
};

Declared by:

<home-manager/modules/programs/emacs.nix>
programs.feh.enable

Whether to enable feh - a fast and light image viewer.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/feh.nix>
programs.feh.keybindings

Set keybindings. See https://man.finalrewind.org/1/feh/#x4b455953 for default bindings and available commands.

Type: attribute set of strings

Default: { }

Example: { zoom_in = "plus"; zoom_out = "minus"; }

Declared by:

<home-manager/modules/programs/feh.nix>
programs.firefox.enable

Whether to enable Firefox.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/firefox.nix>
programs.firefox.enableAdobeFlash

Whether to enable the unfree Adobe Flash plugin.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/firefox.nix>
programs.firefox.enableGoogleTalk

Whether to enable the unfree Google Talk plugin. This option is deprecated and will only work if

programs.firefox.package = pkgs.firefox-esr-52-unwrapped;

and the plugin.load_flash_only Firefox option has been disabled.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/firefox.nix>
programs.firefox.enableIcedTea

Whether to enable the Java applet plugin. This option is deprecated and will only work if

programs.firefox.package = pkgs.firefox-esr-52-unwrapped;

and the plugin.load_flash_only Firefox option has been disabled.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/firefox.nix>
programs.firefox.package

The Firefox package to use. If state version ≥ 19.09 then this should be a wrapped Firefox package. For earlier state versions it should be an unwrapped Firefox package.

Type: package

Default: pkgs.firefox

Declared by:

<home-manager/modules/programs/firefox.nix>
programs.firefox.extensions

List of Firefox add-on packages to install. Note, it is necessary to manually enable these extensions inside Firefox after the first installation.

Type: list of packages

Default: [ ]

Example:

with pkgs.nur.repos.rycee.firefox-addons; [
  https-everywhere
  privacy-badger
]

Declared by:

<home-manager/modules/programs/firefox.nix>
programs.firefox.profiles

Attribute set of Firefox profiles.

Type: attribute set of submodules

Default: { }

Declared by:

<home-manager/modules/programs/firefox.nix>
programs.firefox.profiles.<name>.extraConfig

Extra preferences to add to user.js.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/firefox.nix>
programs.firefox.profiles.<name>.id

Profile ID. This should be set to a unique number per profile.

Type: unsigned integer, meaning >=0

Default: 0

Declared by:

<home-manager/modules/programs/firefox.nix>
programs.firefox.profiles.<name>.isDefault

Whether this is a default profile.

Type: boolean

Default: "true if profile ID is 0"

Declared by:

<home-manager/modules/programs/firefox.nix>
programs.firefox.profiles.<name>.name

Profile name.

Type: string

Default: "‹name›"

Declared by:

<home-manager/modules/programs/firefox.nix>
programs.firefox.profiles.<name>.path

Profile path.

Type: string

Default: "‹name›"

Declared by:

<home-manager/modules/programs/firefox.nix>
programs.firefox.profiles.<name>.settings

Attribute set of Firefox preferences.

Type: attribute set of boolean or signed integer or strings

Default: { }

Example:

{
  "browser.startup.homepage" = "https://nixos.org";
  "browser.search.region" = "GB";
  "browser.search.isUS" = false;
  "distribution.searchplugins.defaultLocale" = "en-GB";
  "general.useragent.locale" = "en-GB";
  "browser.bookmarks.showMobileBookmarks" = true;
}

Declared by:

<home-manager/modules/programs/firefox.nix>
programs.firefox.profiles.<name>.userChrome

Custom Firefox CSS.

Type: strings concatenated with "\n"

Default: ""

Example:

''
/* Hide tab bar in FF Quantum */
@-moz-document url("chrome://browser/content/browser.xul") {
  #TabsToolbar {
    visibility: collapse !important;
    margin-bottom: 21px !important;
  }

  #sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
    visibility: collapse !important;
  }
}
''

Declared by:

<home-manager/modules/programs/firefox.nix>
programs.fish.enable

Whether to enable fish friendly interactive shell.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/fish.nix>
programs.fish.package

The fish package to install. May be used to change the version.

Type: package

Default: pkgs.fish

Declared by:

<home-manager/modules/programs/fish.nix>
programs.fish.interactiveShellInit

Shell script code called during interactive fish shell initialisation.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/fish.nix>
programs.fish.loginShellInit

Shell script code called during fish login shell initialisation.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/fish.nix>
programs.fish.promptInit

Shell script code used to initialise fish prompt.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/fish.nix>
programs.fish.shellAbbrs

Set of abbreviations for fish shell.

Type: attribute set

Default: { }

Declared by:

<home-manager/modules/programs/fish.nix>
programs.fish.shellAliases

Set of aliases for fish shell. See environment.shellAliases for an option format description.

Type: attribute set

Default: { }

Declared by:

<home-manager/modules/programs/fish.nix>
programs.fish.shellInit

Shell script code called during fish shell initialisation.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/fish.nix>
programs.fzf.enable

Whether to enable fzf - a command-line fuzzy finder.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/fzf.nix>
programs.fzf.enableBashIntegration

Whether to enable Bash integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/fzf.nix>
programs.fzf.enableZshIntegration

Whether to enable Zsh integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/fzf.nix>
programs.fzf.changeDirWidgetCommand

The command that gets executed as the source for fzf for the ALT-C keybinding.

Type: null or string

Default: null

Example: "fd --type d"

Declared by:

<home-manager/modules/programs/fzf.nix>
programs.fzf.changeDirWidgetOptions

Command line options for the ALT-C keybinding.

Type: list of strings

Default: [ ]

Example: [ "--preview 'tree -C {} | head -200'" ]

Declared by:

<home-manager/modules/programs/fzf.nix>
programs.fzf.defaultCommand

The command that gets executed as the default source for fzf when running.

Type: null or string

Default: null

Example: "fd --type f"

Declared by:

<home-manager/modules/programs/fzf.nix>
programs.fzf.defaultOptions

Extra command line options given to fzf by default.

Type: list of strings

Default: [ ]

Example: [ "--height 40%" "--border" ]

Declared by:

<home-manager/modules/programs/fzf.nix>
programs.fzf.fileWidgetCommand

The command that gets executed as the source for fzf for the CTRL-T keybinding.

Type: null or string

Default: null

Example: "fd --type f"

Declared by:

<home-manager/modules/programs/fzf.nix>
programs.fzf.fileWidgetOptions

Command line options for the CTRL-T keybinding.

Type: list of strings

Default: [ ]

Example: [ "--preview 'head {}'" ]

Declared by:

<home-manager/modules/programs/fzf.nix>
programs.fzf.historyWidgetCommand

The command that gets executed as the source for fzf for the CTRL-R keybinding.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/fzf.nix>
programs.fzf.historyWidgetOptions

Command line options for the CTRL-R keybinding.

Type: list of strings

Default: [ ]

Example: [ "--sort" "--exact" ]

Declared by:

<home-manager/modules/programs/fzf.nix>
programs.git.enable

Whether to enable Git.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.package

Git package to install. Use pkgs.gitAndTools.gitFull to gain access to git send-email for instance.

Type: package

Default: pkgs.git

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.aliases

Git aliases to define.

Type: attribute set of strings

Default: { }

Example: { co = "checkout"; }

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.attributes

List of defining attributes set globally.

Type: list of strings

Default: [ ]

Example: [ "*.pdf diff=pdf" ]

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.extraConfig

Additional configuration to add. The use of string values is deprecated and will be removed in the future.

Type: strings concatenated with "\n" or attribute set of attribute set of string or boolean or signed integer or list of string or boolean or signed integers or attribute set of string or boolean or signed integer or list of string or boolean or signed integerssss

Default: { }

Example: { core = { whitespace = "trailing-space,space-before-tab"; } ; url = { ssh://git@host = { insteadOf = "otherhost"; } ; } ; }

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.ignores

List of paths that should be globally ignored.

Type: list of strings

Default: [ ]

Example: [ "*~" "*.swp" ]

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.includes

List of configuration files to include.

Type: list of submodules

Default: [ ]

Example:

[
  { path = "~/path/to/config.inc"; }
  {
    path = "~/path/to/conditional.inc";
    condition = "gitdir:~/src/dir";
  }
]

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.includes.*.condition

Include this configuration only when condition matches. Allowed conditions are described in git-config(1).

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.includes.*.contents

Configuration to include. If empty then a path must be given.

Type: attribute set

Default: { }

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.includes.*.path

Path of the configuration file to include.

Type: string or path

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.lfs.enable

Whether to enable Git Large File Storage.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.lfs.skipSmudge

Skip automatic downloading of objects on clone or pull. This requires a manual git lfs pull every time a new commit is checked out on your repository.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.signing

Options related to signing commits using GnuPG.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.signing.gpgPath

Path to GnuPG binary to use.

Type: string

Default: "\${pkgs.gnupg}/bin/gpg2"

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.signing.key

The default GPG signing key fingerprint.

Type: string

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.signing.signByDefault

Whether commits should be signed by default.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.userEmail

Default user email to use.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.userName

Default user name to use.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/git.nix>
programs.gnome-terminal.enable

Whether to enable Gnome Terminal.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile

A set of Gnome Terminal profiles.

Type: attribute set of submodules

Default: { }

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.allowBold

If true, allow applications in the terminal to make text boldface.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.colors

The terminal colors, null to use system default.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.colors.backgroundColor

The background color.

Type: string

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.colors.boldColor

The bold color, null to use same as foreground.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.colors.cursor

The color for the terminal cursor.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.colors.cursor.background

The background color.

Type: string

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.colors.cursor.foreground

The foreground color.

Type: string

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.colors.foregroundColor

The foreground color.

Type: string

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.colors.highlight

The colors for the terminal’s highlighted area.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.colors.highlight.background

The background color.

Type: string

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.colors.highlight.foreground

The foreground color.

Type: string

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.colors.palette

The terminal palette.

Type: list of strings

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.cursorShape

The cursor shape.

Type: one of "block", "ibeam", "underline"

Default: "block"

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.default

Whether this should be the default profile.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.font

The font name, null to use system default.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.scrollOnOutput

Whether to scroll when output is written.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.scrollbackLines

The number of scrollback lines to keep, null for infinite.

Type: null or signed integer

Default: 10000

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.showScrollbar

Whether the scroll bar should be visible.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.profile.<name>.visibleName

The profile name.

Type: string

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.showMenubar

Whether to show the menubar by default

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.gnome-terminal.themeVariant

The theme variation to request

Type: one of "default", "light", "dark"

Default: "default"

Declared by:

<home-manager/modules/programs/gnome-terminal.nix>
programs.go.enable

Whether to enable Go.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/go.nix>
programs.go.package

The Go package to use.

Type: package

Default: pkgs.go

Declared by:

<home-manager/modules/programs/go.nix>
programs.go.packages

Packages to add to GOPATH.

Type: attribute set of paths

Default: { }

Example:

{
  "golang.org/x/text" = builtins.fetchGit "https://go.googlesource.com/text";
  "golang.org/x/time" = builtins.fetchGit "https://go.googlesource.com/time";
}

Declared by:

<home-manager/modules/programs/go.nix>
programs.go.goBin

GOBIN relative to HOME

Type: null or string

Default: null

Example: ".local/bin.go"

Declared by:

<home-manager/modules/programs/go.nix>
programs.go.goPath

GOPATH relative to HOME

Type: null or string

Default: null

Example: "go"

Declared by:

<home-manager/modules/programs/go.nix>
programs.gpg.enable

Whether to enable GnuPG.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/gpg.nix>
programs.gpg.settings

GnuPG configuration options. Available options are described in the gpg manpage: https://gnupg.org/documentation/manpage.html.

Type: attribute set of string or booleans

Example: { no-comments = false; s2k-cipher-algo = "AES128"; }

Declared by:

<home-manager/modules/programs/gpg.nix>
programs.home-manager.enable

Whether to enable Home Manager.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/home-manager.nix>
programs.home-manager.path

The default path to use for Home Manager. If this path does not exist then $HOME/.config/nixpkgs/home-manager and $HOME/.nixpkgs/home-manager will be attempted.

Type: null or string

Default: null

Example: "\$HOME/devel/home-manager"

Declared by:

<home-manager/modules/programs/home-manager.nix>
programs.htop.enable

Whether to enable htop.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.accountGuestInCpuMeter

Add guest time in CPU meter percentage.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.colorScheme

Which color scheme to use.

Type: one of 0, 1, 2, 3, 4, 5, 6

Default: 0

Example: 6

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.cpuCountFromZero

Count CPUs from 0 instead of 1.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.delay

Set the delay between updates, in tenths of seconds.

Type: signed integer

Default: 15

Example: 2

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.detailedCpuTime

Detailed CPU time (System/IO-Wait/Hard-IRQ/Soft-IRQ/Steal/Guest).

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.fields

Active fields shown in the table.

Type: list of one of "CGROUP", "CMAJFLT", "CMINFLT", "CNCLWB", "COMM", "CSTIME", "CTID", "CUTIME", "IO_PRIORITY", "IO_RATE", "IO_READ_RATE", "IO_WRITE_RATE", "MAJFLT", "MINFLT", "M_DRS", "M_DT", "M_LRS", "M_RESIDENT", "M_SHARE", "M_SIZE", "M_TRS", "NICE", "NLWP", "OOM", "PERCENT_CPU", "PERCENT_MEM", "PGRP", "PID", "PPID", "PRIORITY", "PROCESSOR", "RBYTES", "RCHAR", "SESSION", "STARTTIME", "STATE", "STIME", "ST_UID", "SYSCR", "SYSCW", "TGID", "TIME", "TPGID", "TTY_NR", "USER", "UTIME", "VPID", "VXID", "WBYTES", "WCHAR"s

Default: [ "PID" "USER" "PRIORITY" "NICE" "M_SIZE" "M_RESIDENT" "M_SHARE" "STATE" "PERCENT_CPU" "PERCENT_MEM" "TIME" "COMM" ]

Example: [ "PID" "USER" "PRIORITY" "PERCENT_CPU" "M_RESIDENT" "PERCENT_MEM" "TIME" "COMM" ]

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.headerMargin

Leave a margin around header.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.hideKernelThreads

Hide kernel threads.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.hideThreads

Hide threads.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.hideUserlandThreads

Hide userland process threads.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.highlightBaseName

Highlight program basename.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.highlightMegabytes

Highlight large numbers in memory counters.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.highlightThreads

Display threads in a different color.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.meters

Meters shown in the header.

Type: submodule

Default: { left = [ "AllCPUs" "Memory" "Swap" ] ; right = [ "Tasks" "LoadAverage" "Uptime" ] ; }

Example: { left = [ "Memory" "CPU" "LeftCPUs2" "RightCPUs2" { kind = "CPU"; mode = 3; } ] ; right = [ { kind = "Clock"; mode = 4; } "Uptime" "Tasks" "LoadAverage" { kind = "Battery"; mode = 1; } ] ; }

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.meters.left

Meters shown in the left header.

Type: list of submodule or one of "AllCPUs", "AllCPUs2", "Battery", "Blank", "CPU", "CPU(1)", "CPU(2)", "CPU(3)", "CPU(4)", "Clock", "Hostname", "LeftCPUs", "LeftCPUs2", "Load", "LoadAverage", "Memory", "RightCPUs", "RightCPUs2", "Swap", "Tasks", "Uptime" convertible to its

Default: [ "AllCPUs" "Memory" "Swap" ]

Example: [ "Memory" "LeftCPUs2" "RightCPUs2" { kind = "CPU"; mode = 3; } ]

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.meters.left.*.kind

What kind of meter.

Type: one of "AllCPUs", "AllCPUs2", "Battery", "Blank", "CPU", "CPU(1)", "CPU(2)", "CPU(3)", "CPU(4)", "Clock", "Hostname", "LeftCPUs", "LeftCPUs2", "Load", "LoadAverage", "Memory", "RightCPUs", "RightCPUs2", "Swap", "Tasks", "Uptime"

Example: "AllCPUs"

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.meters.left.*.mode

Which mode the meter should use, one of 1(Bar) 2(Text) 3(Graph) 4(LED).

Type: one of 1, 2, 3, 4

Example: 2

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.meters.right

Meters shown in the right header.

Type: list of submodule or one of "AllCPUs", "AllCPUs2", "Battery", "Blank", "CPU", "CPU(1)", "CPU(2)", "CPU(3)", "CPU(4)", "Clock", "Hostname", "LeftCPUs", "LeftCPUs2", "Load", "LoadAverage", "Memory", "RightCPUs", "RightCPUs2", "Swap", "Tasks", "Uptime" convertible to its

Default: [ "Tasks" "LoadAverage" "Uptime" ]

Example: [ { kind = "Clock"; mode = 4; } "Uptime" "Tasks" ]

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.meters.right.*.kind

What kind of meter.

Type: one of "AllCPUs", "AllCPUs2", "Battery", "Blank", "CPU", "CPU(1)", "CPU(2)", "CPU(3)", "CPU(4)", "Clock", "Hostname", "LeftCPUs", "LeftCPUs2", "Load", "LoadAverage", "Memory", "RightCPUs", "RightCPUs2", "Swap", "Tasks", "Uptime"

Example: "AllCPUs"

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.meters.right.*.mode

Which mode the meter should use, one of 1(Bar) 2(Text) 3(Graph) 4(LED).

Type: one of 1, 2, 3, 4

Example: 2

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.shadowOtherUsers

Shadow other users' processes.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.showProgramPath

Show program path.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.showThreadNames

Show custom thread names.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.sortDescending

Whether to sort descending or not.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.sortKey

Which field to use for sorting.

Type: one of "CGROUP", "CMAJFLT", "CMINFLT", "CNCLWB", "COMM", "CSTIME", "CTID", "CUTIME", "IO_PRIORITY", "IO_RATE", "IO_READ_RATE", "IO_WRITE_RATE", "MAJFLT", "MINFLT", "M_DRS", "M_DT", "M_LRS", "M_RESIDENT", "M_SHARE", "M_SIZE", "M_TRS", "NICE", "NLWP", "OOM", "PERCENT_CPU", "PERCENT_MEM", "PGRP", "PID", "PPID", "PRIORITY", "PROCESSOR", "RBYTES", "RCHAR", "SESSION", "STARTTIME", "STATE", "STIME", "ST_UID", "SYSCR", "SYSCW", "TGID", "TIME", "TPGID", "TTY_NR", "USER", "UTIME", "VPID", "VXID", "WBYTES", "WCHAR"

Default: "PERCENT_CPU"

Example: "TIME"

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.treeView

Tree view.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/htop.nix>
programs.htop.updateProcessNames

Update process names on every refresh.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/htop.nix>
programs.info.enable

Whether to enable GNU Info.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/info.nix>
programs.info.homeInfoDirLocation

Directory in which to store the info dir file within your home.

Type: unspecified

Default: "\${XDG_CACHE_HOME:-\$HOME/.cache}/info"

Declared by:

<home-manager/modules/programs/info.nix>
programs.irssi.enable

Whether to enable the Irssi chat client.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/irssi.nix>
programs.irssi.aliases

An attribute set that maps aliases to commands.

Type: attribute set of strings

Default: { }

Example: { BYE = "quit"; J = "join"; }

Declared by:

<home-manager/modules/programs/irssi.nix>
programs.irssi.extraConfig

These lines are appended to the Irssi configuration.

Type: string

Default: ""

Declared by:

<home-manager/modules/programs/irssi.nix>
programs.irssi.networks

An attribute set of chat networks.

Type: attribute set of submodules

Default: { }

Example:

{
  freenode = {
    nick = "hmuser";
    server = {
      address = "chat.freenode.net";
      port = 6697;
      autoConnect = true;
    };
    channels = {
      nixos.autoJoin = true;
    };
  };
}

Declared by:

<home-manager/modules/programs/irssi.nix>
programs.irssi.networks.<name>.autoCommands

List of commands to execute on connect.

Type: list of strings

Default: [ ]

Declared by:

<home-manager/modules/programs/irssi.nix>
programs.irssi.networks.<name>.channels

Channels for the given network.

Type: attribute set of submodules

Default: { }

Declared by:

<home-manager/modules/programs/irssi.nix>
programs.irssi.networks.<name>.channels.<name>.autoJoin

Whether to join this channel on connect.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/irssi.nix>
programs.irssi.networks.<name>.nick

Nickname in that network.

Type: string

Declared by:

<home-manager/modules/programs/irssi.nix>
programs.irssi.networks.<name>.server.address

Address of the chat server.

Type: string

Declared by:

<home-manager/modules/programs/irssi.nix>
programs.irssi.networks.<name>.server.autoConnect

Whether Irssi connects to the server on launch.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/irssi.nix>
programs.irssi.networks.<name>.server.port

Port of the chat server.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: 6667

Declared by:

<home-manager/modules/programs/irssi.nix>
programs.irssi.networks.<name>.server.ssl.enable

Whether SSL should be used.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/irssi.nix>
programs.irssi.networks.<name>.server.ssl.verify

Whether the SSL certificate should be verified.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/irssi.nix>
programs.irssi.networks.<name>.type

Type of the network.

Type: string

Default: "IRC"

Declared by:

<home-manager/modules/programs/irssi.nix>
programs.jq.enable

Whether to enable the jq command-line JSON processor.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/jq.nix>
programs.jq.colors

The colors used in colored JSON output.

See https://stedolan.github.io/jq/manual/#Colors.

Type: submodule

Default: { arrays = "1;39"; false = "0;39"; null = "1;30"; numbers = "0;39"; objects = "1;39"; strings = "0;32"; true = "0;39"; }

Example:

{
  null    = "1;30";
  false   = "0;31";
  true    = "0;32";
  numbers = "0;36";
  strings = "0;33";
  arrays  = "1;35";
  objects = "1;37";
}

Declared by:

<home-manager/modules/programs/jq.nix>
programs.kakoune.enable

Whether to enable the kakoune text editor.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config

kakoune configuration options.

Type: null or submodule

Default: { }

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.alignWithTabs

Use tabs for the align command.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.autoComplete

Modes in which to display possible completions. The kakoune default is [ "insert" "prompt" ].

Type: null or list of one of "insert", "prompt"s

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.autoInfo

Contexts in which to display automatic information box. The kakoune default is [ "command" "onkey" ].

Type: null or list of one of "command", "onkey", "normal"s

Default: null

Example: [ "command" "normal" ]

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.autoReload

Reload buffers when an external modification is detected. The kakoune default is "ask".

Type: null or one of "yes", "no", "ask"

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.colorScheme

Set the color scheme. To see available schemes, enter colorscheme at the kakoune prompt.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.hooks

Global hooks. For documentation, see https://github.com/mawww/kakoune/blob/master/doc/pages/hooks.asciidoc.

Type: list of submodules

Default: [ ]

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.hooks.*.commands

Commands to run when the hook is activated.

Type: strings concatenated with "\n"

Default: ""

Example: "set-option window indentwidth 2"

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.hooks.*.group

Add the hook to the named group.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.hooks.*.name

The name of the hook. For a description, see https://github.com/mawww/kakoune/blob/master/doc/pages/hooks.asciidoc#default-hooks.

Type: one of "NormalBegin", "NormalIdle", "NormalEnd", "NormalKey", "InsertBegin", "InsertIdle", "InsertEnd", "InsertKey", "InsertChar", "InsertDelete", "InsertMove", "WinCreate", "WinClose", "WinResize", "WinDisplay", "WinSetOption", "BufSetOption", "BufNewFile", "BufOpenFile", "BufCreate", "BufWritePre", "BufWritePost", "BufReload", "BufClose", "BufOpenFifo", "BufReadFifo", "BufCloseFifo", "RuntimeError", "ModeChange", "PromptIdle", "GlobalSetOption", "KakBegin", "KakEnd", "FocusIn", "FocusOut", "RawKey", "InsertCompletionShow", "InsertCompletionHide", "InsertCompletionSelect"

Example: "SetOption"

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.hooks.*.once

Remove the hook after running it once.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.hooks.*.option

Additional option to pass to the hook.

Type: null or string

Default: null

Example: "filetype=latex"

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.incrementalSearch

Execute a search as it is being typed.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.indentWidth

The width of an indentation in spaces. The kakoune default is 4. If 0, a tab will be used instead.

Type: null or unsigned integer, meaning >=0

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.keyMappings

User-defined key mappings. For documentation, see https://github.com/mawww/kakoune/blob/master/doc/pages/mapping.asciidoc.

Type: list of submodules

Default: [ ]

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.keyMappings.*.docstring

Optional documentation text to display in info boxes.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.keyMappings.*.effect

The sequence of keys to be mapped.

Type: string

Example: ":wq<ret>"

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.keyMappings.*.key

The key to be mapped. See https://github.com/mawww/kakoune/blob/master/doc/pages/mapping.asciidoc#mappable-keys for possible values.

Type: string

Example: "<a-x>"

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.keyMappings.*.mode

The mode in which the mapping takes effect.

Type: one of "insert", "normal", "prompt", "menu", "user", "goto", "view", "object"

Example: "user"

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.numberLines

Settings for the number lines highlighter.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.numberLines.enable

Whether to enable the number lines highlighter.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.numberLines.highlightCursor

Highlight the cursor line with a separate face.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.numberLines.relative

Show line numbers relative to the main cursor line.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.numberLines.separator

String that separates the line number column from the buffer contents. The kakoune default is "|".

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.scrollOff

How many lines and columns to keep visible around the cursor.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.scrollOff.columns

The number of columns to keep visible around the cursor.

Type: unsigned integer, meaning >=0

Default: 0

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.scrollOff.lines

The number of lines to keep visible around the cursor.

Type: unsigned integer, meaning >=0

Default: 0

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.showMatching

Highlight the matching char of the character under the selections' cursor using the MatchingChar face.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.showWhitespace

Settings for the show whitespaces highlighter.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.showWhitespace.enable

Whether to enable the show whitespace highlighter.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.showWhitespace.lineFeed

The character to display for line feeds. The kakoune default is "¬".

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.showWhitespace.nonBreakingSpace

The character to display for non-breaking spaces. The kakoune default is "⍽".

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.showWhitespace.space

The character to display for spaces. The kakoune default is "·".

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.showWhitespace.tab

The character to display for tabs. The kakoune default is "→".

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.showWhitespace.tabStop

The character to append to tabs to reach the width of a tabstop. The kakoune default is " ".

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.tabStop

The width of a tab in spaces. The kakoune default is 6.

Type: null or unsigned integer, meaning >=0

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.ui

Settings for the ncurses interface.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.ui.enableMouse

Whether to enable mouse support.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.ui.assistant

The assistant displayed in info boxes.

Type: one of "clippy", "cat", "dilbert", "none"

Default: "clippy"

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.ui.changeColors

Change color palette.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.ui.setTitle

Change the title of the terminal emulator.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.ui.shiftFunctionKeys

Amount by which shifted function keys are offset. That is, if the terminal sends F13 for Shift-F1, this should be 12.

Type: null or unsigned integer, meaning >=0

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.ui.statusLine

Where to display the status line.

Type: one of "top", "bottom"

Default: "bottom"

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.ui.useBuiltinKeyParser

Bypass ncurses key parser and use an internal one.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.ui.wheelDownButton

Button to send for wheel down events.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.ui.wheelUpButton

Button to send for wheel up events.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.wrapLines

Settings for the wrap lines highlighter.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.wrapLines.enable

Whether to enable the wrap lines highlighter.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.wrapLines.indent

Preserve line indentation when wrapping.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.wrapLines.marker

Prefix wrapped lines with marker text. If not null, the marker text will be displayed in the indentation if possible.

Type: null or string

Default: null

Example: "⏎"

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.wrapLines.maxWidth

Wrap text at maxWidth, even if the window is wider.

Type: null or unsigned integer, meaning >=0

Default: null

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.config.wrapLines.word

Wrap at word boundaries instead of codepoint boundaries.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.kakoune.extraConfig

Extra configuration lines to add to ~/.config/kak/kakrc.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/kakoune.nix>
programs.keychain.enable

Whether to enable keychain.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/keychain.nix>
programs.keychain.enableBashIntegration

Whether to enable Bash integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/keychain.nix>
programs.keychain.enableZshIntegration

Whether to enable Zsh integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/keychain.nix>
programs.keychain.package

Keychain package to install.

Type: package

Default: pkgs.keychain

Declared by:

<home-manager/modules/programs/keychain.nix>
programs.keychain.agents

Agents to add.

Type: list of strings

Default: [ ]

Declared by:

<home-manager/modules/programs/keychain.nix>
programs.keychain.extraFlags

Extra flags to pass to keychain.

Type: list of strings

Default: [ "--quiet" ]

Declared by:

<home-manager/modules/programs/keychain.nix>
programs.keychain.inheritType

Inherit type to attempt from agent variables from the environment.

Type: null or one of "local", "any", "local-once", "any-once"

Default: null

Declared by:

<home-manager/modules/programs/keychain.nix>
programs.keychain.keys

Keys to add to keychain.

Type: list of strings

Default: [ "id_rsa" ]

Declared by:

<home-manager/modules/programs/keychain.nix>
programs.lesspipe.enable

Whether to enable lesspipe preprocessor for less.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/lesspipe.nix>
programs.lsd.enable

Whether to enable lsd.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/lsd.nix>
programs.lsd.enableAliases

Whether to enable recommended lsd aliases.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/lsd.nix>
programs.man.enable

Whether to enable manual pages and the man command. This also includes "man" outputs of all home.packages.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/man.nix>
programs.matplotlib.enable

Whether to enable matplotlib, a plotting library for python.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/matplotlib.nix>
programs.matplotlib.config

Add terms to the matplotlibrc file to control the default matplotlib behavior.

Type: attribute set

Default: { }

Example:

{
  backend = "Qt5Agg";
  axes = {
    grid = true;
    facecolor = "black";
    edgecolor = "FF9900";
  };
  grid.color = "FF9900";
}

Declared by:

<home-manager/modules/programs/matplotlib.nix>
programs.matplotlib.extraConfig

Additional commands for matplotlib that will be added to the matplotlibrc file.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/matplotlib.nix>
programs.mbsync.enable

Whether to enable mbsync IMAP4 and Maildir mailbox synchronizer.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/mbsync.nix>
programs.mbsync.package

The package to use for the mbsync binary.

Type: package

Default: pkgs.isync

Example:

pkgs.isync

Declared by:

<home-manager/modules/programs/mbsync.nix>
programs.mbsync.extraConfig

Extra configuration lines to add to the mbsync configuration.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/mbsync.nix>
programs.mbsync.groups

Definition of groups.

Type: attribute set of attribute set of list of stringsss

Default: { }

Example:

{
  inboxes = {
    account1 = [ "Inbox" ];
    account2 = [ "Inbox" ];
  };
}

Declared by:

<home-manager/modules/programs/mbsync.nix>
programs.mercurial.enable

Whether to enable Mercurial.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/mercurial.nix>
programs.mercurial.package

Mercurial package to install.

Type: package

Default: pkgs.mercurial

Declared by:

<home-manager/modules/programs/mercurial.nix>
programs.mercurial.aliases

Mercurial aliases to define.

Type: attribute set

Default: { }

Declared by:

<home-manager/modules/programs/mercurial.nix>
programs.mercurial.extraConfig

Additional configuration to add.

Type: attribute set or strings concatenated with "\n"

Default: { }

Declared by:

<home-manager/modules/programs/mercurial.nix>
programs.mercurial.ignores

List of globs for files to be globally ignored.

Type: list of strings

Default: [ ]

Example: [ "*~" "*.swp" ]

Declared by:

<home-manager/modules/programs/mercurial.nix>
programs.mercurial.ignoresRegexp

List of regular expressions for files to be globally ignored.

Type: list of strings

Default: [ ]

Example: [ "^.*~\$" ''^.*\.swp$'' ]

Declared by:

<home-manager/modules/programs/mercurial.nix>
programs.mercurial.userEmail

Default user email to use.

Type: string

Declared by:

<home-manager/modules/programs/mercurial.nix>
programs.mercurial.userName

Default user name to use.

Type: string

Declared by:

<home-manager/modules/programs/mercurial.nix>
programs.mpv.enable

Whether to enable mpv.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/mpv.nix>
programs.mpv.bindings

Input configuration written to ~/.config/mpv/input.conf. See mpv(1) for the full list of options.

Type: attribute set of strings

Default: { }

Example:

{
  WHEEL_UP = "seek 10";
  WHEEL_DOWN = "seek -10";
  "Alt+0" = "set window-scale 0.5";
}

Declared by:

<home-manager/modules/programs/mpv.nix>
programs.mpv.config

Configuration written to ~/.config/mpv/mpv.conf. See mpv(1) for the full list of options.

Type: attribute set of string or signed integer or boolean or floating point numbers

Default: { }

Example:

{
  profile = "gpu-hq";
  force-window = "yes";
  ytdl-format = "bestvideo+bestaudio";
  cache-default = 4000000;
}

Declared by:

<home-manager/modules/programs/mpv.nix>
programs.mpv.profiles

Sub-configuration options for specific profiles written to ~/.config/mpv/mpv.conf. See programs.mpv.config for more information.

Type: attribute set of attribute set of string or signed integer or boolean or floating point numberss

Default: { }

Example:

{
  fast = {
    vo = "vdpau";
  };
  "protocol.dvd" = {
    profile-desc = "profile for dvd:// streams";
    alang = "en";
  };
}

Declared by:

<home-manager/modules/programs/mpv.nix>
programs.mpv.scripts

List of scripts to use with mpv.

Type: list of packages

Default: [ ]

Example:

[ pkgs.mpvScripts.mpris ]

Declared by:

<home-manager/modules/programs/mpv.nix>
programs.msmtp.enable

Whether to enable msmtp.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/msmtp.nix>
programs.msmtp.extraConfig

Extra configuration lines to add to ~/.msmtprc. See https://marlam.de/msmtp/msmtprc.txt for examples.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/msmtp.nix>
programs.neovim.enable

Whether to enable Neovim.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/neovim.nix>
programs.neovim.package

The package to use for the neovim binary.

Type: package

Default: pkgs.neovim-unwrapped

Declared by:

<home-manager/modules/programs/neovim.nix>
programs.neovim.configure

Generate your init file from your list of plugins and custom commands, and loads it from the store via nvim -u /nix/store/hash-vimrc

This option is deprecated. Please use the options extraConfig and plugins which are mutually exclusive with this option.

Type: attribute set

Default: { }

Example:

configure = {
    customRC = $'''
    " here your custom configuration goes!
    $''';
    packages.myVimPackage = with pkgs.vimPlugins; {
      # loaded on launch
      start = [ fugitive ];
      # manually loadable by calling `:packadd $plugin-name`
      opt = [ ];
    };
  };

Declared by:

<home-manager/modules/programs/neovim.nix>
programs.neovim.extraConfig

Custom vimrc lines.

This option is mutually exclusive with configure.

Type: strings concatenated with "\n"

Default: ""

Example:

''
set nocompatible
set nobackup
''

Declared by:

<home-manager/modules/programs/neovim.nix>
programs.neovim.extraPython3Packages

A function in python.withPackages format, which returns a list of Python 3 packages required for your plugins to work.

Type: python3 packages in python.withPackages format or list of packages

Default: "ps: []"

Example:

(ps: with ps; [ python-language-server ])

Declared by:

<home-manager/modules/programs/neovim.nix>
programs.neovim.extraPythonPackages

A function in python.withPackages format, which returns a list of Python 2 packages required for your plugins to work.

Type: python packages in python.withPackages format or list of packages

Default: "ps: []"

Example:

(ps: with ps; [ pandas jedi ])

Declared by:

<home-manager/modules/programs/neovim.nix>
programs.neovim.plugins

List of vim plugins to install.

This option is mutually exclusive with configure.

Type: list of packages

Default: [ ]

Example:

[ pkgs.vimPlugins.yankring ]

Declared by:

<home-manager/modules/programs/neovim.nix>
programs.neovim.viAlias

Symlink `vi` to `nvim` binary.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/neovim.nix>
programs.neovim.vimAlias

Symlink `vim` to `nvim` binary.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/neovim.nix>
programs.neovim.withNodeJs

Enable node provider. Set to true to use Node plugins.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/neovim.nix>
programs.neovim.withPython

Enable Python 2 provider. Set to true to use Python 2 plugins.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/neovim.nix>
programs.neovim.withPython3

Enable Python 3 provider. Set to true to use Python 3 plugins.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/neovim.nix>
programs.neovim.withRuby

Enable ruby provider.

Type: null or boolean

Default: true

Declared by:

<home-manager/modules/programs/neovim.nix>
programs.newsboat.enable

Whether to enable the Newsboat feed reader.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/newsboat.nix>
programs.newsboat.autoReload

Whether to enable automatic reloading while newsboat is running.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/newsboat.nix>
programs.newsboat.browser

External browser to use.

Type: string

Default: "\${pkgs.xdg_utils}/bin/xdg-open"

Declared by:

<home-manager/modules/programs/newsboat.nix>
programs.newsboat.extraConfig

Extra configuration values that will be appended to the end.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/newsboat.nix>
programs.newsboat.maxItems

Maximum number of items per feed, 0 for infinite.

Type: signed integer

Default: 0

Declared by:

<home-manager/modules/programs/newsboat.nix>
programs.newsboat.queries

A list of queries to use.

Type: attribute set of strings

Default: { }

Example: { foo = ''rssurl =~ "example.com"''; }

Declared by:

<home-manager/modules/programs/newsboat.nix>
programs.newsboat.reloadThreads

How many threads to use for updating the feeds.

Type: signed integer

Default: 5

Declared by:

<home-manager/modules/programs/newsboat.nix>
programs.newsboat.reloadTime

Time in minutes between reloads.

Type: null or signed integer

Default: 60

Declared by:

<home-manager/modules/programs/newsboat.nix>
programs.newsboat.urls

List of news feeds.

Type: list of submodules

Default: [ ]

Example: [ { tags = [ "foo" "bar" ] ; url = "http://example.com"; } ]

Declared by:

<home-manager/modules/programs/newsboat.nix>
programs.newsboat.urls.*.tags

Feed tags.

Type: list of strings

Default: [ ]

Example: [ "foo" "bar" ]

Declared by:

<home-manager/modules/programs/newsboat.nix>
programs.newsboat.urls.*.title

Feed title.

Type: null or string

Default: null

Example: "ORF News"

Declared by:

<home-manager/modules/programs/newsboat.nix>
programs.newsboat.urls.*.url

Feed URL.

Type: string

Example: "http://example.com"

Declared by:

<home-manager/modules/programs/newsboat.nix>
programs.noti.enable

Whether to enable Noti.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/noti.nix>
programs.noti.settings

Configuration written to ~/.config/noti/noti.yaml.

See noti.yaml(5). for the full list of options.

Type: attribute set of attribute set of stringss

Default: { }

Example:

{
  say = {
    voice = "Alex";
  };
  slack = {
    token = "1234567890abcdefg";
    channel = "@jaime";
  };
}

Declared by:

<home-manager/modules/programs/noti.nix>
programs.notmuch.enable

Whether to enable Notmuch mail indexer.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/notmuch.nix>
programs.notmuch.extraConfig

Options that should be appended to the notmuch configuration file.

Type: attribute set of attribute set of stringss

Default: { }

Declared by:

<home-manager/modules/programs/notmuch.nix>
programs.notmuch.hooks.postInsert

Bash statements run after a message has been inserted into the database and initial tags have been applied.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/notmuch.nix>
programs.notmuch.hooks.postNew

Bash statements run after new messages have been imported into the database and initial tags have been applied.

Type: strings concatenated with "\n"

Default: ""

Example:

''
notmuch tag +nixos -- tag:new and from:nixos1@discoursemail.com
''

Declared by:

<home-manager/modules/programs/notmuch.nix>
programs.notmuch.hooks.preNew

Bash statements run before scanning or importing new messages into the database.

Type: strings concatenated with "\n"

Default: ""

Example: "mbsync --all"

Declared by:

<home-manager/modules/programs/notmuch.nix>
programs.notmuch.maildir.synchronizeFlags

Whether to synchronize Maildir flags.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/notmuch.nix>
programs.notmuch.new

Options related to email processing performed by notmuch new.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/programs/notmuch.nix>
programs.notmuch.new.ignore

A list to specify files and directories that will not be searched for messages by notmuch new.

Type: list of strings

Default: [ ]

Declared by:

<home-manager/modules/programs/notmuch.nix>
programs.notmuch.new.tags

A list of tags that will be added to all messages incorporated by notmuch new.

Type: list of strings

Default: [ "unread" "inbox" ]

Example: [ "new" ]

Declared by:

<home-manager/modules/programs/notmuch.nix>
programs.notmuch.search.excludeTags

A list of tags that will be excluded from search results by default. Using an excluded tag in a query will override that exclusion.

Type: list of strings

Default: [ "deleted" "spam" ]

Example: [ "trash" "spam" ]

Declared by:

<home-manager/modules/programs/notmuch.nix>
programs.obs-studio.enable

Whether to enable obs-studio.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/obs-studio.nix>
programs.obs-studio.plugins

Optional OBS plugins.

Type: list of packages

Default: [ ]

Example:

[ pkgs.obs-linuxbrowser ]

Declared by:

<home-manager/modules/programs/obs-studio.nix>
programs.offlineimap.enable

Whether to enable OfflineIMAP.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/offlineimap.nix>
programs.offlineimap.extraConfig.default

Extra configuration options added to the DEFAULT section.

Type: attribute set of string or signed integer or booleans

Default: { }

Example: { gmailtrashfolder = "[Gmail]/Papierkorb"; }

Declared by:

<home-manager/modules/programs/offlineimap.nix>
programs.offlineimap.extraConfig.general

Extra configuration options added to the general section.

Type: attribute set of string or signed integer or booleans

Default: { }

Example: { maxage = 30; ui = "blinkenlights"; }

Declared by:

<home-manager/modules/programs/offlineimap.nix>
programs.offlineimap.extraConfig.mbnames

Extra configuration options added to the mbnames section.

Type: attribute set of string or signed integer or booleans

Default: { }

Example:

{
  filename = "~/.config/mutt/mailboxes";
  header = "'mailboxes '";
  peritem = "'+%(accountname)s/%(foldername)s'";
  sep = "' '";
  footer = "'\\n'";
}

Declared by:

<home-manager/modules/programs/offlineimap.nix>
programs.offlineimap.pythonFile

Python code that can then be used in other parts of the configuration.

Type: strings concatenated with "\n"

Default:

''
import subprocess

def get_pass(service, cmd):
    return subprocess.check_output(cmd, )
''

Declared by:

<home-manager/modules/programs/offlineimap.nix>
programs.opam.enable

Whether to enable Opam.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/opam.nix>
programs.opam.enableBashIntegration

Whether to enable Bash integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/opam.nix>
programs.opam.enableZshIntegration

Whether to enable Zsh integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/opam.nix>
programs.opam.package

Opam package to install.

Type: package

Default: pkgs.opam

Declared by:

<home-manager/modules/programs/opam.nix>
programs.pazi.enable

Whether to enable pazi.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/pazi.nix>
programs.pazi.enableBashIntegration

Whether to enable Bash integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/pazi.nix>
programs.pazi.enableFishIntegration

Whether to enable Fish integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/pazi.nix>
programs.pazi.enableZshIntegration

Whether to enable Zsh integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/pazi.nix>
programs.pidgin.enable

Whether to enable Pidgin messaging client.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/pidgin.nix>
programs.pidgin.package

The Pidgin package to use.

Type: package

Default: pkgs.pidgin

Declared by:

<home-manager/modules/programs/pidgin.nix>
programs.pidgin.plugins

Plugins that should be available to Pidgin.

Type: unspecified

Default: [ ]

Example:

[ pkgs.pidgin-otr pkgs.pidgin-osd ]

Declared by:

<home-manager/modules/programs/pidgin.nix>
programs.rofi.enable

Whether to enable Rofi: A window switcher, application launcher and dmenu replacement.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.borderWidth

Border width

Type: null or signed integer

Default: null

Example: 1

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors

Color scheme settings. Colors can be specified in CSS color formats. This option may become deprecated in the future and therefore the programs.rofi.theme option should be used whenever possible.

Type: null or submodule

Default: null

Example:

colors = {
  window = {
    background = "argb:583a4c54";
    border = "argb:582a373e";
    separator = "#c3c6c8";
  };

  rows = {
    normal = {
      background = "argb:58455a64";
      foreground = "#fafbfc";
      backgroundAlt = "argb:58455a64";
      highlight = {
        background = "#00bcd4";
        foreground = "#fafbfc";
      };
    };
  };
};

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows

Rows color settings.

Type: submodule

Default: null

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.active

Active row color settings.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.active.background

Background color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.active.backgroundAlt

Alternative background color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.active.foreground

Foreground color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.active.highlight

Color settings for highlighted row.

Type: submodule

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.active.highlight.background

Highlight background color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.active.highlight.foreground

Highlight foreground color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.normal

Normal row color settings.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.normal.background

Background color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.normal.backgroundAlt

Alternative background color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.normal.foreground

Foreground color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.normal.highlight

Color settings for highlighted row.

Type: submodule

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.normal.highlight.background

Highlight background color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.normal.highlight.foreground

Highlight foreground color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.urgent

Urgent row color settings.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.urgent.background

Background color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.urgent.backgroundAlt

Alternative background color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.urgent.foreground

Foreground color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.urgent.highlight

Color settings for highlighted row.

Type: submodule

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.urgent.highlight.background

Highlight background color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.rows.urgent.highlight.foreground

Highlight foreground color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.window

Window color settings.

Type: submodule

Default: null

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.window.background

Window background color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.window.border

Window border color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.colors.window.separator

Separator color

Type: string

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.configPath

Path where to put generated configuration file.

Type: string

Default: "\$XDG_CONFIG_HOME/rofi/config"

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.cycle

Whether to cycle through the results list.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.extraConfig

Additional configuration to add.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.font

Font to use.

Type: null or string

Default: null

Example: "Droid Sans Mono 14"

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.fullscreen

Whether to run rofi fullscreen.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.lines

Number of lines

Type: null or signed integer

Default: null

Example: 10

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.location

The location rofi appears on the screen.

Type: one of "bottom", "bottom-left", "bottom-right", "center", "left", "right", "top", "top-left", "top-right"

Default: "center"

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.padding

Padding

Type: null or signed integer

Default: null

Example: 400

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.rowHeight

Row height (in chars)

Type: null or signed integer

Default: null

Example: 1

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.scrollbar

Whether to show a scrollbar.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.separator

Separator style

Type: null or one of "none", "dash", "solid"

Default: null

Example: "solid"

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.terminal

Path to the terminal which will be used to run console applications

Type: null or string

Default: null

Example: "\${pkgs.gnome3.gnome_terminal}/bin/gnome-terminal"

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.theme

Name of theme or path to theme file in rasi format. Available named themes can be viewed using the rofi-theme-selector tool.

Type: null or string or path

Default: null

Example: "Arc"

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.width

Window width

Type: null or signed integer

Default: null

Example: 100

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.xoffset

Offset in the x-axis in pixels relative to the chosen location.

Type: signed integer

Default: 0

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rofi.yoffset

Offset in the y-axis in pixels relative to the chosen location.

Type: signed integer

Default: 0

Declared by:

<home-manager/modules/programs/rofi.nix>
programs.rtorrent.enable

Whether to enable rTorrent.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/rtorrent.nix>
programs.rtorrent.settings

Configuration written to ~/.config/rtorrent/rtorrent.rc. See https://github.com/rakshasa/rtorrent/wiki/Config-Guide for explanation about possible values.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/rtorrent.nix>
programs.skim.enable

Whether to enable skim - a command-line fuzzy finder.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/skim.nix>
programs.skim.enableBashIntegration

Whether to enable Bash integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/skim.nix>
programs.skim.enableZshIntegration

Whether to enable Zsh integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/skim.nix>
programs.skim.changeDirWidgetCommand

The command that gets executed as the source for skim for the ALT-C keybinding.

Type: null or string

Default: null

Example: "fd --type d"

Declared by:

<home-manager/modules/programs/skim.nix>
programs.skim.changeDirWidgetOptions

Command line options for the ALT-C keybinding.

Type: list of strings

Default: [ ]

Example: [ "--preview 'tree -C {} | head -200'" ]

Declared by:

<home-manager/modules/programs/skim.nix>
programs.skim.defaultCommand

The command that gets executed as the default source for skim when running.

Type: null or string

Default: null

Example: "fd --type f"

Declared by:

<home-manager/modules/programs/skim.nix>
programs.skim.defaultOptions

Extra command line options given to skim by default.

Type: list of strings

Default: [ ]

Example: [ "--height 40%" "--prompt ⟫" ]

Declared by:

<home-manager/modules/programs/skim.nix>
programs.skim.fileWidgetCommand

The command that gets executed as the source for skim for the CTRL-T keybinding.

Type: null or string

Default: null

Example: "fd --type f"

Declared by:

<home-manager/modules/programs/skim.nix>
programs.skim.fileWidgetOptions

Command line options for the CTRL-T keybinding.

Type: list of strings

Default: [ ]

Example: [ "--preview 'head {}'" ]

Declared by:

<home-manager/modules/programs/skim.nix>
programs.skim.historyWidgetOptions

Command line options for the CTRL-R keybinding.

Type: list of strings

Default: [ ]

Example: [ "--tac" "--exact" ]

Declared by:

<home-manager/modules/programs/skim.nix>
programs.ssh.enable

Whether to enable SSH client configuration.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.compression

Specifies whether to use compression.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.controlMaster

Configure sharing of multiple sessions over a single network connection.

Type: one of "yes", "no", "ask", "auto", "autoask"

Default: "no"

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.controlPath

Specify path to the control socket used for connection sharing.

Type: string

Default: "~/.ssh/master-%r@%n:%p"

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.controlPersist

Whether control socket should remain open in the background.

Type: string

Default: "no"

Example: "10m"

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.extraConfig

Extra configuration.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.extraOptionOverrides

Extra SSH configuration options that take precedence over any host specific configuration.

Type: attribute set of strings

Default: { }

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.forwardAgent

Whether the connection to the authentication agent (if any) will be forwarded to the remote machine.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.hashKnownHosts

Indicates that ssh(1) should hash host names and addresses when they are added to the known hosts file.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks

Specify per-host settings. Note, if the order of rules matter then this must be a list. See ssh_config(5).

Type: list or attribute set of submodules

Default: { }

Example:

{
  "john.example.com" = {
    hostname = "example.com";
    user = "john";
  };
  foo = {
    hostname = "example.com";
    identityFile = "/home/john/.ssh/foo_rsa";
  };
};

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.addressFamily

Specifies which address family to use when connecting.

Type: null or one of "any", "inet", "inet6"

Default: null

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.certificateFile

Specifies a file from which the user certificate is read.

Type: null or path

Default: null

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.checkHostIP

Check the host IP address in the known_hosts file.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.compression

Specifies whether to use compression. Omitted from the host block when null.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.dynamicForwards

Specify dynamic port forwardings. See ssh_config(5) for DynamicForward.

Type: list of submodules

Default: [ ]

Example:

[ { port = 8080; } ];

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.dynamicForwards.*.address

The address where to bind the port.

Type: string

Default: "localhost"

Example: "example.org"

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.dynamicForwards.*.port

Specifies port number to bind on bind address.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Example: 8080

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.extraOptions

Extra configuration options for the host.

Type: attribute set of strings

Default: { }

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.forwardAgent

Whether the connection to the authentication agent (if any) will be forwarded to the remote machine.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.forwardX11

Specifies whether X11 connections will be automatically redirected over the secure channel and DISPLAY set.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.forwardX11Trusted

Specifies whether remote X11 clients will have full access to the original X11 display.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.host

The host pattern used by this conditional block.

Type: string

Example: "*.example.org"

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.hostname

Specifies the real host name to log into.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.identitiesOnly

Specifies that ssh should only use the authentication identity explicitly configured in the ~/.ssh/config files or passed on the ssh command-line, even if ssh-agent offers more identities.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.identityFile

Specifies files from which the user identity is read. Identities will be tried in the given order.

Type: list of strings or null or string

Default: [ ]

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.localForwards

Specify local port forwardings. See ssh_config(5) for LocalForward.

Type: list of submodules

Default: [ ]

Example:

[
  {
    bind.port = 8080;
    host.address = "10.0.0.13";
    host.port = 80;
  }
];

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.localForwards.*.bind.address

The address where to bind the port.

Type: string

Default: "localhost"

Example: "example.org"

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.localForwards.*.bind.port

Specifies port number to bind on bind address.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Example: 8080

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.localForwards.*.host.address

The address where to forward the traffic to.

Type: string

Example: "example.org"

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.localForwards.*.host.port

Specifies port number to forward the traffic to.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Example: 80

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.port

Specifies port number to connect on remote host.

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: null

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.proxyCommand

The command to use to connect to the server.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.proxyJump

The proxy host to use to connect to the server.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.remoteForwards

Specify remote port forwardings. See ssh_config(5) for RemoteForward.

Type: list of submodules

Default: [ ]

Example:

[
  {
    bind.port = 8080;
    host.address = "10.0.0.13";
    host.port = 80;
  }
];

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.remoteForwards.*.bind.address

The address where to bind the port.

Type: string

Default: "localhost"

Example: "example.org"

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.remoteForwards.*.bind.port

Specifies port number to bind on bind address.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Example: 8080

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.remoteForwards.*.host.address

The address where to forward the traffic to.

Type: string

Example: "example.org"

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.remoteForwards.*.host.port

Specifies port number to forward the traffic to.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Example: 80

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.sendEnv

Environment variables to send from the local host to the server.

Type: list of strings

Default: [ ]

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.serverAliveInterval

Set timeout in seconds after which response will be requested.

Type: signed integer

Default: 0

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks.<name?>.user

Specifies the user to log in as.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.serverAliveInterval

Set default timeout in seconds after which response will be requested.

Type: signed integer

Default: 0

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.userKnownHostsFile

Specifies one or more files to use for the user host key database, separated by whitespace. The default is ~/.ssh/known_hosts.

Type: string

Default: "~/.ssh/known_hosts"

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.starship.enable

Whether to enable starship.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/starship.nix>
programs.starship.enableBashIntegration

Whether to enable Bash integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/starship.nix>
programs.starship.enableFishIntegration

Whether to enable Fish integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/starship.nix>
programs.starship.enableZshIntegration

Whether to enable Zsh integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/starship.nix>
programs.starship.settings

Configuration written to ~/.config/starship.toml.

See https://starship.rs/config/ for the full list of options.

Type: attribute set

Default: { }

Declared by:

<home-manager/modules/programs/starship.nix>
programs.taskwarrior.enable

Whether to enable Task Warrior.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/taskwarrior.nix>
programs.taskwarrior.colorTheme

Either one of the default provided theme as string, or a path to a theme configuration file.

Type: null or string or path

Default: null

Example: "dark-blue-256"

Declared by:

<home-manager/modules/programs/taskwarrior.nix>
programs.taskwarrior.config

Key-value configuration written to ~/.taskrc.

Type: attribute set

Default: { }

Example:

{
  confirmation = false;
  report.minimal.filter = "status:pending";
  report.active.columns = [ "id" "start" "entry.age" "priority" "project" "due" "description" ];
  report.active.labels  = [ "ID" "Started" "Age" "Priority" "Project" "Due" "Description" ];
  taskd = {
    certificate = "/path/to/cert";
    key = "/path/to/key";
    ca = "/path/to/ca";
    server = "host.domain:53589";
    credentials = "Org/First Last/cf31f287-ee9e-43a8-843e-e8bbd5de4294";
  };
}

Declared by:

<home-manager/modules/programs/taskwarrior.nix>
programs.taskwarrior.dataLocation

Location where Task Warrior will store its data.

Home Manager will attempt to create this directory.

Type: string

Default: "\$XDG_DATA_HOME/task"

Declared by:

<home-manager/modules/programs/taskwarrior.nix>
programs.taskwarrior.extraConfig

Additional content written at the end of ~/.taskrc.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/taskwarrior.nix>
programs.termite.enable

Whether to enable Termite VTE-based terminal.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.allowBold

Allow the output of bold characters when the bold escape sequence appears.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.audibleBell

Have the terminal beep on the terminal bell.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.backgroundColor

Background color value.

Type: null or string

Default: null

Example: "rgba(63, 63, 63, 0.8)"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.browser

Set the default browser for opening links. If its not set, $BROWSER is read. If that's not set, url hints will be disabled.

Type: null or string

Default: null

Example: "\${pkgs.xdg_utils}/xdg-open"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.clickableUrl

Auto-detected URLs can be clicked on to open them in your browser. Only enabled if a browser is configured or detected.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.colorsExtra

Extra colors options that should be added to [colors] section.

Type: strings concatenated with "\n"

Default: ""

Example:

''
color0 = #3f3f3f
color1 = #705050
color2 = #60b48a
''

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.cursorBlink

Specify the how the terminal's cursor should behave. Accepts system to respect the gtk global configuration, on and off to explicitly enable or disable them.

Type: null or one of "system", "on", "off"

Default: null

Example: "system"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.cursorColor

Cursor color value.

Type: null or string

Default: null

Example: "#dcdccc"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.cursorForegroundColor

Cursor foreground color value.

Type: null or string

Default: null

Example: "#dcdccc"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.cursorShape

Specify how the cursor should look. Accepts block, ibeam and underline.

Type: null or one of "block", "underline", "ibeam"

Default: null

Example: "block"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.dynamicTitle

Settings dynamic title allows the terminal and the shell to update the terminal's title.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.filterUnmatchedUrls

Whether to hide url hints not matching input in url hints mode.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.font

The font description for the terminal's font.

Type: null or string

Default: null

Example: "Monospace 12"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.foregroundBoldColor

Foreground bold color value.

Type: null or string

Default: null

Example: "#ffffff"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.foregroundColor

Foreground color value.

Type: null or string

Default: null

Example: "#dcdccc"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.fullscreen

Enables entering fullscreen mode by pressing F11.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.geometry

The default window geometry for new terminal windows.

Type: null or string

Default: null

Example: "640x480"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.highlightColor

highlight color value.

Type: null or string

Default: null

Example: "#2f2f2f"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.hintsActiveBackgroundColor

Hints active background color value.

Type: null or string

Default: null

Example: "#3f3f3f"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.hintsActiveForegroundColor

Hints active foreground color value.

Type: null or string

Default: null

Example: "#e68080"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.hintsBackgroundColor

Hints background color value.

Type: null or string

Default: null

Example: "#3f3f3f"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.hintsBorderColor

Hints border color value.

Type: null or string

Default: null

Example: "#3f3f3f"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.hintsBorderWidth

Hints border width.

Type: null or string

Default: null

Example: "0.5"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.hintsExtra

Extra hints options that should be added to [hints] section.

Type: strings concatenated with "\n"

Default: ""

Example: "border = #3f3f3f"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.hintsFont

The font description for the hints font.

Type: null or string

Default: null

Example: "Monospace 12"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.hintsForegroundColor

Hints foreground color value.

Type: null or string

Default: null

Example: "#dcdccc"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.hintsPadding

Hints padding.

Type: null or signed integer

Default: null

Example: 2

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.hintsRoundness

Hints roundness.

Type: null or string

Default: null

Example: "0.2"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.iconName

The name of the icon to be used for the terminal process.

Type: null or string

Default: null

Example: "terminal"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.modifyOtherKeys

Emit escape sequences for extra keys, like the modifyOtherKeys resource for xterm(1).

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.mouseAutohide

Automatically hide the mouse pointer when you start typing.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.optionsExtra

Extra options that should be added to [options] section.

Type: strings concatenated with "\n"

Default: ""

Example: "fullscreen = true"

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.scrollOnKeystroke

Scroll to the bottom automatically when a key is pressed.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.scrollOnOutput

Scroll to the bottom when the shell generates output.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.scrollbackLines

Set the number of lines to limit the terminal's scrollback.

Type: null or signed integer

Default: null

Example: 10000

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.scrollbar

Scroll to the bottom when the shell generates output.

Type: null or one of "off", "left", "right"

Default: null

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.searchWrap

Search from top again when you hit the bottom.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.sizeHints

Enable size hints. Locks the terminal resizing to increments of the terminal's cell size. Requires a window manager that respects scroll hints.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/termite.nix>
programs.termite.urgentOnBell

Sets the window as urgent on the terminal bell.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/termite.nix>
programs.texlive.enable

Whether to enable Texlive.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/texlive.nix>
programs.texlive.package

Resulting customized Texlive package.

Type: package (read only)

Declared by:

<home-manager/modules/programs/texlive.nix>
programs.texlive.extraPackages

Extra packages available to Texlive.

Type: unspecified

Default: "tpkgs: { inherit (tpkgs) collection-basic; }"

Example:

tpkgs: { inherit (tpkgs) collection-fontsrecommended algorithms; }

Declared by:

<home-manager/modules/programs/texlive.nix>
programs.tmux.enable

Whether to enable tmux.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.package

The tmux package to install

Type: package

Default: pkgs.tmux

Example:

pkgs.tmux

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.aggressiveResize

Resize the window to the size of the smallest session for which it is the current window.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.baseIndex

Base index for windows and panes.

Type: unsigned integer, meaning >=0

Default: 0

Example: 1

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.clock24

Use 24 hour clock.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.customPaneNavigationAndResize

Override the hjkl and HJKL bindings for pane navigation and resizing in VI mode.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.disableConfirmationPrompt

Disable confirmation prompt before killing a pane or window

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.escapeTime

Time in milliseconds for which tmux waits after an escape is input.

Type: unsigned integer, meaning >=0

Default: 500

Example: 0

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.extraConfig

Additional configuration to add to tmux.conf.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.historyLimit

Maximum number of lines held in window history.

Type: positive integer, meaning >0

Default: 2000

Example: 5000

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.keyMode

VI or Emacs style shortcuts.

Type: one of "emacs", "vi"

Default: "emacs"

Example: "vi"

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.newSession

Automatically spawn a session if trying to attach and none are running.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.plugins

List of tmux plugins to be included at the end of your tmux configuration. The sensible plugin, however, is defaulted to run at the top of your configuration.

Type: list of plugin packages or submodules

Default: [ ]

Example:

with pkgs; [
  tmuxPlugins.cpu
  {
    plugin = tmuxPlugins.resurrect;
    extraConfig = "set -g @resurrect-strategy-nvim 'session'";
  }
  {
    plugin = tmuxPlugins.continuum;
    extraConfig = ''
      set -g @continuum-restore 'on'
      set -g @continuum-save-interval '60' # minutes
    '';
  }
]

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.resizeAmount

Number of lines/columns when resizing.

Type: positive integer, meaning >0

Default: 5

Example: 10

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.reverseSplit

Reverse the window split shortcuts.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.secureSocket

Store tmux socket under /run, which is more secure than /tmp, but as a downside it doesn't survive user logout.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.sensibleOnTop

Run the sensible plugin at the top of the configuration. It is possible to override the sensible settings using the programs.tmux.extraConfig option.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.shortcut

CTRL following by this key is used as the main shortcut.

Type: string

Default: "b"

Example: "a"

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.terminal

Set the $TERM variable.

Type: string

Default: "screen"

Example: "screen-256color"

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.tmuxinator.enable

Whether to enable tmuxinator.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.tmux.tmuxp.enable

Whether to enable tmuxp.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/tmux.nix>
programs.urxvt.enable

Whether to enable rxvt-unicode terminal emulator.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.package

rxvt-unicode package to install.

Type: package

Default: pkgs.rxvt_unicode

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.extraConfig

Additional configuration to add.

Type: attribute set

Default: { }

Example: { shading = 15; }

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.fonts

List of fonts to be used.

Type: list of strings

Default: [ ]

Example: [ "xft:Droid Sans Mono Nerd Font:size=9" ]

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.iso14755

ISO14755 support for viewing and entering unicode characters.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.keybindings

Mapping of keybindings to actions

Type: attribute set of strings

Default: { }

Example:

{
  "Shift-Control-C" = "eval:selection_to_clipboard";
  "Shift-Control-V" = "eval:paste_clipboard";
}

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.scroll.bar

Scrollbar settings.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.scroll.bar.enable

Whether to enable the scrollbar

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.scroll.bar.align

Scrollbar alignment.

Type: one of "top", "bottom", "center"

Default: "center"

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.scroll.bar.floating

Whether to display an rxvt scrollbar without a trough.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.scroll.bar.position

Scrollbar position.

Type: one of "left", "right"

Default: "right"

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.scroll.bar.style

Scrollbar style.

Type: one of "rxvt", "plain", "next", "xterm"

Default: "plain"

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.scroll.keepPosition

Whether to keep a scroll position when TTY receives new lines.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.scroll.lines

Number of lines to save in the scrollback buffer.

Type: unsigned integer, meaning >=0

Default: 10000

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.scroll.scrollOnKeystroke

Whether to scroll to bottom on keyboard input.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.scroll.scrollOnOutput

Whether to scroll to bottom on TTY output.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.shading

Darken (0 .. 99) or lighten (101 .. 200) the transparent background.

Type: integer between 0 and 200 (both inclusive)

Default: 100

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.urxvt.transparent

Whether to enable pseudo-transparency.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/urxvt.nix>
programs.vim.enable

Whether to enable Vim.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/vim.nix>
programs.vim.package

Resulting customized vim package

Type: package (read only)

Declared by:

<home-manager/modules/programs/vim.nix>
programs.vim.extraConfig

Custom .vimrc lines

Type: strings concatenated with "\n"

Default: ""

Example:

''
set nocompatible
set nobackup
''

Declared by:

<home-manager/modules/programs/vim.nix>
programs.vim.plugins

List of vim plugins to install. To get a list of supported plugins run: nix-env -f '<nixpkgs>' -qaP -A vimPlugins.

Note: String values are deprecated, please use actual packages.

Type: list of string or packages

Default: [ (build of vimplugin-vim-sensible-2019-09-01) ]

Example:

[ pkgs.vimPlugins.YankRing ]

Declared by:

<home-manager/modules/programs/vim.nix>
programs.vim.settings

At attribute set of Vim settings. The attribute names and corresponding values must be among the following supported options.

backgroundone of "dark", "light"
backupdirlist of strings
copyindentboolean
directorylist of strings
expandtabboolean
hiddenboolean
historysigned integer
ignorecaseboolean
modelineboolean
mouseone of "n", "v", "i", "c", "h", "a", "r"
mousefocusboolean
mousehideboolean
mousemodelone of "extend", "popup", "popup_setpos"
numberboolean
relativenumberboolean
shiftwidthsigned integer
smartcaseboolean
tabstopsigned integer
undodirlist of strings
undofileboolean

See the Vim documentation for detailed descriptions of these options. Note, use extraConfig to manually set any options not listed above.

Type: submodule

Default: { }

Example:

{
  expandtab = true;
  history = 1000;
  background = "dark";
}

Declared by:

<home-manager/modules/programs/vim.nix>
programs.vscode.enable

Whether to enable Visual Studio Code.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/vscode.nix>
programs.vscode.package

Version of Visual Studio Code to install.

Type: package

Default: (build of vscode-1.38.1)

Example:

pkgs.vscodium

Declared by:

<home-manager/modules/programs/vscode.nix>
programs.vscode.extensions

The extensions Visual Studio Code should be started with. These will override but not delete manually installed ones.

Type: list of packages

Default: [ ]

Example:

[ pkgs.vscode-extensions.bbenoist.Nix ]

Declared by:

<home-manager/modules/programs/vscode.nix>
programs.vscode.haskell.enable

Whether to enable Haskell integration for Visual Studio Code.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/vscode/haskell.nix>
programs.vscode.haskell.hie.enable

Whether to enable Haskell IDE engine integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/vscode/haskell.nix>
programs.vscode.haskell.hie.executablePath

The path to the Haskell IDE Engine executable.

Because hie-nix is not packaged in Nixpkgs, you need to add it as an overlay or set this option. Example overlay configuration:

nixpkgs.overlays = [
  (self: super: { hie-nix = import ~/src/hie-nix {}; })
]

Type: path

Default: "${pkgs.hie-nix.hies}/bin/hie-wrapper"

Example:

(import ~/src/haskell-ide-engine {}).hies + "/bin/hie-wrapper";

Declared by:

<home-manager/modules/programs/vscode/haskell.nix>
programs.vscode.userSettings

Configuration written to Visual Studio Code's settings.json.

Type: attribute set

Default: { }

Example:

{
  "update.channel" = "none";
  "[nix]"."editor.tabSize" = 2;
}

Declared by:

<home-manager/modules/programs/vscode.nix>
programs.z-lua.enable

Whether to enable z.lua.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/z-lua.nix>
programs.z-lua.enableAliases

Whether to enable recommended z.lua aliases.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/z-lua.nix>
programs.z-lua.enableBashIntegration

Whether to enable Bash integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/z-lua.nix>
programs.z-lua.enableFishIntegration

Whether to enable Fish integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/z-lua.nix>
programs.z-lua.enableZshIntegration

Whether to enable Zsh integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/z-lua.nix>
programs.z-lua.options

List of options to pass to z.lua.

Type: list of strings

Default: [ ]

Example: [ "enhanced" "once" "fzf" ]

Declared by:

<home-manager/modules/programs/z-lua.nix>
programs.zathura.enable

Whether to enable Zathura, a highly customizable and functional document viewer focused on keyboard interaction.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/zathura.nix>
programs.zathura.extraConfig

Additional commands for zathura that will be added to the zathurarc file.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/zathura.nix>
programs.zathura.options

Add :set command options to zathura and make them permanent. See zathurarc(5) for the full list of options.

Type: attribute set of string or boolean or signed integers

Default: { }

Example: { default-bg = "#000000"; default-fg = "#FFFFFF"; }

Declared by:

<home-manager/modules/programs/zathura.nix>
programs.zsh.enable

Whether to enable Z shell (Zsh).

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.enableAutosuggestions

Enable zsh autosuggestions

Type: unspecified

Default: false

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.enableCompletion

Enable zsh completion. Don't forget to add

  environment.pathsToLink = [ "/share/zsh" ];

to your system configuration to get completion for system packages (e.g. systemd).

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.autocd

Automatically enter into a directory if typed directly into shell.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.defaultKeymap

The default base keymap to use.

Type: null or one of "emacs", "vicmd", "viins"

Default: null

Example: "emacs"

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.dotDir

Directory where the zsh configuration and more should be located, relative to the users home directory. The default is the home directory.

Type: null or string

Default: null

Example: ".config/zsh"

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.envExtra

Extra commands that should be added to .zshenv.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.history

Options related to commands history configuration.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.history.expireDuplicatesFirst

Expire duplicates first.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.history.extended

Save timestamp into the history file.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.history.ignoreDups

Do not enter command lines into the history list if they are duplicates of the previous event.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.history.path

History file location

Type: string

Default: ".zsh_history"

Example:

"${config.xdg.dataHome}/zsh/zsh_history"

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.history.save

Number of history lines to save.

Type: signed integer

Default: 10000

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.history.share

Share command history between zsh sessions.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.history.size

Number of history lines to keep.

Type: signed integer

Default: 10000

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.initExtra

Extra commands that should be added to .zshrc.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.initExtraBeforeCompInit

Extra commands that should be added to .zshrc before compinit.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.localVariables

Extra local variables defined at the top of .zshrc.

Type: attribute set

Default: { }

Example: { POWERLEVEL9K_LEFT_PROMPT_ELEMENTS = [ "dir" "vcs" ] ; }

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.loginExtra

Extra commands that should be added to .zlogin.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.logoutExtra

Extra commands that should be added to .zlogout.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.oh-my-zsh

Options to configure oh-my-zsh.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.oh-my-zsh.enable

Whether to enable oh-my-zsh.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.oh-my-zsh.custom

Path to a custom oh-my-zsh package to override config of oh-my-zsh. See https://github.com/robbyrussell/oh-my-zsh/wiki/Customization for more information.

Type: string

Default: ""

Example: "\$HOME/my_customizations"

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.oh-my-zsh.plugins

List of oh-my-zsh plugins

Type: list of strings

Default: [ ]

Example: [ "git" "sudo" ]

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.oh-my-zsh.theme

Name of the theme to be used by oh-my-zsh.

Type: string

Default: ""

Example: "robbyrussell"

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.plugins

Plugins to source in .zshrc.

Type: list of submodules

Default: [ ]

Example:

[
  {
    # will source zsh-autosuggestions.plugin.zsh
    name = "zsh-autosuggestions";
    src = pkgs.fetchFromGitHub {
      owner = "zsh-users";
      repo = "zsh-autosuggestions";
      rev = "v0.4.0";
      sha256 = "0z6i9wjjklb4lvr7zjhbphibsyx51psv50gm07mbb0kj9058j6kc";
    };
  }
  {
    name = "enhancd";
    file = "init.sh";
    src = pkgs.fetchFromGitHub {
      owner = "b4b4r07";
      repo = "enhancd";
      rev = "v2.2.1";
      sha256 = "0iqa9j09fwm6nj5rpip87x3hnvbbz9w9ajgm6wkrd5fls8fn8i5g";
    };
  }
]

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.plugins.*.file

The plugin script to source.

Type: string

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.plugins.*.name

The name of the plugin. Don't forget to add file if the script name does not follow convention.

Type: string

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.plugins.*.src

Path to the plugin folder. Will be added to fpath and PATH.

Type: path

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.profileExtra

Extra commands that should be added to .zprofile.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.sessionVariables

Environment variables that will be set for zsh session.

Type: attribute set

Default: { }

Example: { MAILCHECK = 30; }

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.shellAliases

An attribute set that maps aliases (the top level attribute names in this option) to command strings or directly to build outputs.

Type: attribute set of strings

Default: { }

Example: { .. = "cd .."; ll = "ls -l"; }

Declared by:

<home-manager/modules/programs/zsh.nix>
qt.enable

Whether to enable Qt 4 and 5 configuration.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/misc/qt.nix>
qt.platformTheme

Selects the platform theme to use for Qt applications.

The options are

gtk

Use GTK theme with qtstyleplugins

gnome

Use GNOME theme with qgnomeplatform

Type: null or one of "gtk", "gnome"

Default: null

Example: "gnome"

Related packages:

  • pkgs.qgnomeplatform (qgnomeplatform-0.5): QPlatformTheme for a better Qt application inclusion in GNOME

  • pkgs.libsForQt5.qtstyleplugins (qtstyleplugins-2017-03-11): Additional style plugins for Qt5, including BB10, GTK, Cleanlooks, Motif, Plastique

Declared by:

<home-manager/modules/misc/qt.nix>
services.blueman-applet.enable

Whether to enable Blueman applet. Note, for the applet to work, 'blueman' package should also be installed system-wide since it requires running 'blueman-mechanism' service activated via dbus. You can add it to the dbus packages in system configuration: services.dbus.packages = [ pkgs.blueman ]; .

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/blueman-applet.nix>
services.compton.enable

Whether to enable Compton X11 compositor.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.package

Compton derivation to use.

Type: package

Default: pkgs.compton

Example:

pkgs.compton

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.activeOpacity

Opacity of active windows.

Type: string

Default: "1.0"

Example: "0.8"

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.backend

Backend to use: glx or xrender.

Type: string

Default: "glx"

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.blur

Enable background blur on transparent windows.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.blurExclude

List of windows to exclude background blur. See the compton(1) man page for more examples.

Type: list of strings

Default: [ ]

Example: [ "class_g = 'slop'" "class_i = 'polybar'" ]

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.extraOptions

Additional Compton configuration.

Type: string

Default: ""

Example:

''
unredir-if-possible = true;
dbe = true;
''

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.fade

Fade windows in and out.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.fadeDelta

Time between fade animation step (in ms).

Type: signed integer

Default: 10

Example: 5

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.fadeExclude

List of conditions of windows that should not be faded. See the compton(1) man page for more examples.

Type: list of strings

Default: [ ]

Example: [ "window_type *= 'menu'" "name ~= 'Firefox\$'" "focused = 1" ]

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.fadeSteps

Opacity change between fade steps (in and out).

Type: list of strings

Default: [ "0.028" "0.03" ]

Example: [ "0.04" "0.04" ]

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.inactiveOpacity

Opacity of inactive windows.

Type: string

Default: "1.0"

Example: "0.8"

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.menuOpacity

Opacity of dropdown and popup menu.

Type: string

Default: "1.0"

Example: "0.8"

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.noDNDShadow

Avoid shadow on drag-and-drop windows.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.noDockShadow

Avoid shadow on docks.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.opacityRule

List of opacity rules. See the compton(1) man page for more examples.

Type: list of strings

Default: [ ]

Example: [ "87:class_i ?= 'scratchpad'" "91:class_i ?= 'xterm'" ]

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.refreshRate

Screen refresh rate (0 = automatically detect).

Type: signed integer

Default: 0

Example: 60

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.shadow

Draw window shadows.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.shadowExclude

List of conditions of windows that should have no shadow. See the compton(1) man page for more examples.

Type: list of strings

Default: [ ]

Example: [ "window_type *= 'menu'" "name ~= 'Firefox\$'" "focused = 1" ]

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.shadowOffsets

Horizontal and vertical offsets for shadows (in pixels).

Type: list of signed integers

Default: [ -15 -15 ]

Example: [ -10 -15 ]

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.shadowOpacity

Window shadows opacity (number in range 0 - 1).

Type: string

Default: "0.75"

Example: "0.8"

Declared by:

<home-manager/modules/services/compton.nix>
services.compton.vSync

Enable vertical synchronization using the specified method. See the compton(1) man page for available methods.

Type: string

Default: "none"

Example: "opengl-swc"

Declared by:

<home-manager/modules/services/compton.nix>
services.dunst.enable

Whether to enable the dunst notification daemon.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/dunst.nix>
services.dunst.iconTheme

Set the icon theme.

Type: submodule

Default: { name = "hicolor"; package = (build of hicolor-icon-theme-0.17); size = "32x32"; }

Declared by:

<home-manager/modules/services/dunst.nix>
services.dunst.iconTheme.package

Package providing the theme.

Type: package

Example:

pkgs.gnome3.adwaita-icon-theme

Declared by:

<home-manager/modules/services/dunst.nix>
services.dunst.iconTheme.name

The name of the theme within the package.

Type: string

Example: "Adwaita"

Declared by:

<home-manager/modules/services/dunst.nix>
services.dunst.iconTheme.size

The desired icon size.

Type: string

Default: "32x32"

Example: "16x16"

Declared by:

<home-manager/modules/services/dunst.nix>
services.dunst.settings

Configuration written to ~/.config/dunstrc

Type: attribute set of attribute set of string or boolean or signed integer or list of stringsss

Default: { }

Example:

{
  global = {
    geometry = "300x5-30+50";
    transparency = 10;
    frame_color = "#eceff1";
    font = "Droid Sans 9";
  };

  urgency_normal = {
    background = "#37474f";
    foreground = "#eceff1";
    timeout = 10;
  };
};

Declared by:

<home-manager/modules/services/dunst.nix>
services.dwm-status.enable

Whether to enable dwm-status user service.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/dwm-status.nix>
services.dwm-status.package

Which dwm-status package to use.

Type: package

Default: pkgs.dwm-status

Example: "pkgs.dwm-status.override { enableAlsaUtils = false; }"

Declared by:

<home-manager/modules/services/dwm-status.nix>
services.dwm-status.extraConfig

Extra config of dwm-status.

Type: attribute set

Default: { }

Example:

{
  separator = "#";

  battery = {
    notifier_levels = [ 2 5 10 15 20 ];
  };

  time = {
    format = "%H:%M";
  };
}

Declared by:

<home-manager/modules/services/dwm-status.nix>
services.dwm-status.order

List of enabled features in order.

Type: list of one of "audio", "backlight", "battery", "cpu_load", "network", "time"s

Declared by:

<home-manager/modules/services/dwm-status.nix>
services.emacs.enable

Whether to enable the Emacs daemon.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/emacs.nix>
services.flameshot.enable

Whether to enable Flameshot.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/flameshot.nix>
services.getmail.enable

Whether to enable the getmail systemd service to automatically retrieve mail.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/getmail.nix>
services.getmail.frequency

The refresh frequency. Check man systemd.time for more information on the syntax. If you use a gpg-agent in combination with the passwordCommand, keep the poll frequency below the cache-ttl value (as set by the default) to avoid pinentry asking permanently for a password.

Type: string

Default: "*:0/5"

Example: "hourly"

Declared by:

<home-manager/modules/services/getmail.nix>
services.gnome-keyring.enable

Whether to enable GNOME Keyring.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/gnome-keyring.nix>
services.gnome-keyring.components

The GNOME keyring components to start. If empty then the default set of components will be started.

Type: list of one of "pkcs11", "secrets", "ssh"s

Default: [ ]

Declared by:

<home-manager/modules/services/gnome-keyring.nix>
services.gpg-agent.enable

Whether to enable GnuPG private key agent.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/gpg-agent.nix>
services.gpg-agent.enableExtraSocket

Whether to enable extra socket of the GnuPG key agent (useful for GPG Agent forwarding).

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/gpg-agent.nix>
services.gpg-agent.enableScDaemon

Make use of the scdaemon tool. This option has the effect of enabling the ability to do smartcard operations. When disabled, this option passes disable-scdaemon setting to gpg-agent.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/gpg-agent.nix>
services.gpg-agent.enableSshSupport

Whether to use the GnuPG key agent for SSH keys.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/gpg-agent.nix>
services.gpg-agent.defaultCacheTtl

Set the time a cache entry is valid to the given number of seconds.

Type: null or signed integer

Default: null

Declared by:

<home-manager/modules/services/gpg-agent.nix>
services.gpg-agent.defaultCacheTtlSsh

Set the time a cache entry used for SSH keys is valid to the given number of seconds.

Type: null or signed integer

Default: null

Declared by:

<home-manager/modules/services/gpg-agent.nix>
services.gpg-agent.extraConfig

Extra configuration lines to append to the gpg-agent configuration file.

Type: strings concatenated with "\n"

Default: ""

Example:

''
allow-emacs-pinentry
allow-loopback-pinentry
''

Declared by:

<home-manager/modules/services/gpg-agent.nix>
services.gpg-agent.grabKeyboardAndMouse

Tell the pinentry to grab the keyboard and mouse. This option should in general be used to avoid X-sniffing attacks. When disabled, this option passes no-grab setting to gpg-agent.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/gpg-agent.nix>
services.gpg-agent.maxCacheTtl

Set the maximum time a cache entry is valid to n seconds. After this time a cache entry will be expired even if it has been accessed recently or has been set using gpg-preset-passphrase. The default is 2 hours (7200 seconds).

Type: null or signed integer

Default: null

Declared by:

<home-manager/modules/services/gpg-agent.nix>
services.gpg-agent.maxCacheTtlSsh

Set the maximum time a cache entry used for SSH keys is valid to n seconds. After this time a cache entry will be expired even if it has been accessed recently or has been set using gpg-preset-passphrase. The default is 2 hours (7200 seconds).

Type: null or signed integer

Default: null

Declared by:

<home-manager/modules/services/gpg-agent.nix>
services.gpg-agent.sshKeys

Which GPG keys (by keygrip) to expose as SSH keys.

Type: null or list of strings

Default: null

Declared by:

<home-manager/modules/services/gpg-agent.nix>
services.gpg-agent.verbose

Whether to produce verbose output.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/gpg-agent.nix>
services.hound.enable

Whether to enable hound.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/hound.nix>
services.hound.databasePath

The Hound database path.

Type: path

Default: "\$XDG_DATA_HOME/hound"

Declared by:

<home-manager/modules/services/hound.nix>
services.hound.listenAddress

Listen address of the Hound daemon.

Type: string

Default: "localhost:6080"

Declared by:

<home-manager/modules/services/hound.nix>
services.hound.maxConcurrentIndexers

Limit the amount of concurrent indexers.

Type: positive integer, meaning >0

Default: 2

Declared by:

<home-manager/modules/services/hound.nix>
services.hound.repositories

The repository configuration.

Type: attribute set of attribute sets

Default: { }

Example:

{
  SomeGitRepo = {
    url = "https://www.github.com/YourOrganization/RepoOne.git";
    ms-between-poll = 10000;
    exclude-dot-files = true;
  };
}

Declared by:

<home-manager/modules/services/hound.nix>
services.imapnotify.enable

Whether to enable imapnotify.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/imapnotify.nix>
services.kbfs.enable

Whether to enable Keybase File System.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/kbfs.nix>
services.kbfs.extraFlags

Additional flags to pass to the Keybase filesystem on launch.

Type: list of strings

Default: [ ]

Example: [ "-label kbfs" "-mount-type normal" ]

Declared by:

<home-manager/modules/services/kbfs.nix>
services.kbfs.mountPoint

Mount point for the Keybase filesystem, relative to HOME.

Type: string

Default: "keybase"

Declared by:

<home-manager/modules/services/kbfs.nix>
services.kdeconnect.enable

Whether to enable KDE connect.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/kdeconnect.nix>
services.kdeconnect.indicator

Whether to enable kdeconnect-indicator service.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/kdeconnect.nix>
services.keepassx.enable

Whether to enable the KeePassX password manager.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/keepassx.nix>
services.keybase.enable

Whether to enable Keybase.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/keybase.nix>
services.lorri.enable

Whether to enable lorri build daemon.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/lorri.nix>
services.mbsync.enable

Whether to enable mbsync.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/mbsync.nix>
services.mbsync.package

The package to use for the mbsync binary.

Type: package

Default: pkgs.isync

Example:

pkgs.isync

Declared by:

<home-manager/modules/services/mbsync.nix>
services.mbsync.configFile

Optional configuration file to link to use instead of the default file (~/.mbsyncrc).

Type: null or path

Default: null

Declared by:

<home-manager/modules/services/mbsync.nix>
services.mbsync.frequency

How often to run mbsync. This value is passed to the systemd timer configuration as the onCalendar option. See systemd.time(7) for more information about the format.

Type: string

Default: "*:0/5"

Declared by:

<home-manager/modules/services/mbsync.nix>
services.mbsync.postExec

An optional command to run after mbsync executes successfully. This is useful for running mailbox indexing tools.

Type: null or string

Default: null

Example: "\${pkgs.mu}/bin/mu index"

Declared by:

<home-manager/modules/services/mbsync.nix>
services.mbsync.preExec

An optional command to run before mbsync executes. This is useful for creating the directories mbsync is going to use.

Type: null or string

Default: null

Example: "mkdir -p %h/mail"

Declared by:

<home-manager/modules/services/mbsync.nix>
services.mbsync.verbose

Whether mbsync should produce verbose output.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/mbsync.nix>
services.mpd.enable

Whether to enable MPD, the music player daemon.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/mpd.nix>
services.mpd.dataDir

The directory where MPD stores its state, tag cache, playlists etc.

Type: path

Default: "\$XDG_DATA_HOME/mpd"

Declared by:

<home-manager/modules/services/mpd.nix>
services.mpd.dbFile

The path to MPD's database. If set to null the parameter is omitted from the configuration.

Type: null or string

Default: "\${dataDir}/tag_cache"

Declared by:

<home-manager/modules/services/mpd.nix>
services.mpd.extraConfig

Extra directives added to to the end of MPD's configuration file, mpd.conf. Basic configuration like file location and uid/gid is added automatically to the beginning of the file. For available options see mpd.conf(5).

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/services/mpd.nix>
services.mpd.musicDirectory

The directory where mpd reads music from.

Type: path

Default: "\$HOME/music"

Declared by:

<home-manager/modules/services/mpd.nix>
services.mpd.network.listenAddress

The address for the daemon to listen on. Use any to listen on all addresses.

Type: string

Default: "127.0.0.1"

Example: "any"

Declared by:

<home-manager/modules/services/mpd.nix>
services.mpd.network.port

The TCP port on which the the daemon will listen.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: 6600

Declared by:

<home-manager/modules/services/mpd.nix>
services.mpd.playlistDirectory

The directory where mpd stores playlists.

Type: path

Default: "\${dataDir}/playlists"

Declared by:

<home-manager/modules/services/mpd.nix>
services.mpdris2.enable

Whether to enable mpDris2 the MPD to MPRIS2 bridge.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/mpdris2.nix>
services.mpdris2.package

The mpDris2 package to use.

Type: package

Default: pkgs.mpdris2

Declared by:

<home-manager/modules/services/mpdris2.nix>
services.mpdris2.mpd.host

The address where MPD is listening for connections.

Type: string

Default: "config.services.mpd.network.listenAddress"

Example: "192.168.1.1"

Declared by:

<home-manager/modules/services/mpdris2.nix>
services.mpdris2.mpd.musicDirectory

If set, mpDris2 will use this directory to access music artwork.

Type: null or path

Default: "config.services.mpd.musicDirectory"

Declared by:

<home-manager/modules/services/mpdris2.nix>
services.mpdris2.mpd.port

The port number where MPD is listening for connections.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: "config.services.mpd.network.port"

Declared by:

<home-manager/modules/services/mpdris2.nix>
services.mpdris2.multimediaKeys

Whether to enable multimedia key support.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/mpdris2.nix>
services.mpdris2.notifications

Whether to enable song change notifications.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/mpdris2.nix>
services.muchsync.remotes

Muchsync remotes to synchronise with.

Type: attribute set of submodules

Default: { }

Example:

{
  server = {
    frequency = "*:0/10";
    remote.host = "server.tld";
  };
}

Declared by:

<home-manager/modules/services/muchsync.nix>
services.muchsync.remotes.<name>.frequency

How often to run muchsync. This value is passed to the systemd timer configuration as the OnCalendar option. See systemd.time(7) for more information about the format.

Type: string

Default: "*:0/5"

Declared by:

<home-manager/modules/services/muchsync.nix>
services.muchsync.remotes.<name>.local.checkForModifiedFiles

Check for locally modified files. Without this option, muchsync assumes that files in a maildir are never edited.

checkForModifiedFiles disables certain optimizations so as to make muchsync at least check the timestamp on every file, which will detect modified files at the cost of a longer startup time.

This option is useful if your software regularly modifies the contents of mail files (e.g., because you are running offlineimap with "synclabels = yes").

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/muchsync.nix>
services.muchsync.remotes.<name>.local.importNew

Whether to begin the synchronisation by running notmuch new locally.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/muchsync.nix>
services.muchsync.remotes.<name>.remote.checkForModifiedFiles

Check for modified files on the remote side. Without this option, muchsync assumes that files in a maildir are never edited.

checkForModifiedFiles disables certain optimizations so as to make muchsync at least check the timestamp on every file, which will detect modified files at the cost of a longer startup time.

This option is useful if your software regularly modifies the contents of mail files (e.g., because you are running offlineimap with "synclabels = yes").

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/muchsync.nix>
services.muchsync.remotes.<name>.remote.host

Remote SSH host to synchronize with.

Type: string

Declared by:

<home-manager/modules/services/muchsync.nix>
services.muchsync.remotes.<name>.remote.importNew

Whether to begin the synchronisation by running notmuch new on the remote side.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/muchsync.nix>
services.muchsync.remotes.<name>.remote.muchsyncPath

Specifies the path to muchsync on the server. Ordinarily, muchsync should be in the default PATH on the server so this option is not required. However, this option is useful if you have to install muchsync in a non-standard place or wish to test development versions of the code.

Type: string

Default: "\$PATH/muchsync"

Declared by:

<home-manager/modules/services/muchsync.nix>
services.muchsync.remotes.<name>.sshCommand

Specifies a command line to pass to /bin/sh to execute a command on another machine.

Note that because this string is passed to the shell, special characters including spaces may need to be escaped.

Type: string

Default: "ssh -CTaxq"

Declared by:

<home-manager/modules/services/muchsync.nix>
services.muchsync.remotes.<name>.upload

Whether to propagate local changes to the remote.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/muchsync.nix>
services.network-manager-applet.enable

Whether to enable the Network Manager applet.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/network-manager-applet.nix>
services.nextcloud-client.enable

Whether to enable Nextcloud Client.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/nextcloud-client.nix>
services.owncloud-client.enable

Whether to enable Owncloud Client.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/owncloud-client.nix>
services.parcellite.enable

Whether to enable Parcellite.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/parcellite.nix>
services.pasystray.enable

Whether to enable PulseAudio system tray.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/pasystray.nix>
services.polybar.enable

Whether to enable Polybar status bar.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/polybar.nix>
services.polybar.package

Polybar package to install.

Type: package

Default: pkgs.polybar

Example:

pkgs.polybar.override {
  i3GapsSupport = true;
  alsaSupport = true;
  iwSupport = true;
  githubSupport = true;
}

Declared by:

<home-manager/modules/services/polybar.nix>
services.polybar.config

Polybar configuration. Can be either path to a file, or set of attributes that will be used to create the final configuration.

Type: attribute set of attribute set of string or boolean or signed integer or list of stringsss or path convertible to it

Default: { }

Example:

{
  "bar/top" = {
    monitor = "\${env:MONITOR:eDP1}";
    width = "100%";
    height = "3%";
    radius = 0;
    modules-center = "date";
  };

  "module/date" = {
    type = "internal/date";
    internal = 5;
    date = "%d.%m.%y";
    time = "%H:%M";
    label = "%time%  %date%";
  };
}

Declared by:

<home-manager/modules/services/polybar.nix>
services.polybar.extraConfig

Additional configuration to add.

Type: strings concatenated with "\n"

Default: ""

Example:

''
[module/date]
type = internal/date
interval = 5
date = "%d.%m.%y"
time = %H:%M
format-prefix-foreground = \''${colors.foreground-alt}
label = %time%  %date%
''

Declared by:

<home-manager/modules/services/polybar.nix>
services.polybar.script

This script will be used to start the polybars. Set all necessary environment variables here and start all bars. It can be assumed that polybar executable is in the PATH. Note, this script must start all bars in the background and then terminate.

Type: strings concatenated with "\n"

Example: "polybar bar &"

Declared by:

<home-manager/modules/services/polybar.nix>
services.random-background.enable

Whether to enable random desktop background.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/random-background.nix>
services.random-background.enableXinerama

Will place a separate image per screen when enabled, otherwise a single image will be stretched across all screens.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/random-background.nix>
services.random-background.display

Display background images according to this option.

Type: one of "center", "fill", "max", "scale", "tile"

Default: "fill"

Declared by:

<home-manager/modules/services/random-background.nix>
services.random-background.imageDirectory

The directory of images from which a background should be chosen. Should be formatted in a way understood by systemd, e.g., '%h' is the home directory.

Type: string

Example: "%h/backgrounds"

Declared by:

<home-manager/modules/services/random-background.nix>
services.random-background.interval

The duration between changing background image, set to null to only set background when logging in. Should be formatted as a duration understood by systemd.

Type: null or string

Default: null

Example: "1h"

Declared by:

<home-manager/modules/services/random-background.nix>
services.redshift.enable

Enable Redshift to change your screen's colour temperature depending on the time of day.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/redshift.nix>
services.redshift.package

redshift derivation to use.

Type: package

Default: pkgs.redshift

Declared by:

<home-manager/modules/services/redshift.nix>
services.redshift.brightness.day

Screen brightness to apply during the day, between 0.1 and 1.0.

Type: string

Default: "1"

Declared by:

<home-manager/modules/services/redshift.nix>
services.redshift.brightness.night

Screen brightness to apply during the night, between 0.1 and 1.0.

Type: string

Default: "1"

Declared by:

<home-manager/modules/services/redshift.nix>
services.redshift.extraOptions

Additional command-line arguments to pass to redshift.

Type: list of strings

Default: [ ]

Example: [ "-v" "-m randr" ]

Declared by:

<home-manager/modules/services/redshift.nix>
services.redshift.latitude

Your current latitude, between -90.0 and 90.0. Must be provided along with longitude.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/redshift.nix>
services.redshift.longitude

Your current longitude, between -180.0 and 180.0. Must be provided along with latitude.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/redshift.nix>
services.redshift.provider

The location provider to use for determining your location. If set to manual you must also provide latitude/longitude. If set to geoclue2, you must also enable the global geoclue2 service.

Type: one of "manual", "geoclue2"

Default: "manual"

Declared by:

<home-manager/modules/services/redshift.nix>
services.redshift.temperature.day

Colour temperature to use during the day, between 1000 and 25000 K.

Type: signed integer

Default: 5500

Declared by:

<home-manager/modules/services/redshift.nix>
services.redshift.temperature.night

Colour temperature to use at night, between 1000 and 25000 K.

Type: signed integer

Default: 3700

Declared by:

<home-manager/modules/services/redshift.nix>
services.redshift.tray

Start the redshift-gtk tray applet.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/redshift.nix>
services.rsibreak.enable

Whether to enable rsibreak.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/rsibreak.nix>
services.screen-locker.enable

Whether to enable screen locker for X session.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/screen-locker.nix>
services.screen-locker.inactiveInterval

Inactive time interval in minutes after which session will be locked. The minimum is 1 minute, and the maximum is 1 hour. See https://linux.die.net/man/1/xautolock.

Type: signed integer

Default: 10

Declared by:

<home-manager/modules/services/screen-locker.nix>
services.screen-locker.lockCmd

Locker command to run.

Type: string

Example: "\${pkgs.i3lock}/bin/i3lock -n -c 000000"

Declared by:

<home-manager/modules/services/screen-locker.nix>
services.screen-locker.xautolockExtraOptions

Extra command-line arguments to pass to xautolock.

Type: list of strings

Default: [ ]

Declared by:

<home-manager/modules/services/screen-locker.nix>
services.screen-locker.xssLockExtraOptions

Extra command-line arguments to pass to xss-lock.

Type: list of strings

Default: [ ]

Declared by:

<home-manager/modules/services/screen-locker.nix>
services.stalonetray.enable

Whether to enable Stalonetray system tray.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/stalonetray.nix>
services.stalonetray.package

The package to use for the Stalonetray binary.

Type: package

Default: pkgs.stalonetray

Example:

pkgs.stalonetray

Declared by:

<home-manager/modules/services/stalonetray.nix>
services.stalonetray.config

Stalonetray configuration as a set of attributes.

Type: attribute set of null or string or boolean or signed integers

Default: { }

Example: { background = "#cccccc"; decorations = null; geometry = "3x1-600+0"; icon_size = 30; sticky = true; }

Declared by:

<home-manager/modules/services/stalonetray.nix>
services.stalonetray.extraConfig

Additional configuration lines for stalonetrayrc.

Type: strings concatenated with "\n"

Default: ""

Example:

''
geometry 3x1-600+0
decorations none
icon_size 30
sticky true
background "#cccccc"
''

Declared by:

<home-manager/modules/services/stalonetray.nix>
services.status-notifier-watcher.enable

Whether to enable Status Notifier Watcher.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/status-notifier-watcher.nix>
services.status-notifier-watcher.package

The package to use for the status notifier watcher binary.

Type: package

Default: pkgs.haskellPackages.status-notifier-item

Example:

pkgs.haskellPackages.status-notifier-item

Declared by:

<home-manager/modules/services/status-notifier-watcher.nix>
services.sxhkd.enable

Whether to enable simple X hotkey daemon.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/sxhkd.nix>
services.sxhkd.extraConfig

Additional configuration to add.

Type: strings concatenated with "\n"

Default: ""

Example:

super + {_,shift +} {1-9,0}
  i3-msg {workspace,move container to workspace} {1-10}

Declared by:

<home-manager/modules/services/sxhkd.nix>
services.sxhkd.extraPath

Additional PATH entries to search for commands.

Type: strings concatenated with ":"

Default: ""

Example: "/home/some-user/bin:/extra/path/bin"

Declared by:

<home-manager/modules/services/sxhkd.nix>
services.sxhkd.keybindings

An attribute set that assigns hotkeys to commands.

Type: attribute set of null or strings

Default: { }

Example:

{
  "super + shift + {r,c}" = "i3-msg {restart,reload}";
  "super + {s,w}"         = "i3-msg {stacking,tabbed}";
}

Declared by:

<home-manager/modules/services/sxhkd.nix>
services.syncthing.enable

Whether to enable Syncthing continuous file synchronization.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/syncthing.nix>
services.syncthing.tray

Whether to enable QSyncthingTray service.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/syncthing.nix>
services.taffybar.enable

Whether to enable Taffybar.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/taffybar.nix>
services.taffybar.package

The package to use for the Taffybar binary.

Type: package

Default: pkgs.taffybar

Example:

pkgs.taffybar

Declared by:

<home-manager/modules/services/taffybar.nix>
services.tahoe-lafs.enable

Whether to enable Tahoe-LAFS.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/tahoe-lafs.nix>
services.taskwarrior-sync.enable

Whether to enable Taskwarrior periodic sync.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/taskwarrior-sync.nix>
services.taskwarrior-sync.frequency

How often to run taskwarrior sync. This value is passed to the systemd timer configuration as the OnCalendar option. See systemd.time(7) for more information about the format.

Type: string

Default: "*:0/5"

Declared by:

<home-manager/modules/services/taskwarrior-sync.nix>
services.udiskie.enable

Whether to enable udiskie mount daemon.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/udiskie.nix>
services.udiskie.automount

Whether to automatically mount new devices.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/udiskie.nix>
services.udiskie.notify

Whether to show pop-up notifications.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/udiskie.nix>
services.udiskie.tray

Whether to display tray icon.

The options are

always

Always show tray icon.

auto

Show tray icon only when there is a device available.

never

Never show tray icon.

Type: one of "always", "auto", "never"

Default: "auto"

Declared by:

<home-manager/modules/services/udiskie.nix>
services.unclutter.enable

Whether to enable unclutter.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/unclutter.nix>
services.unclutter.package

unclutter derivation to use.

Type: package

Default: pkgs.unclutter-xfixes

Declared by:

<home-manager/modules/services/unclutter.nix>
services.unclutter.extraOptions

More arguments to pass to the unclutter command.

Type: list of strings

Default: [ ]

Example: [ "exclude-root" "ignore-scrolling" ]

Declared by:

<home-manager/modules/services/unclutter.nix>
services.unclutter.threshold

Minimum number of pixels considered cursor movement.

Type: signed integer

Default: 1

Declared by:

<home-manager/modules/services/unclutter.nix>
services.unclutter.timeout

Number of seconds before the cursor is marked inactive.

Type: signed integer

Default: 1

Declared by:

<home-manager/modules/services/unclutter.nix>
services.xcape.enable

Whether to enable xcape.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/xcape.nix>
services.xcape.mapExpression

The value has the grammar Key[|OtherKey].

The list of key names is found in the header file X11/keysymdef.h (remove the XK_ prefix). Note that due to limitations of X11 shifted keys must be specified as a shift key followed by the key to be pressed rather than the actual name of the character. For example to generate "{" the expression Shift_L|bracketleft could be used (assuming that you have a key with "{" above "[").

You can also specify keys in decimal (prefix #), octal (#0), or hexadecimal (#0x). They will be interpreted as keycodes unless no corresponding key name is found.

Type: attribute set of strings

Default: { }

Example: { Control_L = "Control_L|O"; Shift_L = "Escape"; }

Declared by:

<home-manager/modules/services/xcape.nix>
services.xcape.timeout

If you hold a key longer than this timeout, xcape will not generate a key event. Default is 500 ms.

Type: null or signed integer

Default: null

Example: 500

Declared by:

<home-manager/modules/services/xcape.nix>
services.xembed-sni-proxy.enable

Whether to enable XEmbed SNI Proxy.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/xembed-sni-proxy.nix>
services.xembed-sni-proxy.package

Package containing the xembedsniproxy program.

Type: package

Default: pkgs.plasma-workspace

Declared by:

<home-manager/modules/services/xembed-sni-proxy.nix>
services.xscreensaver.enable

Whether to enable XScreenSaver.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/xscreensaver.nix>
services.xscreensaver.settings

The settings to use for XScreenSaver.

Type: attribute set of boolean or signed integer or strings

Default: { }

Example: { fadeTicks = 20; lock = false; mode = "blank"; }

Declared by:

<home-manager/modules/services/xscreensaver.nix>
services.xsuspender.enable

Whether to enable XSuspender.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.debug

Whether to enable debug output.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.defaults

XSuspender defaults.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.defaults.autoSuspendOnBattery

Whether to auto-apply rules when switching to battery power even if the window(s) didn't just lose focus.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.defaults.downclockOnBattery

Limit CPU consumption for this factor when on battery power. Value 1 means 50% decrease, 2 means 66%, 3 means 75% etc.

Type: signed integer

Default: 0

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.defaults.execResume

Before resuming, execute this shell script. Resume the process regardless script failure.

Type: null or string

Default: null

Example: "echo resuming ..."

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.defaults.execSuspend

Before suspending, execute this shell script. If it fails, abort suspension.

Type: null or string

Default: null

Example: ''echo "suspending window $XID of process $PID"''

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.defaults.matchWmClassContains

Match windows that wm class contains string.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.defaults.matchWmClassGroupContains

Match windows where wm class group contains string.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.defaults.matchWmNameContains

Match windows where wm name contains string.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.defaults.onlyOnBattery

Whether to enable process suspend only on battery.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.defaults.resumeEvery

Resume interval in seconds.

Type: signed integer

Default: 50

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.defaults.resumeFor

Resume duration in seconds.

Type: signed integer

Default: 5

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.defaults.sendSignals

Whether to send SIGSTOP / SIGCONT signals or not. If false just the exec scripts are run.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.defaults.suspendDelay

Initial suspend delay in seconds.

Type: signed integer

Default: 5

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.defaults.suspendSubtreePattern

Also suspend descendant processes that match this regex.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.rules

Attribute set of XSuspender rules.

Type: attribute set of submodules

Default: { }

Example: { Chromium = { matchWmClassContains = "chromium-browser"; suspendDelay = 10; suspendSubtreePattern = "chromium"; } ; }

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.rules.<name>.autoSuspendOnBattery

Whether to auto-apply rules when switching to battery power even if the window(s) didn't just lose focus.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.rules.<name>.downclockOnBattery

Limit CPU consumption for this factor when on battery power. Value 1 means 50% decrease, 2 means 66%, 3 means 75% etc.

Type: signed integer

Default: 0

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.rules.<name>.execResume

Before resuming, execute this shell script. Resume the process regardless script failure.

Type: null or string

Default: null

Example: "echo resuming ..."

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.rules.<name>.execSuspend

Before suspending, execute this shell script. If it fails, abort suspension.

Type: null or string

Default: null

Example: ''echo "suspending window $XID of process $PID"''

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.rules.<name>.matchWmClassContains

Match windows that wm class contains string.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.rules.<name>.matchWmClassGroupContains

Match windows where wm class group contains string.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.rules.<name>.matchWmNameContains

Match windows where wm name contains string.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.rules.<name>.onlyOnBattery

Whether to enable process suspend only on battery.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.rules.<name>.resumeEvery

Resume interval in seconds.

Type: signed integer

Default: 50

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.rules.<name>.resumeFor

Resume duration in seconds.

Type: signed integer

Default: 5

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.rules.<name>.sendSignals

Whether to send SIGSTOP / SIGCONT signals or not. If false just the exec scripts are run.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.rules.<name>.suspendDelay

Initial suspend delay in seconds.

Type: signed integer

Default: 5

Declared by:

<home-manager/modules/services/xsuspender.nix>
services.xsuspender.rules.<name>.suspendSubtreePattern

Also suspend descendant processes that match this regex.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/xsuspender.nix>
systemd.user.paths

Definition of systemd per-user path units. Attributes are merged recursively.

Note that the attributes follow the capitalization and naming used by systemd. More details can be found in systemd.path(5).

Type: systemd path unit configuration

Default: { }

Example:

{
  path-name = {
    Unit = {
      Description = "Example description";
      Documentation = [ "man:example(1)" "man:example(5)" ];
    };

    Path = {
      …
    };
  }
};

Declared by:

<home-manager/modules/systemd.nix>
systemd.user.services

Definition of systemd per-user service units. Attributes are merged recursively.

Note that the attributes follow the capitalization and naming used by systemd. More details can be found in systemd.service(5).

Type: systemd service unit configuration

Default: { }

Example:

{
  service-name = {
    Unit = {
      Description = "Example description";
      Documentation = [ "man:example(1)" "man:example(5)" ];
    };

    Service = {
      …
    };
  }
};

Declared by:

<home-manager/modules/systemd.nix>
systemd.user.servicesStartTimeoutMs

How long to wait for started services to fail until their start is considered successful.

Type: signed integer

Default: 0

Declared by:

<home-manager/modules/systemd.nix>
systemd.user.sessionVariables

Environment variables that will be set for the user session. The variable values must be as described in environment.d(5).

Type: attribute set of signed integer or strings

Default: { }

Example: { EDITOR = "vim"; }

Declared by:

<home-manager/modules/systemd.nix>
systemd.user.sockets

Definition of systemd per-user socket units. Attributes are merged recursively.

Note that the attributes follow the capitalization and naming used by systemd. More details can be found in systemd.socket(5).

Type: systemd socket unit configuration

Default: { }

Example:

{
  socket-name = {
    Unit = {
      Description = "Example description";
      Documentation = [ "man:example(1)" "man:example(5)" ];
    };

    Socket = {
      …
    };
  }
};

Declared by:

<home-manager/modules/systemd.nix>
systemd.user.startServices

Start all services that are wanted by active targets. Additionally, stop obsolete services from the previous generation.

Type: boolean

Default: false

Declared by:

<home-manager/modules/systemd.nix>
systemd.user.systemctlPath

Absolute path to the systemctl tool. This option may need to be set if running Home Manager on a non-NixOS distribution.

Type: string

Default: "\${pkgs.systemd}/bin/systemctl"

Declared by:

<home-manager/modules/systemd.nix>
systemd.user.targets

Definition of systemd per-user target units. Attributes are merged recursively.

Note that the attributes follow the capitalization and naming used by systemd. More details can be found in systemd.target(5).

Type: systemd target unit configuration

Default: { }

Example:

{
  target-name = {
    Unit = {
      Description = "Example description";
      Documentation = [ "man:example(1)" "man:example(5)" ];
    };

    Target = {
      …
    };
  }
};

Declared by:

<home-manager/modules/systemd.nix>
systemd.user.timers

Definition of systemd per-user timer units. Attributes are merged recursively.

Note that the attributes follow the capitalization and naming used by systemd. More details can be found in systemd.timer(5).

Type: systemd timer unit configuration

Default: { }

Example:

{
  timer-name = {
    Unit = {
      Description = "Example description";
      Documentation = [ "man:example(1)" "man:example(5)" ];
    };

    Timer = {
      …
    };
  }
};

Declared by:

<home-manager/modules/systemd.nix>
xdg.enable

Whether to enable management of XDG base directories.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.cacheHome

Absolute path to directory holding application caches.

Type: path

Default: "~/.cache"

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.configFile

Attribute set of files to link into the user's XDG configuration home.

Type: list or attribute set of submodules

Default: { }

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.configFile.<name?>.executable

Set the execute bit. If null, defaults to the mode of the source file or to false for files created through the text option.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.configFile.<name?>.onChange

Shell commands to run when file has changed between generations. The script will be run after the new files have been linked into place.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.configFile.<name?>.recursive

If the file source is a directory, then this option determines whether the directory should be recursively linked to the target location. This option has no effect if the source is a file.

If false (the default) then the target will be a symbolic link to the source directory. If true then the target will be a directory structure matching the source's but whose leafs are symbolic links to the files of the source directory.

Type: boolean

Default: false

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.configFile.<name?>.source

Path of the source file. The file name must not start with a period since Nix will not allow such names in the Nix store.

This may refer to a directory.

Type: path

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.configFile.<name?>.target

Path to target file relative to xdg.configHome.

Type: string

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.configFile.<name?>.text

Text of the file.

Type: null or strings concatenated with "\n"

Default: null

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.configHome

Absolute path to directory holding application configurations.

Type: path

Default: "~/.config"

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.dataFile

Attribute set of files to link into the user's XDG data home.

Type: list or attribute set of submodules

Default: { }

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.dataFile.<name?>.executable

Set the execute bit. If null, defaults to the mode of the source file or to false for files created through the text option.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.dataFile.<name?>.onChange

Shell commands to run when file has changed between generations. The script will be run after the new files have been linked into place.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.dataFile.<name?>.recursive

If the file source is a directory, then this option determines whether the directory should be recursively linked to the target location. This option has no effect if the source is a file.

If false (the default) then the target will be a symbolic link to the source directory. If true then the target will be a directory structure matching the source's but whose leafs are symbolic links to the files of the source directory.

Type: boolean

Default: false

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.dataFile.<name?>.source

Path of the source file. The file name must not start with a period since Nix will not allow such names in the Nix store.

This may refer to a directory.

Type: path

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.dataFile.<name?>.target

Path to target file relative to xdg.dataHome.

Type: string

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.dataFile.<name?>.text

Text of the file.

Type: null or strings concatenated with "\n"

Default: null

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.dataHome

Absolute path to directory holding application data.

Type: path

Default: "~/.local/share"

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.mimeApps.enable

Whether to manage $XDG_CONFIG_HOME/mimeapps.list.

The generated file is read-only.

Type: boolean

Default: false

Declared by:

<home-manager/modules/misc/xdg-mime-apps.nix>
xdg.mimeApps.associations.added

Defines additional associations of applications with mimetypes, as if the .desktop file was listing this mimetype in the first place.

Type: attribute set of list of strings or list of strings or string convertible to its

Default: { }

Example:

{
  "mimetype1" = [ "foo1.desktop" "foo2.desktop" "foo3.desktop" ];
  "mimetype2" = "foo4.desktop";
}

Declared by:

<home-manager/modules/misc/xdg-mime-apps.nix>
xdg.mimeApps.associations.removed

Removes associations of applications with mimetypes, as if the .desktop file was not listing this mimetype in the first place.

Type: attribute set of list of strings or list of strings or string convertible to its

Default: { }

Example: { mimetype1 = "foo5.desktop"; }

Declared by:

<home-manager/modules/misc/xdg-mime-apps.nix>
xdg.mimeApps.defaultApplications

The default application to be used for a given mimetype. This is, for instance, the one that will be started when double-clicking on a file in a file manager. If the application is no longer installed, the next application in the list is attempted, and so on.

Type: attribute set of list of strings or list of strings or string convertible to its

Default: { }

Example:

{
  "mimetype1" = [ "default1.desktop" "default2.desktop" ];
}

Declared by:

<home-manager/modules/misc/xdg-mime-apps.nix>
xdg.userDirs.enable

Whether to manage $XDG_CONFIG_HOME/user-dirs.dirs.

The generated file is read-only.

Type: boolean

Default: false

Declared by:

<home-manager/modules/misc/xdg-user-dirs.nix>
xdg.userDirs.desktop

The Desktop directory.

Type: string

Default: "\$HOME/Desktop"

Declared by:

<home-manager/modules/misc/xdg-user-dirs.nix>
xdg.userDirs.documents

The Documents directory.

Type: string

Default: "\$HOME/Documents"

Declared by:

<home-manager/modules/misc/xdg-user-dirs.nix>
xdg.userDirs.download

The Downloads directory.

Type: string

Default: "\$HOME/Downloads"

Declared by:

<home-manager/modules/misc/xdg-user-dirs.nix>
xdg.userDirs.extraConfig

Other user directories.

Type: attribute set of strings

Default: { }

Example: { XDG_MISC_DIR = "\$HOME/Misc"; }

Declared by:

<home-manager/modules/misc/xdg-user-dirs.nix>
xdg.userDirs.music

The Music directory.

Type: string

Default: "\$HOME/Music"

Declared by:

<home-manager/modules/misc/xdg-user-dirs.nix>
xdg.userDirs.pictures

The Pictures directory.

Type: string

Default: "\$HOME/Pictures"

Declared by:

<home-manager/modules/misc/xdg-user-dirs.nix>
xdg.userDirs.publishShare

The Public share directory.

Type: string

Default: "\$HOME/Public"

Declared by:

<home-manager/modules/misc/xdg-user-dirs.nix>
xdg.userDirs.templates

The Templates directory.

Type: string

Default: "\$HOME/Templates"

Declared by:

<home-manager/modules/misc/xdg-user-dirs.nix>
xdg.userDirs.videos

The Videos directory.

Type: string

Default: "\$HOME/Videos"

Declared by:

<home-manager/modules/misc/xdg-user-dirs.nix>
xresources.extraConfig

Additional X server resources contents. If this and all other xresources options are null, then this feature is disabled and no ~/.Xresources link is produced.

Type: strings concatenated with "\n"

Default: ""

Example:

builtins.readFile (
    pkgs.fetchFromGitHub {
        owner = "solarized";
        repo = "xresources";
        rev = "025ceddbddf55f2eb4ab40b05889148aab9699fc";
        sha256 = "0lxv37gmh38y9d3l8nbnsm1mskcv10g3i83j0kac0a2qmypv1k9f";
    } + "/Xresources.dark"
)

Declared by:

<home-manager/modules/xresources.nix>
xresources.properties

X server resources that should be set. Booleans are formatted as "true" or "false" respectively. List elements are recursively formatted as a string and joined by commas. All other values are directly formatted using builtins.toString. Note, that 2-dimensional lists are not supported and specifying one will throw an exception. If this and all other xresources options are null, then this feature is disabled and no ~/.Xresources link is produced.

Type: null or attribute set

Default: null

Example: { Emacs*toolBar = 0; XTerm*charClass = [ "37:48" "45-47:48" "58:48" "64:48" "126:48" ] ; XTerm*faceName = "dejavu sans mono"; }

Declared by:

<home-manager/modules/xresources.nix>
xsession.enable

Whether to enable X Session.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/xsession.nix>
xsession.initExtra

Extra shell commands to run during initialization.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/xsession.nix>
xsession.numlock.enable

Whether to enable Num Lock.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/misc/numlock.nix>
xsession.pointerCursor

The X cursor theme and settings. The package xorg.xcursorthemes contains cursors named whiteglass, redglass, and handhelds. The package vanilla-dmz contains cursors named Vanilla-DMZ and Vanilla-DMZ-AA. Note: handhelds does not seem to work at custom sizes.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/xcursor.nix>
xsession.pointerCursor.package

Package providing the cursor theme.

Type: package

Example:

pkgs.vanilla-dmz

Declared by:

<home-manager/modules/xcursor.nix>
xsession.pointerCursor.defaultCursor

The default cursor file to use within the package.

Type: string

Default: "left_ptr"

Example: "X_cursor"

Declared by:

<home-manager/modules/xcursor.nix>
xsession.pointerCursor.name

The cursor name within the package.

Type: string

Example: "Vanilla-DMZ"

Declared by:

<home-manager/modules/xcursor.nix>
xsession.pointerCursor.size

The cursor size.

Type: signed integer

Default: 32

Example: 64

Declared by:

<home-manager/modules/xcursor.nix>
xsession.preferStatusNotifierItems

Whether tray applets should prefer using the Status Notifier Items (SNI) protocol, commonly called App Indicators. Note, not all tray applets or status bars support SNI.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/xsession.nix>
xsession.profileExtra

Extra shell commands to run before session start.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/xsession.nix>
xsession.scriptPath

Path, relative HOME, where Home Manager should write the X session script.

Type: string

Default: ".xsession"

Example: ".xsession-hm"

Declared by:

<home-manager/modules/xsession.nix>
xsession.windowManager.awesome.enable

Whether to enable Awesome window manager..

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/window-managers/awesome.nix>
xsession.windowManager.awesome.package

Package to use for running the Awesome WM.

Type: package

Default: pkgs.awesome

Declared by:

<home-manager/modules/services/window-managers/awesome.nix>
xsession.windowManager.awesome.luaModules

List of lua packages available for being used in the Awesome configuration.

Type: list of packages

Default: [ ]

Example:

[ luaPackages.oocairo ]

Declared by:

<home-manager/modules/services/window-managers/awesome.nix>
xsession.windowManager.awesome.noArgb

Disable client transparency support, which can be greatly detrimental to performance in some setups

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/window-managers/awesome.nix>
xsession.windowManager.command

Window manager start command.

Type: string

Example:

let
  xmonad = pkgs.xmonad-with-packages.override {
    packages = self: [ self.xmonad-contrib self.taffybar ];
  };
in
  "${xmonad}/bin/xmonad";

Declared by:

<home-manager/modules/xsession.nix>
xsession.windowManager.i3.enable

Whether to enable i3 window manager..

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.package

i3 package to use. If 'i3.config.gaps' settings are specified, 'pkgs.i3-gaps' will be set as a default package.

Type: package

Default: pkgs.i3

Example:

pkgs.i3-gaps

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config

i3 configuration options.

Type: null or submodule

Default: { }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.assigns

An attribute set that assigns applications to workspaces based on criteria.

Type: attribute set of list of attribute set of stringsss

Default: { }

Example:

{
  "1: web" = [{ class = "^Firefox$"; }];
  "0: extra" = [{ class = "^Firefox$"; window_role = "About"; }];
}

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars

i3 bars settings blocks. Set to empty list to remove bars completely.

Type: list of submodules

Default: [ { } ]

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.colors

Bar color settings. All color classes can be specified using submodules with 'border', 'background', 'text', fields and RGB color hex-codes as values. See default values for the reference. Note that 'background', 'status', and 'separator' parameters take a single RGB value. See https://i3wm.org/docs/userguide.html#_colors.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.activeWorkspace

Border, background and text color for a workspace button when the workspace is active.

Type: submodule

Default: { background = "#5f676a"; border = "#333333"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.background

Background color of the bar.

Type: string

Default: "#000000"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.bindingMode

Border, background and text color for the binding mode indicator

Type: submodule

Default: { background = "#900000"; border = "#2f343a"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.focusedWorkspace

Border, background and text color for a workspace button when the workspace has focus.

Type: submodule

Default: { background = "#285577"; border = "#4c7899"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.inactiveWorkspace

Border, background and text color for a workspace button when the workspace does not have focus and is not active.

Type: submodule

Default: { background = "#222222"; border = "#333333"; text = "#888888"; }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.separator

Text color to be used for the separator.

Type: string

Default: "#666666"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.statusline

Text color to be used for the statusline.

Type: string

Default: "#ffffff"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.urgentWorkspace

Border, background and text color for a workspace button when the workspace contains a window with the urgency hint set.

Type: submodule

Default: { background = "#900000"; border = "#2f343a"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.command

Command that will be used to start a bar.

Type: string

Default: "i3bar"

Example: "\${pkgs.i3-gaps}/bin/i3bar -t"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.extraConfig

Extra configuration lines for this bar.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.fonts

Font list used for window titles. Only FreeType fonts are supported. The order here is improtant (e.g. icons font should go before the one used for text).

Type: list of strings

Default: [ "monospace 8" ]

Example: [ "FontAwesome 10" "Terminus 10" ]

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.hiddenState

The default bar mode when 'bar.mode' == 'hide'.

Type: one of "hide", "show"

Default: "hide"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.id

Specifies the bar ID for the configured bar instance. If this option is missing, the ID is set to bar-x, where x corresponds to the position of the embedding bar block in the config file.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.mode

Bar visibility mode.

Type: one of "dock", "hide", "invisible"

Default: "dock"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.position

The edge of the screen i3bar should show up.

Type: one of "top", "bottom"

Default: "bottom"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.statusCommand

Command that will be used to get status lines.

Type: string

Default: "\${pkgs.i3status}/bin/i3status"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.trayOutput

Where to output tray.

Type: string

Default: "primary"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.workspaceButtons

Whether workspace buttons should be shown or not.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.bars.*.workspaceNumbers

Whether workspace numbers should be displayed within the workspace buttons.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.colors

Color settings. All color classes can be specified using submodules with 'border', 'background', 'text', 'indicator' and 'childBorder' fields and RGB color hex-codes as values. See default values for the reference. Note that 'i3.config.colors.background' parameter takes a single RGB value. See https://i3wm.org/docs/userguide.html#_changing_colors.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.colors.background

Background color of the window. Only applications which do not cover the whole area expose the color.

Type: string

Default: "#ffffff"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.colors.focused

A window which currently has the focus.

Type: submodule

Default: { background = "#285577"; border = "#4c7899"; childBorder = "#285577"; indicator = "#2e9ef4"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.colors.focusedInactive

A window which is the focused one of its container, but it does not have the focus at the moment.

Type: submodule

Default: { background = "#5f676a"; border = "#333333"; childBorder = "#5f676a"; indicator = "#484e50"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.colors.placeholder

Background and text color are used to draw placeholder window contents (when restoring layouts). Border and indicator are ignored.

Type: submodule

Default: { background = "#0c0c0c"; border = "#000000"; childBorder = "#0c0c0c"; indicator = "#000000"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.colors.unfocused

A window which is not focused.

Type: submodule

Default: { background = "#222222"; border = "#333333"; childBorder = "#222222"; indicator = "#292d2e"; text = "#888888"; }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.colors.urgent

A window which has its urgency hint activated.

Type: submodule

Default: { background = "#900000"; border = "#2f343a"; childBorder = "#900000"; indicator = "#900000"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.floating

Floating window settings.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.floating.border

Floating windows border width.

Type: signed integer

Default: 2

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.floating.criteria

List of criteria for windows that should be opened in a floating mode.

Type: list of attribute set of stringss

Default: [ ]

Example: [ { title = "Steam - Update News"; } { class = "Pavucontrol"; } ]

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.floating.modifier

Modifier key that can be used to drag floating windows.

Type: one of "Shift", "Control", "Mod1", "Mod2", "Mod3", "Mod4", "Mod5"

Default: "i3.config.modifier"

Example: "Mod4"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.floating.titlebar

Whether to show floating window titlebars.

Type: boolean

Default: "xsession.windowManager.i3.package != nixpkgs.i3-gaps (titlebar should be disabled for i3-gaps)"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.focus

Focus related settings.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.focus.followMouse

Whether focus should follow the mouse.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.focus.forceWrapping

Whether to force focus wrapping in tabbed or stacked container. See https://i3wm.org/docs/userguide.html#_focus_wrapping

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.focus.mouseWarping

Whether mouse cursor should be warped to the center of the window when switching focus to a window on a different output.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.focus.newWindow

This option modifies focus behavior on new window activation. See https://i3wm.org/docs/userguide.html#focus_on_window_activation

Type: one of "smart", "urgent", "focus", "none"

Default: "smart"

Example: "none"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.fonts

Font list used for window titles. Only FreeType fonts are supported. The order here is improtant (e.g. icons font should go before the one used for text).

Type: list of strings

Default: [ "monospace 8" ]

Example: [ "FontAwesome 10" "Terminus 10" ]

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.gaps

i3gaps related settings. Note that i3-gaps package should be set for this options to take effect.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.gaps.inner

Inner gaps value.

Type: null or signed integer

Default: null

Example: 12

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.gaps.outer

Outer gaps value.

Type: null or signed integer

Default: null

Example: 5

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.gaps.smartBorders

This option controls whether to disable container borders on workspace with a single container.

Type: one of "on", "off", "no_gaps"

Default: "off"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.gaps.smartGaps

This option controls whether to disable all gaps (outer and inner) on workspace with a single container.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.keybindings

An attribute set that assigns a key press to an action using a key symbol. See https://i3wm.org/docs/userguide.html#keybindings.

Consider to use lib.mkOptionDefault function to extend or override default keybindings instead of specifying all of them from scratch.

Type: attribute set of null or strings

Default: "Default i3 keybindings."

Example:

let
  modifier = xsession.windowManager.i3.config.modifier;
in

lib.mkOptionDefault {
  "${modifier}+Return" = "exec i3-sensible-terminal";
  "${modifier}+Shift+q" = "kill";
  "${modifier}+d" = "exec \${pkgs.dmenu}/bin/dmenu_run";
}

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.keycodebindings

An attribute set that assigns keypress to an action using key code. See https://i3wm.org/docs/userguide.html#keybindings.

Type: attribute set of null or strings

Default: { }

Example: { 214 = "exec --no-startup-id /bin/script.sh"; }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.modes

An attribute set that defines binding modes and keybindings inside them Only basic keybinding is supported (bindsym keycomb action), for more advanced setup use 'i3.extraConfig'.

Type: attribute set of attribute set of stringss

Default: { resize = { Down = "resize grow height 10 px or 10 ppt"; Escape = "mode default"; Left = "resize shrink width 10 px or 10 ppt"; Return = "mode default"; Right = "resize grow width 10 px or 10 ppt"; Up = "resize shrink height 10 px or 10 ppt"; } ; }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.modifier

Modifier key that is used for all default keybindings.

Type: one of "Shift", "Control", "Mod1", "Mod2", "Mod3", "Mod4", "Mod5"

Default: "Mod1"

Example: "Mod4"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.startup

Commands that should be executed at startup. See https://i3wm.org/docs/userguide.html#_automatically_starting_applications_on_i3_startup.

Type: list of submodules

Default: [ ]

Example:

[
  { command = "systemctl --user restart polybar"; always = true; notification = false; }
  { command = "dropbox start"; notification = false; }
  { command = "firefox"; workspace = "1: web"; }
];

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.startup.*.always

Whether to run command on each i3 restart.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.startup.*.command

Command that will be executed on startup.

Type: string

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.startup.*.notification

Whether to enable startup-notification support for the command. See --no-startup-id option description in the i3 user guide.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.startup.*.workspace

Launch application on a particular workspace. DEPRECATED: Use xsession.windowManager.i3.config.assigns instead. See https://github.com/rycee/home-manager/issues/265.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.window

Window titlebar and border settings.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.window.border

Window border width.

Type: signed integer

Default: 2

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.window.commands

List of commands that should be executed on specific windows. See for_window i3wm option documentation.

Type: list of submodules

Default: [ ]

Example: [ { command = "border pixel 1"; criteria = { class = "XTerm"; } ; } ]

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.window.commands.*.command

i3wm command to execute.

Type: string

Example: "border pixel 1"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.window.commands.*.criteria

Criteria of the windows on which command should be executed.

Type: attribute set of strings

Example: { title = "x200: ~/work"; }

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.window.hideEdgeBorders

Hide window borders adjacent to the screen edges.

Type: one of "none", "vertical", "horizontal", "both", "smart"

Default: "none"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.window.titlebar

Whether to show window titlebars.

Type: boolean

Default: "xsession.windowManager.i3.package != nixpkgs.i3-gaps (titlebar should be disabled for i3-gaps)"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.workspaceAutoBackAndForth

Assume you are on workspace "1: www" and switch to "2: IM" using mod+2 because somebody sent you a message. You don’t need to remember where you came from now, you can just press $mod+2 again to switch back to "1: www".

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.config.workspaceLayout

The mode in which new containers on workspace level will start.

Type: one of "default", "stacked", "tabbed"

Default: "default"

Example: "tabbed"

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.i3.extraConfig

Extra configuration lines to add to ~/.config/i3/config.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/services/window-managers/i3.nix>
xsession.windowManager.xmonad.enable

Whether to enable xmonad window manager.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/window-managers/xmonad.nix>
xsession.windowManager.xmonad.enableContribAndExtras

Enable xmonad-{contrib,extras} in xmonad.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/window-managers/xmonad.nix>
xsession.windowManager.xmonad.config

The configuration file to be used for xmonad. This must be an absolute path or null in which case ~/.xmonad/xmonad.hs will not be managed by Home Manager.

Type: null or path

Default: null

Example:

pkgs.writeText "xmonad.hs" ''
  import XMonad
  main = xmonad defaultConfig
      { terminal    = "urxvt"
      , modMask     = mod4Mask
      , borderWidth = 3
      }
''

Declared by:

<home-manager/modules/services/window-managers/xmonad.nix>
xsession.windowManager.xmonad.extraPackages

Extra packages available to GHC when rebuilding xmonad. The value must be a function which receives the attribute set defined in haskellPackages as the sole argument.

Type: unspecified

Default: "self: []"

Example:

haskellPackages: [
  haskellPackages.xmonad-contrib
  haskellPackages.monad-logger
]

Declared by:

<home-manager/modules/services/window-managers/xmonad.nix>
xsession.windowManager.xmonad.haskellPackages

The haskellPackages used to build xmonad and other packages. This can be used to change the GHC version used to build xmonad and the packages listed in extraPackages.

Type: unspecified

Default: pkgs.haskellPackages

Example:

pkgs.haskell.packages.ghc784

Declared by:

<home-manager/modules/services/window-managers/xmonad.nix>