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/programs/offlineimap.nix>
<home-manager/modules/programs/notmuch.nix>
<home-manager/modules/programs/neomutt.nix>
<home-manager/modules/programs/mu.nix>
<home-manager/modules/programs/msmtp.nix>
<home-manager/modules/programs/mbsync.nix>
<home-manager/modules/programs/lieer.nix>
<home-manager/modules/programs/himalaya.nix>
<home-manager/modules/programs/getmail.nix>
<home-manager/modules/programs/astroid.nix>
<home-manager/modules/programs/alot.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/programs/alot.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/programs/alot.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/programs/alot.nix>
accounts.email.accounts.<name>.astroid.enable

Whether to enable Astroid.

Type: boolean

Default: false

Example: true

Declared by:

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

Extra settings to add to this astroid account configuration.

Type: attribute set of anythings

Default: { }

Example: { select_query = ""; }

Declared by:

<home-manager/modules/programs/astroid.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/programs/astroid.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", "fastmail.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/programs/getmail.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/programs/getmail.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/programs/getmail.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/programs/getmail.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/programs/getmail.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>.himalaya.enable

Whether to enable the himalaya mail client for this account .

Type: boolean

Default: false

Example: true

Declared by:

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

Extra settings to add to this himalaya account configuration.

Type: TOML value

Default: { }

Example:

{
  default-page-size = 50;
}

Declared by:

<home-manager/modules/programs/himalaya.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: null or 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.extraConfig

Additional configuration to add for this account.

Type: attribute set of boolean or signed integer or strings

Default: { }

Example: { wait = 10; }

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

Whether to enable lieer Gmail synchronization for notmuch.

Type: boolean

Default: false

Example: true

Declared by:

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

Warn if Notmuch is not also enabled for this account.

This can safely be disabled if notmuch init has been used to configure this account outside of Home Manager.

Type: boolean

Default: true

Declared by:

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

Settings which are applied to .gmailieer.json for the account.

See the lieer manual for documentation of settings not explicitly covered by this module.

Type: JSON value

Default: { }

Declared by:

<home-manager/modules/programs/lieer.nix>
accounts.email.accounts.<name>.lieer.settings.drop_non_existing_label

Allow missing labels on the Gmail side to be dropped.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/lieer.nix>
accounts.email.accounts.<name>.lieer.settings.file_extension

Extension to include in local file names, which can be useful for indexing with third-party programs.

Type: string

Default: ""

Example: "mbox"

Declared by:

<home-manager/modules/programs/lieer.nix>
accounts.email.accounts.<name>.lieer.settings.ignore_empty_history

Work around a Gmail API quirk where an empty change history is sometimes returned.

See this GitHub issue for more details.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/lieer.nix>
accounts.email.accounts.<name>.lieer.settings.ignore_remote_labels

Set Gmail labels to ignore when syncing from remote labels to local tags (before translations).

Type: list of strings

Default: [ "CATEGORY_FORUMS" "CATEGORY_PROMOTIONS" "CATEGORY_UPDATES" "CATEGORY_SOCIAL" "CATEGORY_PERSONAL" ]

Declared by:

<home-manager/modules/programs/lieer.nix>
accounts.email.accounts.<name>.lieer.settings.ignore_tags

Set labels to ignore when syncing from local tags to remote labels (after translations).

Type: list of strings

Default: [ ]

Declared by:

<home-manager/modules/programs/lieer.nix>
accounts.email.accounts.<name>.lieer.settings.local_trash_tag

Local tag to which the remote Gmail 'TRASH' label is translated.

Type: string

Default: "trash"

Declared by:

<home-manager/modules/programs/lieer.nix>
accounts.email.accounts.<name>.lieer.settings.remove_local_messages

Remove local messages that have been deleted on the remote.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/lieer.nix>
accounts.email.accounts.<name>.lieer.settings.replace_slash_with_dot

Replace '/' with '.' in Gmail labels.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/lieer.nix>
accounts.email.accounts.<name>.lieer.settings.timeout

HTTP timeout in seconds. 0 means forever or system timeout.

Type: unsigned integer, meaning >=0

Default: 600

Declared by:

<home-manager/modules/programs/lieer.nix>
accounts.email.accounts.<name>.lieer.sync.enable

Whether to enable lieer synchronization service.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/lieer.nix>
accounts.email.accounts.<name>.lieer.sync.frequency

How often to synchronize the account.

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/programs/lieer.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/programs/mbsync.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/programs/mbsync.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/programs/mbsync.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/programs/mbsync.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/programs/mbsync.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/programs/mbsync.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/programs/mbsync.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/programs/mbsync.nix>
accounts.email.accounts.<name>.mbsync.groups

Some email providers (Gmail) have a different directory hierarchy for synchronized email messages. Namely, when using mbsync without specifying a set of channels into a group, all synchronized directories end up beneath the [Gmail]/ directory.

This option allows you to specify a group, and subsequently channels that will allow you to sync your mail into an arbitrary hierarchy.

Type: attribute set of submodules

Default: { }

Declared by:

<home-manager/modules/programs/mbsync.nix>
accounts.email.accounts.<name>.mbsync.groups.<name>.channels

List of channels that should be grouped together into this group. When performing a synchronization, the groups are synchronized, rather than the individual channels.

Using these channels and then grouping them together allows for you to define the maildir hierarchy as you see fit.

Type: attribute set of submodules

Default: { }

Declared by:

<home-manager/modules/programs/mbsync.nix>
accounts.email.accounts.<name>.mbsync.groups.<name>.channels.<name>.extraConfig

Extra configuration lines to add to THIS channel's configuration.

Type: attribute set of string or signed integer or booleans

Default: { }

Example:

{
  Create = "both";
  CopyArrivalDate = "yes";
  MaxMessages = 10000;
  MaxSize = "1m";
}

Declared by:

<home-manager/modules/programs/mbsync.nix>
accounts.email.accounts.<name>.mbsync.groups.<name>.channels.<name>.farPattern

IMAP4 patterns for which mailboxes on the remote mail server to sync. If Patterns are specified, farPattern is interpreted as a prefix which is not matched against the patterns, and is not affected by mailbox list overrides.

If this is left as the default, then mbsync will default to the pattern INBOX.

Type: string

Default: ""

Example: "[Gmail]/Sent Mail"

Declared by:

<home-manager/modules/programs/mbsync.nix>
accounts.email.accounts.<name>.mbsync.groups.<name>.channels.<name>.name

The unique name for THIS channel in THIS group. The group will refer to this channel by this name.

In addition, you can manually sync just this channel by specifying this name to mbsync on the command line.

Type: string (read only)

Default: "‹name›"

Declared by:

<home-manager/modules/programs/mbsync.nix>
accounts.email.accounts.<name>.mbsync.groups.<name>.channels.<name>.nearPattern

Name for where mail coming from the remote (far) mail server will end up locally. The mailbox specified by the far pattern will be placed in this directory.

If this is left as the default, then mbsync will default to the pattern INBOX.

Type: string

Default: ""

Example: "Sent"

Declared by:

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

Instead of synchronizing just the mailboxes that match the farPattern, use it as a prefix which is not matched against the patterns, and is not affected by mailbox list overrides.

Type: list of strings

Default: [ ]

Example: [ "INBOX" ]

Declared by:

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

The name of this group for this account. These names are different than some others, because they will hide channel names that are the same.

Type: string (read only)

Default: "‹name›"

Declared by:

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

Pattern of mailboxes to synchronize.

Type: list of strings

Default: [ "*" ]

Declared by:

<home-manager/modules/programs/mbsync.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/programs/mbsync.nix>
accounts.email.accounts.<name>.mbsync.subFolders

The on-disk folder naming style. This option has no effect when flatten is used.

Type: one of "Verbatim", "Maildir++", "Legacy"

Default: "Verbatim"

Example: "Maildir++"

Declared by:

<home-manager/modules/programs/mbsync.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/programs/msmtp.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/programs/msmtp.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/programs/msmtp.nix>
accounts.email.accounts.<name>.mu.enable

Whether to enable mu indexing.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/mu.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>.neomutt.enable

Whether to enable NeoMutt.

Type: boolean

Default: false

Example: true

Declared by:

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

Extra lines to add to the folder hook for this account.

Type: strings concatenated with "\n"

Default: ""

Example: "color status cyan default"

Declared by:

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

List of extra mailboxes

Type: list of string or submodules

Default: [ ]

Declared by:

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

Use a different name as mailbox name

Type: null or string

Default: null

Example: "==== <mailbox-name> ==="

Declared by:

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

Command to send a mail. If not set, neomutt will be in charge of sending mails.

Type: null or string

Default:

if config.msmtp.enable then
  "msmtpq --read-envelope-from --read-recipients"
else
  null

Example: "msmtpq --read-envelope-from --read-recipients"

Declared by:

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

Whether to enable notmuch indexing.

Type: boolean

Default: false

Example: true

Declared by:

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

Whether to enable OfflineIMAP.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/offlineimap.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/programs/offlineimap.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/programs/offlineimap.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/programs/offlineimap.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/programs/offlineimap.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: null or 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: null or 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 GVariant valuess

Default: { }

Example:

{
  "org/gnome/calculator" = {
    button-mode = "programming";
    show-thousands = true;
    base = 10;
    word-size = 64;
    window-position = lib.hm.gvariant.mkTuple [100 100];
  };
}

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 of the font within the package.

Type: string

Example: "DejaVu Sans"

Declared by:

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

The size of the font.

Type: null or signed integer

Default: null

Example: "8"

Declared by:

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

The location to put the GTK configuration file.

Type: path

Default: "${config.home.homeDirectory}/.gtkrc-2.0"

Example: "${config.xdg.configHome}/gtk-2.0/gtkrc"

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.bookmarks

Bookmarks in the sidebar of the GTK file browser

Type: list of strings

Default: [ ]

Example: [ "file:///home/jane/Documents" ]

Declared by:

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

Extra configuration options to add to $XDG_CONFIG_HOME/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 $XDG_CONFIG_HOME/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.gnome.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.gnome.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.enableDebugInfo

Some Nix-packages provide debug symbols for gdb in the debug-output. This option ensures that those are automatically fetched from the binary cache if available and gdb is configured to find those symbols.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/misc/debug.nix>
home.enableNixpkgsReleaseCheck

Determines whether to check for release version mismatch between Home Manager and Nixpkgs. Using mismatched versions is likely to cause errors and unexpected behavior. It is therefore highly recommended to use a release of Home Manager than corresponds with your chosen release of Nixpkgs.

When this option is enabled and a mismatch is detected then a warning will be printed when the user configuration is being built.

Type: boolean

Default: false

Declared by:

<home-manager/modules/home-environment.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.activation

The activation scripts blocks to run when activating a Home Manager generation. Any entry here should be idempotent, meaning running twice or more times produces the same result as running it once.

If the script block produces any observable side effect, such as writing or deleting files, then it must be placed after the special writeBoundary script block. Prior to the write boundary one can place script blocks that verifies, but does not modify, the state of the system and exits if an unexpected state is found. For example, the checkLinkTargets script block checks for collisions between non-managed files and files defined in home.file.

A script block should respect the DRY_RUN variable, if it is set then the actions taken by the script should be logged to standard out and not actually performed. The variable DRY_RUN_CMD is set to echo if dry run is enabled.

A script block should also respect the VERBOSE variable, and if set print information on standard out that may be useful for debugging any issue that may arise. The variable VERBOSE_ARG is set to --verbose if verbose output is enabled.

Type: DAG of strings

Default: { }

Example:

{
  myActivationAction = lib.hm.dag.entryAfter ["writeBoundary"] ''
    $DRY_RUN_CMD ln -s $VERBOSE_ARG \
        ${builtins.toPath ./link-me-directly} $HOME
  '';
}

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: 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.

Note, this code is always run when recursive is enabled.

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 or directory. If home.file.<name?>.text is non-null then this option will automatically point to a file containing that text.

Type: path

Declared by:

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

Path to target file relative to HOME.

Type: string

Default: <name>

Declared by:

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

Text of the file. If this option is null then home.file.<name?>.source must be set.

Type: null or strings concatenated with "\n"

Default: null

Declared by:

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

The user's home directory. Must be an absolute path.

Type: path

Default:

"$HOME"   for state version < 20.09,
undefined for state version ≥ 20.09

Example: "/home/jane.doe"

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:

"{ }"  for state version < 21.11,
"null" for state version ≥ 21.11

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.collate

The language to use for collation (alphabetical ordering).

Type: null or string

Default: null

Declared by:

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

Character classification category.

Type: null or string

Default: null

Declared by:

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

The language to use for measurement values.

Type: null or string

Default: null

Declared by:

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

The language to use for messages, application UI languages, etc.

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.name

The language to use for personal names.

Type: null or string

Default: null

Declared by:

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

The language to use for numerical values.

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.telephone

The language to use for telephone numbers.

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.profileDirectory

The profile directory where Home Manager generations are installed.

Type: path (read only)

Default:

"${home.homeDirectory}/.nix-profile"  or
"/etc/profiles/per-user/${home.username}"

Declared by:

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

Extra directories to add to PATH.

These directories are added to the PATH variable in a double-quoted context, so expressions like $HOME are expanded by the shell. However, since expressions like ~ or * are escaped, they will end up in the PATH verbatim.

Type: list of strings

Default: [ ]

Example: [ "$HOME/.local/bin" "\${xdg.configHome}/emacs/bin" ".git/safe/../../bin" ]

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.shellAliases

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

This option should only be used to manage simple aliases that are compatible across all shells. If you need to use a shell specific feature then make sure to use a shell specific option, for example programs.bash.shellAliases for Bash.

Type: attribute set of strings

Default: { }

Example:

{
  g = "git";
  "..." = "cd ../..";
}

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", "20.09", "21.03", "21.05", "21.11", "22.05"

Default: "18.09"

Declared by:

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

The user's username.

Type: string

Default:

"$USER"   for state version < 20.09,
undefined for state version ≥ 20.09

Example: "jane.doe"

Declared by:

<home-manager/modules/home-environment.nix>
i18n.inputMethod.enabled

Select the enabled input method. Input methods is a software to input symbols that are not available on standard input devices.

Input methods are specially used to input Chinese, Japanese and Korean characters.

Currently the following input methods are available in Home Manager:

fcitx

A customizable lightweight input method extra input engines can be added using i18n.inputMethod.fcitx.engines.

fcitx5

The next generation of fcitx, addons (including engines, dictionaries, skins) can be added using i18n.inputMethod.fcitx5.addons.

nabi

A Korean input method based on XIM. Nabi doesn't support Qt 5.

uim

The universal input method, is a library with a XIM bridge. uim mainly support Chinese, Japanese and Korean.

hime

An extremely easy-to-use input method framework.

kime

A Korean IME.

Type: null or one of "fcitx", "fcitx5", "nabi", "uim", "hime", "kime"

Default: null

Example: "fcitx"

Declared by:

<home-manager/modules/i18n/input-method/default.nix>
i18n.inputMethod.fcitx.engines

Enabled Fcitx engines. Available engines are: anthy, chewing, cloudpinyin, hangul, libpinyin, m17n, mozc, rime, skk, table-extra, table-other, unikey.

Type: list of packages

Default: [ ]

Example: with pkgs.fcitx-engines; [ mozc hangul ]

Declared by:

<home-manager/modules/i18n/input-method/fcitx.nix>
i18n.inputMethod.fcitx5.addons

Enabled Fcitx5 addons.

Type: list of packages

Default: [ ]

Example: with pkgs; [ fcitx5-rime ]

Declared by:

<home-manager/modules/i18n/input-method/fcitx5.nix>
i18n.inputMethod.kime.config

kime configuration. Refer to https://github.com/Riey/kime/blob/develop/docs/CONFIGURATION.md for details on supported values.

Type: YAML value

Default: { }

Example:

{
  daemon = {
    modules = ["Xim" "Indicator"];
  };

  indicator = {
    icon_color = "White";
  };

  engine = {
    hangul = {
      layout = "dubeolsik";
    };
  };
}

Declared by:

<home-manager/modules/i18n/input-method/kime.nix>
i18n.inputMethod.uim.toolbar

Selected UIM toolbar.

Type: one of "gtk", "gtk3", "gtk-systray", "gtk3-systray", "qt4"

Default: "gtk"

Example: "gtk-systray"

Declared by:

<home-manager/modules/i18n/input-method/uim.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).

Note, this option will become deprecated in the future and its use is therefore discouraged.

Type: attribute set

Default: { }

Example: { EDITOR = "vim"; }

Declared by:

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

Whether to enable Abook.

Type: boolean

Default: false

Example: true

Declared by:

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

Extra lines added to $HOME/.config/abook/abookrc. Available configuration options are described in the abook repository: https://sourceforge.net/p/abook/git/ci/master/tree/sample.abookrc.

Type: strings concatenated with "\n"

Default: ""

Example:

''
field pager = Pager
view CONTACT = name, email
set autosave=true
''

Declared by:

<home-manager/modules/programs/abook.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.package

The Alacritty package to install.

Type: package

Default: pkgs.alacritty

Declared by:

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

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

Type: YAML value

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: ""

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.alot.settings

Configuration options added to alot configuration file.

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

Default: { auto_remove_unread = true; handle_mouse = true; initial_command = "search tag:inbox AND NOT tag:killed"; prefer_plaintext = true; }

Example:

{
  auto_remove_unread = true;
  ask_subject = false;
  thread_indent_replies = 2;
}

Declared by:

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

How to display the tags.

Type: attribute set of submodules

Default: { }

Declared by:

<home-manager/modules/programs/alot.nix>
programs.alot.tags.<name>.focus

How to display the tag when focused.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/alot.nix>
programs.alot.tags.<name>.normal

How to display the tag when unfocused. See https://alot.readthedocs.io/en/latest/configuration/theming.html#tagstring-formatting.

Type: null or string

Default: null

Example: "'','', 'white','light red', 'white','#d66'"

Declared by:

<home-manager/modules/programs/alot.nix>
programs.alot.tags.<name>.translated

Fixed string representation for this tag. The tag can be hidden from view, if the key translated is set to "", the empty string.

Type: null or string

Declared by:

<home-manager/modules/programs/alot.nix>
programs.alot.tags.<name>.translation

A pair of strings that define a regular substitution to compute the string representation on the fly using re.sub.

Type: null or string

Default: null

Declared by:

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

Whether to enable aria2.

Type: boolean

Default: false

Example: true

Declared by:

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

Extra lines added to aria2.conf file.

Type: strings concatenated with "\n"

Default: ""

Declared by:

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

Options to add to aria2.conf file. See aria2c(1) for options.

Type: attribute set of boolean or floating point number or signed integer or strings

Default: { }

Example:

{
  listen-port = 60000;
  dht-listen-port = 60000;
  seed-ratio = 1.0;
  max-upload-limit = "50K";
  ftp-pasv = true;
}

Declared by:

<home-manager/modules/programs/aria2.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: JSON value

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

Whether to enable atuin.

Type: boolean

Default: false

Example: true

Declared by:

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

Whether to enable Atuin's Bash integration. This will bind ctrl-r to open the Atuin history.

Type: boolean

Default: true

Declared by:

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

Whether to enable Atuin's Zsh integration.

If enabled, this will bind ctrl-r and the up-arrow key to open the Atuin history.

Type: boolean

Default: true

Example: true

Declared by:

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

The package to use for atuin.

Type: package

Default: pkgs.atuin

Declared by:

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

Configuration written to $XDG_CONFIG_HOME/atuin/config.toml.

See https://github.com/ellie/atuin/blob/main/docs/config.md for the full list of options.

Type: Atuin configuration

Default: { }

Example:

{
  auto_sync = true;
  sync_frequency = "5m";
  sync_address = "https://api.atuin.sh";
  search_mode = "prefix";
}

Declared by:

<home-manager/modules/programs/atuin.nix>
programs.autojump.enable

Whether to enable autojump.

Type: boolean

Default: false

Example: true

Declared by:

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

Whether to enable Bash integration.

Type: boolean

Default: true

Declared by:

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

Whether to enable Fish integration.

Type: boolean

Default: true

Declared by:

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

Whether to enable Zsh integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/autojump.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;
        crtc = 0;
        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>.crtc

Output video display controller.

Type: null or unsigned integer, meaning >=0

Default: null

Example: 0

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.enableVteIntegration

Whether to enable integration with terminals using the VTE library. This will let the terminal track the current working directory.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/misc/vte.nix>
programs.bash.bashrcExtra

Extra commands that should be placed in ~/.bashrc. Note that these commands will be run even in non-interactive shells.

Type: strings concatenated with "\n"

Default: ""

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: null or string

Default: null

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:

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

Declared by:

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

Shell options to set. Prefix an option with - to unset.

Type: list of strings

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

Example: [ "extglob" "-cdspell" ]

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 string or list of stringss

Default: { }

Example: { map-syntax = [ "*.jenkinsfile:Groovy" "*.props:Java Properties" ] ; pager = "less -FR"; theme = "TwoDark"; }

Declared by:

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

Additional themes to provide.

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

Default: { }

Example:

{
  dracula = builtins.readFile (pkgs.fetchFromGitHub {
    owner = "dracula";
    repo = "sublime"; # Bat uses sublime syntax for its themes
    rev = "26c57ec282abcaa76e57e055f38432bd827ac34e";
    sha256 = "019hfl4zbn4vm4154hh3bwk6hm7bdxbr1hdww83nabxwjn99ndhv";
  } + "/Dracula.tmTheme");
}

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.package

The beets package to use. Can be used to specify extensions.

Type: package

Default: pkgs.beets

Example: (pkgs.beets.override { enableCheck = true; })

Declared by:

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

Configuration written to $XDG_CONFIG_HOME/beets/config.yaml

Type: YAML value

Default: { }

Declared by:

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

Whether to enable bottom, a cross-platform graphical process/system monitor with a customizable interface.

Type: boolean

Default: false

Example: true

Declared by:

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

Package providing bottom.

Type: package

Default: pkgs.bottom

Declared by:

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

Configuration written to $XDG_CONFIG_HOME/bottom/bottom.toml on Linux or $HOME/Library/Application Support/bottom/bottom.toml on Darwin.

See https://github.com/ClementTsang/bottom/blob/master/sample_configs/default_config.toml for the default configuration.

Type: TOML value

Default: { }

Example:

{
  flags = {
    avg_cpu = true;
    temperature_type = "c";
  };

  colors = {
    low_battery_color = "red";
  };
}

Declared by:

<home-manager/modules/programs/bottom.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.package

Package providing broot

Type: package

Default: pkgs.broot

Declared by:

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

Whether to enable modal (vim) mode.

Type: boolean

Default: false

Example: 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. For more information, see https://dystroy.org/broot/documentation/configuration/#verb-definition-attributes.

The possible attributes are:

invocation (optional)

how the verb is called by the user, with placeholders for arguments

execution (mandatory)

how the verb is executed

key (optional)

a keyboard key triggering execution

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: list of attribute set of boolean or stringss

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

Example:

[
  { invocation = "p"; execution = ":parent"; }
  { invocation = "edit"; shortcut = "e"; execution = "$EDITOR {file}" ; }
  { invocation = "create {subpath}"; execution = "$EDITOR {directory}/{subpath}"; }
  { invocation = "view"; execution = "less {file}"; }
  {
    invocation = "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.

To install extensions outside of the Chrome Web Store set updateUrl or crxPath and version as explained in the Chrome documentation.

Type: list of submodule or string convertible to its

Default: [ ]

Example:

[
  { id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # ublock origin
  {
    id = "dcpihecpambacapedldabdbpakmachpb";
    updateUrl = "https://raw.githubusercontent.com/iamadamdev/bypass-paywalls-chrome/master/updates.xml";
  }
  {
    id = "aaaaaaaaaabbbbbbbbbbcccccccccc";
    crxPath = "/home/share/extension.crx";
    version = "1.0";
  }
]

Declared by:

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

Path to the extension's crx file. Linux only.

Type: null or path

Default: null

Declared by:

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

The extension's ID from the Chome Web Store url or the unpacked crx.

Type: string matching the pattern [a-zA-Z]{32}

Default: ""

Declared by:

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

URL of the extension's update manifest XML file. Linux only.

Type: string

Default: "https://clients2.google.com/service/update2/crx"

Declared by:

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

The extension's version, required for local installation. Linux only.

Type: null or string

Default: null

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

Whether to manage .dir_colors and set LS_COLORS.

Type: boolean

Default: false

Declared by:

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

Whether to enable Bash integration.

Type: boolean

Default: true

Declared by:

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

Whether to enable Fish integration.

Type: boolean

Default: true

Declared by:

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

Whether to enable Zsh integration.

Type: boolean

Default: true

Declared by:

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

Extra lines added to .dir_colors file.

Type: strings concatenated with "\n"

Default: ""

Declared by:

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

Options to add to .dir_colors file. See dircolors --print-database for options.

Type: attribute set of strings

Default: { }

Example:

{
  OTHER_WRITABLE = "30;46";
  ".sh" = "01;32";
  ".csh" = "01;32";
}

Declared by:

<home-manager/modules/programs/dircolors.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. Note, enabling the direnv module will always active its functionality for Fish since the direnv package automatically gets loaded in Fish.

Type: boolean (read only)

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 $XDG_CONFIG_HOME/direnv/config.toml.

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

Type: TOML value

Default: { }

Declared by:

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

Whether to enable nix-direnv, a fast, persistent use_nix implementation for direnv.

Type: boolean

Default: false

Example: true

Declared by:

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

Custom stdlib written to $XDG_CONFIG_HOME/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.package

The Eclipse package to install.

Type: package

Default: pkgs.eclipses.eclipse-platform

Example: pkgs.eclipses.eclipse-java

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.extraConfig

Configuration to include in the Emacs default init file. See https://www.gnu.org/software/emacs/manual/html_node/elisp/Init-File.html for more.

Type: strings concatenated with "\n"

Default: ""

Example:

''
(setq standard-indent 2)
''

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

Whether to enable exa, a modern replacement for ls.

Type: boolean

Default: false

Example: true

Declared by:

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

Whether to enable recommended exa aliases.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/exa.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.buttons

Override feh's default mouse button mapping. If you want to disable an action, set its value to null. If you want to bind multiple buttons to an action, set its value to a list. See https://man.finalrewind.org/1/feh/#x425554544f4e53 for default bindings and available commands.

Type: attribute set of null or string or signed integer or list of string or signed integerss

Default: { }

Example: { prev_img = [ 3 "C-3" ] ; zoom_in = 4; zoom_out = "C-4"; }

Declared by:

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

Override feh's default keybindings. If you want to disable a keybinding set its value to null. If you want to bind multiple keys to an action, set its value to a list. See https://man.finalrewind.org/1/feh/#x4b455953 for default bindings and available commands.

Type: attribute set of null or string or list of stringss

Default: { }

Example: { prev_img = [ "h" "Left" ] ; 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.enableGnomeExtensions

Whether to enable the GNOME Shell native host connector. Note, you also need to set the NixOS option services.gnome3.chrome-gnome-shell.enable to true.

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

Example:

pkgs.firefox.override {
  # See nixpkgs' firefox/wrapper.nix to check which options you can use
  cfg = {
    # Gnome shell native connector
    enableGnomeExtensions = true;
    # Tridactyl native connector
    enableTridactylNative = true;
  };
}

Declared by:

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

List of Firefox add-on packages to install. Some pre-packaged add-ons are accessible from NUR, https://github.com/nix-community/NUR. Once you have NUR installed run

  $ nix-env -f '<nixpkgs>' -qaP -A nur.repos.rycee.firefox-addons

to list the available Firefox add-ons.

Note that it is necessary to manually enable these extensions inside Firefox after the first installation.

Extensions listed here will only be available in Firefox profiles managed through the programs.firefox.profiles option. This is due to recent changes in the way Firefox handles extension side-loading.

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>.bookmarks

Preloaded bookmarks. Note, this may silently overwrite any previously existing bookmarks!

Type: attribute set of submodules

Default: { }

Example:

{
  wikipedia = {
    keyword = "wiki";
    url = "https://en.wikipedia.org/wiki/Special:Search?search=%s&go=Go";
  };
  "kernel.org" = {
    url = "https://www.kernel.org";
  };
}

Declared by:

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

Bookmark search keyword.

Type: null or string

Default: null

Declared by:

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

Bookmark name.

Type: string

Default: "‹name›"

Declared by:

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

Bookmark url, use %s for search terms.

Type: string

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 user chrome 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.firefox.profiles.<name>.userContent

Custom Firefox user content CSS.

Type: strings concatenated with "\n"

Default: ""

Example:

''
/* Hide scrollbar in FF Quantum */
*{scrollbar-width:none !important}
''

Declared by:

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

Whether to enable fish, the 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.functions

Basic functions to add to fish. For more information see https://fishshell.com/docs/current/cmds/function.html.

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

Default: { }

Example:

{
  __fish_command_not_found_handler = {
    body = "__fish_default_command_not_found_handler $argv[1]";
    onEvent = "fish_command_not_found";
  };

  gitignore = "curl -sL https://www.gitignore.io/api/$argv";
}

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.plugins

The plugins to source in conf.d/99plugins.fish.

Type: list of submodules

Default: [ ]

Example:

[
  {
    name = "z";
    src = pkgs.fetchFromGitHub {
      owner = "jethrokuan";
      repo = "z";
      rev = "ddeb28a7b6a1f0ec6dae40c636e5ca4908ad160a";
      sha256 = "0c5i7sdrsp0q3vbziqzdyqn4fmp235ax4mn4zslrswvn8g3fvdyh";
    };
  }

  # oh-my-fish plugins are stored in their own repositories, which
  # makes them simple to import into home-manager.
  {
    name = "fasd";
    src = pkgs.fetchFromGitHub {
      owner = "oh-my-fish";
      repo = "plugin-fasd";
      rev = "38a5b6b6011106092009549e52249c6d6f501fba";
      sha256 = "06v37hqy5yrv5a6ssd1p3cjd9y3hnp19d3ab7dag56fs1qmgyhbs";
    };
  }
]

Declared by:

<home-manager/modules/programs/fish.nix>
programs.fish.plugins.*.name

The name of the plugin.

Type: string

Declared by:

<home-manager/modules/programs/fish.nix>
programs.fish.plugins.*.src

Path to the plugin folder.

Relevant pieces will be added to the fish function path and the completion path. The init.fish and key_binding.fish files are sourced if they exist.

Type: path

Declared by:

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

An attribute set that maps aliases (the top level attribute names in this option) to abbreviations. Abbreviations are expanded with the longer phrase after they are entered.

Type: attribute set of strings

Default: { }

Example: { gco = "git checkout"; l = "less"; }

Declared by:

<home-manager/modules/programs/fish.nix>
programs.fish.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:

{
  g = "git";
  "..." = "cd ../..";
}

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

Whether to enable Foot terminal.

Type: boolean

Default: false

Example: true

Declared by:

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

The foot package to install

Type: package

Default: pkgs.foot

Declared by:

<home-manager/modules/programs/foot.nix>
programs.foot.server.enable

Whether to enable Foot terminal server.

Type: boolean

Default: false

Example: true

Declared by:

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

Configuration written to $XDG_CONFIG_HOME/foot/foot.ini. See https://codeberg.org/dnkl/foot/src/branch/master/foot.ini for a list of available options.

Type: attribute set of attribute set of INI atom (null, bool, int, float or string)ss

Default: { }

Example:

{
  main = {
    term = "xterm-256color";

    font = "Fira Code:size=11";
    dpi-aware = "yes";
  };

  mouse = {
    hide-when-typing = "yes";
  };
}

Declared by:

<home-manager/modules/programs/foot.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.enableFishIntegration

Whether to enable Fish 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.package

Package providing the fzf tool.

Type: package

Default: pkgs.fzf

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.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.fzf.tmux.enableShellIntegration

Whether to enable setting FZF_TMUX=1 which causes shell integration to use fzf-tmux .

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/fzf.nix>
programs.fzf.tmux.shellIntegrationOptions

If programs.fzf.tmux.enableShellIntegration is set to true, shell integration will use these options for fzf-tmux. See fzf-tmux --help for available options.

Type: list of strings

Default: [ ]

Example: [ "-d 40%" ]

Declared by:

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

Whether to enable GitHub CLI tool.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/gh.nix>
programs.gh.enableGitCredentialHelper

Whether to enable the gh git credential helper for github.com.

Type: boolean

Default: true

Example: true

Declared by:

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

Package providing gh.

Type: package

Default: pkgs.gh

Declared by:

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

Configuration written to $XDG_CONFIG_HOME/gh/config.yml.

Type: YAML value

Default: { }

Example:

{
  git_protocol = "ssh";

  prompt = "enabled";

  aliases = {
    co = "pr checkout";
    pv = "pr view";
  };
};

Declared by:

<home-manager/modules/programs/gh.nix>
programs.gh.settings.aliases

Aliases that allow you to create nicknames for gh commands.

Type: attribute set of strings

Default: { }

Example:

{
  co = "pr checkout";
  pv = "pr view";
}

Declared by:

<home-manager/modules/programs/gh.nix>
programs.gh.settings.editor

The editor that gh should run when creating issues, pull requests, etc. If blank, will refer to environment.

Type: string

Default: ""

Declared by:

<home-manager/modules/programs/gh.nix>
programs.gh.settings.git_protocol

The protocol to use when performing Git operations.

Type: string

Default: "https"

Example: "ssh"

Declared by:

<home-manager/modules/programs/gh.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.delta.enable

Whether to enable the delta syntax highlighter. See https://github.com/dandavison/delta.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/git.nix>
programs.git.delta.options

Options to configure delta.

Type: attribute set of string or boolean or signed integer or attribute set of string or boolean or signed integerss

Default: { }

Example: { decorations = { commit-decoration-style = "bold yellow box ul"; file-decoration-style = "none"; file-style = "bold yellow ul"; } ; features = "decorations"; whitespace-error-style = "22 reverse"; }

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. This follows the configuration structure as described in git-config(1).

Type: attribute set of anythings

Default: { }

Example:

{
  user = {
    email = "bob@work.example.com";
    name = "Bob Work";
    signingKey = "1A2B3C4D5E6F7G8H";
  };
  commit = {
    gpgSign = true;
  };
};

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.

Set to null to let GnuPG decide what signing key to use depending on commit’s author.

Type: null or 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>.audibleBell

Turn on/off the terminal's bell.

Type: boolean

Default: true

Declared by:

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

Which string the terminal should send to an application when the user presses the Backspace key.

auto

Attempt to determine the right value from the terminal's IO settings.

ascii-backspace

Send an ASCII backspace character (0x08).

ascii-delete

Send an ASCII delete character (0x7F).

delete-sequence

Send the @7 control sequence.

tty

Send terminal’s erase setting.

Type: one of "auto", "ascii-backspace", "ascii-delete", "delete-sequence", "tty"

Default: "ascii-delete"

Declared by:

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

Whether bold text is shown in bright colors.

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>.cursorBlinkMode

The cursor blink mode.

Type: one of "system", "on", "off"

Default: "system"

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>.customCommand

The command to use to start the shell, or null for default shell.

Type: null or string

Default: null

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>.deleteBinding

Which string the terminal should send to an application when the user presses the Delete key.

auto

Send the @7 control sequence.

ascii-backspace

Send an ASCII backspace character (0x08).

ascii-delete

Send an ASCII delete character (0x7F).

delete-sequence

Send the @7 control sequence.

tty

Send terminal’s erase setting.

Type: one of "auto", "ascii-backspace", "ascii-delete", "delete-sequence", "tty"

Default: "delete-sequence"

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>.loginShell

Run command as a login shell.

Type: boolean

Default: false

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>.transparencyPercent

Background transparency in percent.

Type: null or integer between 0 and 100 (both inclusive)

Default: null

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", "system"

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.extraGoPaths

Extra GOPATHs relative to HOME appended after programs.go.goPath, if that option is set.

Type: list of strings

Default: [ ]

Example: [ "extraGoPath1" "extraGoPath2" ]

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

Primary GOPATH relative to HOME. It will be exported first and therefore used by default by the Go tooling.

Type: null or string

Default: null

Example: "go"

Declared by:

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

The GOPRIVATE environment variable controls which modules the go command considers to be private (not available publicly) and should therefore not use the proxy or checksum database.

Type: list of strings

Default: [ ]

Example: [ "*.corp.example.com" "rsc.io/private" ]

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.package

The Gnupg package to use (also used the gpg-agent service).

Type: package

Default: pkgs.gnupg

Example: pkgs.gnupg23

Declared by:

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

Directory to store keychains and configuration.

Type: path

Default: "${config.home.homeDirectory}/.gnupg"

Example: "${config.xdg.dataHome}/gnupg"

Declared by:

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

If set to true, you may manage your keyring as a user using the gpg command. Upon activation, the keyring will have managed keys added without overwriting unmanaged keys.

If set to false, the path $GNUPGHOME/pubring.kbx will become an immutable link to the Nix store, denying modifications.

Type: boolean

Default: true

Declared by:

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

If set to true, you may manage trust as a user using the gpg command. Upon activation, trusted keys have their trust set without overwriting unmanaged keys.

If set to false, the path $GNUPGHOME/trustdb.gpg will be overwritten on each activation, removing trust for any unmanaged keys. Be careful to make a backup of your old trustdb.gpg before switching to immutable trust!

Type: boolean

Default: true

Declared by:

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

A list of public keys to be imported into GnuPG. Note, these key files will be copied into the world-readable Nix store.

Type: list of submodules

Default: [ ]

Example:

[ { source = ./pubkeys.txt; } ]

Declared by:

<home-manager/modules/programs/gpg.nix>
programs.gpg.publicKeys.*.source

Path of an OpenPGP public key file.

Type: path

Declared by:

<home-manager/modules/programs/gpg.nix>
programs.gpg.publicKeys.*.text

Text of an OpenPGP public key.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/gpg.nix>
programs.gpg.publicKeys.*.trust

The amount of trust you have in the key ownership and the care the owner puts into signing other keys. The available levels are

unknown or 1

I don't know or won't say.

never or 2

I do NOT trust.

marginal or 3

I trust marginally.

full or 4

I trust fully.

ultimate or 5

I trust ultimately.

See https://www.gnupg.org/gph/en/manual/x334.html for more.

Type: null or one of "unknown", 1, "never", 2, "marginal", 3, "full", 4, "ultimate", 5

Default: null

Declared by:

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

SCdaemon configuration options. Available options are described in the gpg scdaemon manpage: https://www.gnupg.org/documentation/manuals/gnupg/Scdaemon-Options.html.

Type: attribute set of string or boolean or list of stringss

Example:

{
  disable-ccid = 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.

Note that lists are converted to duplicate keys.

Type: attribute set of string or boolean or list of stringss

Example:

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

Declared by:

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

Whether to enable HexChat, a graphical IRC client.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels

Configures $XDG_CONFIG_HOME/hexchat/servlist.conf.

Type: attribute set of submodules

Default: { }

Example:

{
  freenode = {
    autojoin = [
      "#home-manager"
      "#linux"
      "#nixos"
    ];
    charset = "UTF-8 (Unicode)";
    commands = [
      "ECHO Buzz Lightyear sent you a message: 'To Infinity... and Beyond!'"
    ];
    loginMethod = sasl;
    nickname = "my_nickname";
    nickname2 = "my_secondchoice";
    options = {
      acceptInvalidSSLCertificates = false;
      autoconnect = true;
      bypassProxy = true;
      connectToSelectedServerOnly = true;
      useGlobalUserInformation = false;
      forceSSL = false;
    };
    password = "my_password";
    realName = "my_realname";
    servers = [
      "chat.freenode.net"
      "irc.freenode.net"
    ];
    userName = "my_username";
  };
}

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.autojoin

Channels list to autojoin on connecting to server.

Type: list of strings

Default: [ ]

Example: [ "#home-manager" "#linux" "#nix" ]

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.charset

Character set.

Type: null or string

Default: null

Example: "UTF-8 (Unicode)"

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.commands

Commands to be executed on connecting to server.

Type: list of strings

Default: [ ]

Example: [ "ECHO Greetings fellow Nixer! ]

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.loginMethod

The login method. The allowed options are:

null

Default

"nickServMsg"

NickServ (/MSG NickServ + password)

"nickServ"

NickServ (/NICKSERV + password)

"challengeAuth"

Challenge Auth (username + password)

"sasl"

SASL (username + password)

"serverPassword"

Server password (/PASS password)

"saslExternal"

SASL EXTERNAL (cert)

"customCommands"

Use "commands" field for auth. For example

commands = [ "/msg NickServ IDENTIFY my_password" ]

Type: null or one of "challengeAuth", "customCommands", "nickServ", "nickServMsg", "sasl", "saslExternal", "serverPassword"

Default: null

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.nickname

Primary nickname.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.nickname2

Secondary nickname.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.options

Channel options.

Type: null or submodule

Default: null

Example: { autoconnect = true; useGlobalUserInformation = true; }

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.options.acceptInvalidSSLCertificates

Accept invalid SSL certificates.

Type: null or boolean

Default: false

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.options.autoconnect

Autoconnect to network.

Type: null or boolean

Default: false

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.options.bypassProxy

Bypass proxy.

Type: null or boolean

Default: true

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.options.connectToSelectedServerOnly

Connect to selected server only.

Type: null or boolean

Default: true

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.options.forceSSL

Use SSL for all servers.

Type: null or boolean

Default: false

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.options.useGlobalUserInformation

Use global user information.

Type: null or boolean

Default: false

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.password

Password to use. Note this password will be readable by all user's in the Nix store.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.realName

Real name. Is used to populate the real name field that appears when someone uses the WHOIS command on your nick.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.servers

IRC Server Address List.

Type: list of strings

Default: [ ]

Example: [ "chat.freenode.net" "irc.freenode.net" ]

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.channels.<name>.userName

User name. Part of your user@host hostmask that appears to other on IRC.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.overwriteConfigFiles

Enables overwriting HexChat configuration files (hexchat.conf, servlist.conf). Any existing HexChat configuration will be lost. Certify to back-up any previous configuration before enabling this.

Enabling this setting is recommended, because everytime HexChat application is closed it overwrites Nix/Home Manager provided configuration files, causing:

  1. Nix/Home Manager provided configuration to be out of sync with actual active HexChat configuration.

  2. Blocking Nix/Home Manager updates until configuration files are manually removed.

Type: null or boolean

Default: false

Declared by:

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

Configuration for $XDG_CONFIG_HOME/hexchat/hexchat.conf, see https://hexchat.readthedocs.io/en/latest/settings.html#list-of-settings for supported values.

Type: null or attribute set of strings

Default: null

Example:

{
  irc_nick1 = "mynick";
  irc_username = "bob";
  irc_realname = "Bart Simpson";
  text_font = "Monospace 14";
};

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.hexchat.theme

Theme package for HexChat. Expects a derivation containing decompressed theme files. Note, .hct files are actually ZIP files, as seen in example.

Type: null or package

Default: null

Example:

source = pkgs.fetchzip {
  url = "https://dl.hexchat.net/themes/Monokai.hct#Monokai.zip";
  sha256 = "sha256-WCdgEr8PwKSZvBMs0fN7E2gOjNM0c2DscZGSKSmdID0=";
  stripRoot = false;
};

Declared by:

<home-manager/modules/programs/hexchat.nix>
programs.himalaya.enable

Whether to enable himalaya mail client.

Type: boolean

Default: false

Example: true

Declared by:

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

Package providing the himalaya mail client.

Type: package

Default: pkgs.himalaya

Declared by:

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

Global himalaya configuration values.

Type: TOML value

Default: { }

Example:

{
  default-page-size = 50;
}

Declared by:

<home-manager/modules/programs/himalaya.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.package

Package containing the htop program.

Type: package

Default: pkgs.htop

Declared by:

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

Configuration options to add to $XDG_CONFIG_HOME/htop/htoprc.

Type: attribute set

Default: { }

Example:

{
  color_scheme = 6;
  cpu_count_from_one = 0;
  delay = 15;
  fields = with config.lib.htop.fields; [
    PID
    USER
    PRIORITY
    NICE
    M_SIZE
    M_RESIDENT
    M_SHARE
    STATE
    PERCENT_CPU
    PERCENT_MEM
    TIME
    COMM
  ];
  highlight_base_name = 1;
  highlight_megabytes = 1;
  highlight_threads = 1;
} // (with config.lib.htop; leftMeters [
  (bar "AllCPUs2")
  (bar "Memory")
  (bar "Swap")
  (text "Zram")
]) // (with config.lib.htop; rightMeters [
  (text "Tasks")
  (text "LoadAverage")
  (text "Uptime")
  (text "Systemd")
]);

Declared by:

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

Whether to enable i3status.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/i3status.nix>
programs.i3status.enableDefault

Whether or not to enable the default configuration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/i3status.nix>
programs.i3status.general

Configuration to add to i3status config general section. See i3status(1) for options.

Type: attribute set of boolean or signed integer or strings

Default: { }

Example:

{
  colors = true;
  color_good = "#e0e0e0";
  color_degraded = "#d7ae00";
  color_bad = "#f69d6a";
  interval = 1;
}

Declared by:

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

Modules to add to i3status config file. See i3status(1) for options.

Type: attribute set of submodules

Default: { }

Example:

{
  "volume master" = {
    position = 1;
    settings = {
      format = "♪ %volume";
      format_muted = "♪ muted (%volume)";
      device = "pulse:1";
    };
  };
  "disk /" = {
    position = 2;
    settings = {
      format = "/ %avail";
    };
  };
}

Declared by:

<home-manager/modules/programs/i3status.nix>
programs.i3status.modules.<name>.enable

Whether or not to enable this module.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/i3status.nix>
programs.i3status.modules.<name>.position

Position of this module in i3status order.

Type: signed integer or floating point number

Declared by:

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

Configuration to add to this i3status module. See i3status(1) for options.

Type: attribute set of boolean or signed integer or strings

Default: { }

Example:

{
  format = "♪ %volume";
  format_muted = "♪ muted (%volume)";
  device = "pulse:1";
}

Declared by:

<home-manager/modules/programs/i3status.nix>
programs.i3status-rust.enable

Whether to enable a replacement for i3-status written in Rust.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/i3status-rust.nix>
programs.i3status-rust.package

Package providing i3status-rust

Type: package

Default: pkgs.i3status-rust

Declared by:

<home-manager/modules/programs/i3status-rust.nix>
programs.i3status-rust.bars

Attribute set of i3status-rust bars, each with their own configuration. Each bar name generates a config file suffixed with the bar's name from the attribute set, like so: config-name.toml.

This way, multiple config files can be generated, such as for having a top and a bottom bar.

See i3status-rust(1) for options.

Type: attribute set of submodules

Default: { default = { blocks = [ { alert = ; alias = "/"; block = "disk_space"; info_type = "available"; interval = 60; path = "/"; unit = "GB"; warning = ; } { block = "memory"; display_type = "memory"; format_mem = "{Mup}%"; format_swap = "{SUp}%"; } { block = "cpu"; interval = 1; } { block = "load"; format = "{1m}"; interval = 1; } { block = "sound"; } { block = "time"; format = "%a %d/%m %R"; interval = 60; } ] ; } ; }

Example:

bottom = {
  blocks = [
    {
       block = "disk_space";
       path = "/";
       alias = "/";
       info_type = "available";
       unit = "GB";
       interval = 60;
       warning = 20.0;
       alert = 10.0;
     }
     {
       block = "memory";
       display_type = "memory";
       format_mem = "{mem_used_percents}";
       format_swap = "{swap_used_percents}";
     }
     {
       block = "cpu";
       interval = 1;
     }
     {
       block = "load";
       interval = 1;
       format = "{1m}";
     }
     { block = "sound"; }
     {
       block = "time";
       interval = 60;
       format = "%a %d/%m %R";
     }
  ];
  settings = {
    theme =  {
      name = "solarized-dark";
      overrides = {
        idle_bg = "#123456";
        idle_fg = "#abcdef";
      };
    };
  };
  icons = "awesome5";
  theme = "gruvbox-dark";
};

Declared by:

<home-manager/modules/programs/i3status-rust.nix>
programs.i3status-rust.bars.<name>.blocks

Configuration blocks to add to i3status-rust config. See https://github.com/greshake/i3status-rust/blob/master/blocks.md for block options.

Type: TOML value

Default: [ { alert = ; alias = "/"; block = "disk_space"; info_type = "available"; interval = 60; path = "/"; unit = "GB"; warning = ; } { block = "memory"; display_type = "memory"; format_mem = "{mem_used_percents}"; format_swap = "{swap_used_percents}"; } { block = "cpu"; interval = 1; } { block = "load"; format = "{1m}"; interval = 1; } { block = "sound"; } { block = "time"; format = "%a %d/%m %R"; interval = 60; } ]

Example:

[
  {
    block = "disk_space";
    path = "/";
    alias = "/";
    info_type = "available";
    unit = "GB";
    interval = 60;
    warning = 20.0;
    alert = 10.0;
  }
  {
    block = "sound";
    format = "{output_name} {volume}%";
    on_click = "pavucontrol --tab=3";
    mappings = {
     "alsa_output.pci-0000_00_1f.3.analog-stereo" = "";
     "bluez_sink.70_26_05_DA_27_A4.a2dp_sink" = "";
    };
  }
];

Declared by:

<home-manager/modules/programs/i3status-rust.nix>
programs.i3status-rust.bars.<name>.icons

The icons set to use. See https://github.com/greshake/i3status-rust/blob/master/themes.md for a list of available icon sets.

Type: string

Default: "none"

Example: "awesome5"

Declared by:

<home-manager/modules/programs/i3status-rust.nix>
programs.i3status-rust.bars.<name>.settings

Any extra options to add to i3status-rust config.

Type: TOML value

Default: { }

Example:

{
  theme =  {
    name = "solarized-dark";
    overrides = {
      idle_bg = "#123456";
      idle_fg = "#abcdef";
    };
  };
}

Declared by:

<home-manager/modules/programs/i3status-rust.nix>
programs.i3status-rust.bars.<name>.theme

The theme to use. See https://github.com/greshake/i3status-rust/blob/master/themes.md for a list of available themes.

Type: string

Default: "plain"

Example: "gruvbox-dark"

Declared by:

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

Whether to enable GNU Info.

Type: boolean

Default: false

Example: true

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.certificateFile

Path to a file containing the certificate used for client authentication to the server.

Type: null or path

Default: null

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

Install the Java development kit and set the JAVA_HOME variable.

Type: boolean

Default: false

Example: true

Declared by:

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

Java package to install. Typical values are pkgs.jdk or pkgs.jre.

Type: package

Default: "pkgs.jdk"

Declared by:

<home-manager/modules/programs/java.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.package

jq package to use.

Type: package

Default: pkgs.jq

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;37"; false = "0;37"; null = "1;30"; numbers = "0;37"; objects = "1;37"; strings = "0;32"; true = "0;37"; }

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", "ModuleLoaded"

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: string

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 $XDG_CONFIG_HOME/kak/kakrc.

Type: strings concatenated with "\n"

Default: ""

Declared by:

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

List of kakoune plugins to install. To get a list of supported plugins run: nix-env -f '<nixpkgs>' -qaP -A kakounePlugins.

Type: list of packages

Default: [ ]

Example: [ pkgs.kakounePlugins.kak-fzf ]

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.enableFishIntegration

Whether to enable Fish integration.

Type: boolean

Default: true

Declared by:

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

Whether to run keychain from your ~/.xsession.

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

Whether to enable Kitty terminal emulator.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/kitty.nix>
programs.kitty.darwinLaunchOptions

Command-line options to use when launched by Mac OS GUI

Type: null or list of strings

Default: null

Example:

[
  "--single-instance"
  "--directory=/tmp/my-dir"
  "--listen-on=unix:/tmp/my-socket"
]

Declared by:

<home-manager/modules/programs/kitty.nix>
programs.kitty.environment

Environment variables to set or override.

Type: attribute set of strings

Default: { }

Example:

{
  "LS_COLORS" = "1";
}

Declared by:

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

Additional configuration to add.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/kitty.nix>
programs.kitty.font

The font to use.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/programs/kitty.nix>
programs.kitty.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/programs/kitty.nix>
programs.kitty.font.name

The family name of the font within the package.

Type: string

Example: "DejaVu Sans"

Declared by:

<home-manager/modules/programs/kitty.nix>
programs.kitty.font.size

The size of the font.

Type: null or signed integer

Default: null

Example: "8"

Declared by:

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

Mapping of keybindings to actions.

Type: attribute set of strings

Default: { }

Example:

{
  "ctrl+c" = "copy_or_interrupt";
  "ctrl+f>2" = "set_font_size 20";
}

Declared by:

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

Configuration written to $XDG_CONFIG_HOME/kitty/kitty.conf. See https://sw.kovidgoyal.net/kitty/conf.html for the documentation.

Type: attribute set of string or boolean or signed integers

Default: { }

Example:

{
  scrollback_lines = 10000;
  enable_audio_bell = false;
  update_check_interval = 0;
}

Declared by:

<home-manager/modules/programs/kitty.nix>
programs.lazygit.enable

Whether to enable lazygit, a simple terminal UI for git commands.

Type: boolean

Default: false

Example: true

Declared by:

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

Configuration written to $XDG_CONFIG_HOME/lazygit/config.yml on Linux or ~/Library/Application Support/lazygit/config.yml on Darwin. See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md for supported values.

Type: YAML value

Default: { }

Example:

{
  gui.theme = {
    lightTheme = true;
    activeBorderColor = [ "blue" "bold" ];
    inactiveBorderColor = [ "black" ];
    selectedLineBgColor = [ "default" ];
  };
}

Declared by:

<home-manager/modules/programs/lazygit.nix>
programs.less.enable

Whether to enable less, opposite of more.

Type: boolean

Default: false

Example: true

Declared by:

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

Extra configuration for less written to $XDG_CONFIG_HOME/lesskey.

Type: strings concatenated with "\n"

Default: ""

Example:

''
s        back-line
t        forw-line
''

Declared by:

<home-manager/modules/programs/less.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.lf.enable

Whether to enable lf.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/lf.nix>
programs.lf.cmdKeybindings

Keys to bind to command line commands which can only be one of the builtin commands. Keys set to null or an empty string are deleted.

Type: attribute set of null or strings

Default: { }

Example: { "<c-g>" = "cmd-escape"; }

Declared by:

<home-manager/modules/programs/lf.nix>
programs.lf.commands

Commands to declare. Commands set to null or an empty string are deleted.

Type: attribute set of null or strings

Default: { }

Example: { get-mime-type = ''%xdg-mime query filetype "$f"''; open = "$$OPENER $f"; }

Declared by:

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

Custom lfrc lines.

Type: strings concatenated with "\n"

Default: ""

Example:

''
$mkdir -p ~/.trash
''

Declared by:

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

Keys to bind. Keys set to null or an empty string are deleted.

Type: attribute set of null or strings

Default: { }

Example: { D = "trash"; U = "!du -sh"; gg = null; gh = "cd ~"; i = "$less $f"; }

Declared by:

<home-manager/modules/programs/lf.nix>
programs.lf.previewer.keybinding

Key to bind to the script at previewer.source and pipe through less. Setting to null will not bind any key.

Type: null or string

Default: null

Example: "i"

Declared by:

<home-manager/modules/programs/lf.nix>
programs.lf.previewer.source

Script or executable to use to preview files. Sets lf's previewer option.

Type: null or path

Default: null

Example:

pkgs.writeShellScript "pv.sh" ''
  #!/bin/sh

  case "$1" in
      *.tar*) tar tf "$1";;
      *.zip) unzip -l "$1";;
      *.rar) unrar l "$1";;
      *.7z) 7z l "$1";;
      *.pdf) pdftotext "$1" -;;
      *) highlight -O ansi "$1" || cat "$1";;
  esac
''

Declared by:

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

An attribute set of lf settings. The attribute names and corresponding values must be among the following supported options.

anchorfindboolean
color256boolean
dircountsboolean
dirfirstboolean
drawboxboolean
errorfmtstring
filesepstring
findlensigned integer
globsearchboolean
hiddenboolean
iconsboolean
ifsstring
ignorecaseboolean
ignorediaboolean
incsearchboolean
infostring
numberboolean
periodsigned integer
previewboolean
promptfmtstring
ratiosstring
relativenumberboolean
reverseboolean
scrolloffsigned integer
shellstring
shelloptsstring
smartcaseboolean
smartdiaboolean
sortbystring
tabstopsigned integer
timefmtstring
wrapscanboolean
wrapscrollboolean

See the lf documentation for detailed descriptions of these options. Note, use previewer to set lf's previewer option, and extraConfig for any other option not listed above. All string options are quoted with double quotes.

Type: submodule

Default: { }

Example: { number = true; ratios = "1:1:2"; tabstop = 4; }

Declared by:

<home-manager/modules/programs/lf.nix>
programs.lieer.enable

Whether to enable lieer Gmail synchronization for notmuch.

Type: boolean

Default: false

Example: true

Declared by:

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

lieer package to use.

Type: package

Default: "pkgs.gmailieer"

Declared by:

<home-manager/modules/programs/lieer.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.lsd.settings

Configuration written to $XDG_CONFIG_HOME/lsd/config.yaml. See https://github.com/Peltoche/lsd#config-file-content for supported values.

Type: YAML value

Default: { }

Example: { date = "relative"; ignore-globs = [ ".git" ".hg" ] ; }

Declared by:

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

Whether to enable Mako, lightweight notification daemon for Wayland .

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.actions

Applications may request an action to be associated with activating a notification. Disabling this will cause mako to ignore these requests.

Type: null or boolean

Default: true

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.anchor

Show notifications at the specified position on the output. Supported values are top-right, top-center, top-left, bottom-right, bottom-center, bottom-left, and center.

Type: null or one of "top-right", "top-center", "top-left", "bottom-right", "bottom-center", "bottom-left", "center"

Default: "top-right"

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.backgroundColor

Set popup background color to a specific color, represented in hex color code.

Type: null or string

Default: "#285577FF"

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.borderColor

Set popup border color to a specific color, represented in hex color code.

Type: null or string

Default: "#4C7899FF"

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.borderRadius

Set popup corner radius to the specified number of pixels.

Type: null or signed integer

Default: 0

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.borderSize

Set popup border size to the specified number of pixels.

Type: null or signed integer

Default: 1

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.defaultTimeout

Set the default timeout to timeout in milliseconds. To disable the timeout, set it to zero.

Type: null or signed integer

Default: 0

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.extraConfig

Additional configuration.

Type: strings concatenated with "\n"

Default: ""

Example:

[urgency=low]
border-color=#b8bb26

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.font

Font to use, in Pango format.

Type: null or string

Default: "monospace 10"

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.format

Set notification format string to format. See FORMAT SPECIFIERS for more information. To change this for grouped notifications, set it within a grouped criteria.

Type: null or string

Default: ''<b>%s</b>\n%b''

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.groupBy

A comma-separated list of criteria fields that will be compared to other visible notifications to determine if this one should form a group with them. All listed criteria must be exactly equal for two notifications to group.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.height

Set maximum height of notification popups. Notifications whose text takes up less space are shrunk to fit.

Type: null or signed integer

Default: 100

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.iconPath

Paths to search for icons when a notification specifies a name instead of a full path. Colon-delimited. This approximates the search algorithm used by the XDG Icon Theme Specification, but does not support any of the theme metadata. Therefore, if you want to search parent themes, you'll need to add them to the path manually.

The /usr/share/icons/hicolor and /usr/share/pixmaps directories are always searched.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.icons

Whether or not to show icons in notifications.

Type: null or boolean

Default: true

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.ignoreTimeout

If set, mako will ignore the expire timeout sent by notifications and use the one provided by default-timeout instead.

Type: null or boolean

Default: false

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.layer

Arrange mako at the specified layer, relative to normal windows. Supported values are background, bottom, top, and overlay. Using overlay will cause notifications to be displayed above fullscreen windows, though this may also occur at top depending on your compositor.

Type: null or one of "background", "bottom", "top", "overlay"

Default: "top"

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.margin

Set margin of each edge specified in pixels. Specify single value to apply margin on all sides. Two comma-seperated values will set vertical and horizontal edges seperately. Four comma-seperated will give each edge a seperate value. For example: 10,20,5 will set top margin to 10, left and right to 20 and bottom to five.

Type: null or string

Default: "10"

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.markup

If 1, enable Pango markup. If 0, disable Pango markup. If enabled, Pango markup will be interpreted in your format specifier and in the body of notifications.

Type: null or boolean

Default: true

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.maxIconSize

Set maximum icon size to the specified number of pixels.

Type: null or signed integer

Default: 64

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.maxVisible

Set maximum number of visible notifications. Set -1 to show all.

Type: null or signed integer

Default: 5

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.output

Show notifications on the specified output. If empty, notifications will appear on the focused output. Requires the compositor to support the Wayland protocol xdg-output-unstable-v1 version 2.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.padding

Set padding of each edge specified in pixels. Specify single value to apply margin on all sides. Two comma-seperated values will set vertical and horizontal edges seperately. Four comma-seperated will give each edge a seperate value. For example: 10,20,5 will set top margin to 10, left and right to 20 and bottom to five.

Type: null or string

Default: "5"

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.progressColor

Set popup progress indicator color to a specific color, represented in hex color code. To draw the progress indicator on top of the background color, use the over attribute. To replace the background color, use the source attribute (this can be useful when the notification is semi-transparent).

Type: null or string

Default: "over #5588AAFF"

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.sort

Sorts incoming notifications by time and/or priority in ascending(+) or descending(-) order.

Type: null or one of "+time", "-time", "+priority", "-priority"

Default: "-time"

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.textColor

Set popup text color to a specific color, represented in hex color code.

Type: null or string

Default: "#FFFFFFFF"

Declared by:

<home-manager/modules/services/mako.nix>
programs.mako.width

Set width of notification popups in specified number of pixels.

Type: null or signed integer

Default: 300

Declared by:

<home-manager/modules/services/mako.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.man.generateCaches

Whether to generate the manual page index caches using mandb(8). This allows searching for a page or keyword using utilities like apropos(1).

This feature is disabled by default because it slows down building. If you don't mind waiting a few more seconds when Home Manager builds a new generation, you may safely enable this option.

Type: boolean

Default: false

Declared by:

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

Whether to enable Mangohud.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/mangohud.nix>
programs.mangohud.enableSessionWide

Sets environment variables so that MangoHud is started on any application that supports it.

Type: boolean

Default: false

Declared by:

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

The Mangohud package to install.

Type: package

Default: pkgs.mangohud

Declared by:

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

Configuration written to $XDG_CONFIG_HOME/MangoHud/MangoHud.conf. See https://github.com/flightlessmango/MangoHud/blob/master/bin/MangoHud.conf for the default configuration.

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

Default: { }

Example:

{
  output_folder = ~/Documents/mangohud/;
  full = true;
}

Declared by:

<home-manager/modules/programs/mangohud.nix>
programs.mangohud.settingsPerApplication

Sets MangoHud settings per application. Configuration written to $XDG_CONFIG_HOME/MangoHud/{application_name}.conf. See https://github.com/flightlessmango/MangoHud/blob/master/bin/MangoHud.conf for the default configuration.

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

Default: { }

Example:

{
  mpv = {
    no_display = true;
  }
}

Declared by:

<home-manager/modules/programs/mangohud.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 of anythings

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

Whether to enable mcfly.

Type: boolean

Default: false

Example: true

Declared by:

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

Whether to enable Bash integration.

Type: boolean

Default: true

Declared by:

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

Whether to enable Fish integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/mcfly.nix>
programs.mcfly.enableFuzzySearch

Whether to enable fuzzy searching.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/mcfly.nix>
programs.mcfly.enableLightTheme

Whether to enable light mode theme.

Type: boolean

Default: false

Declared by:

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

Whether to enable Zsh integration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/mcfly.nix>
programs.mcfly.keyScheme

Key scheme to use.

Type: one of "emacs", "vim"

Default: "emacs"

Declared by:

<home-manager/modules/programs/mcfly.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 of anythings

Default: { }

Declared by:

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

Additional configuration to add.

Type: attribute set of anythings 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.package

Package providing mpv.

Type: package

Default: (build of mpv-with-scripts-0.34.0)

Example: pkgs.wrapMpv (pkgs.mpv-unwrapped.override { vapoursynthSupport = true; }) { youtubeSupport = true; }

Declared by:

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

Input configuration written to $XDG_CONFIG_HOME/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 $XDG_CONFIG_HOME/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 number or list of string or signed integer or boolean or floating point numberss

Default: { }

Example:

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

Declared by:

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

Profiles to be applied by default. Options set by them are overridden by options set in programs.mpv.config.

Type: list of strings

Default: [ ]

Example: [ "gpu-hq" ]

Declared by:

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

Sub-configuration options for specific profiles written to $XDG_CONFIG_HOME/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 number or list of string or signed integer or boolean or floating point numbersss

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 package or strings

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.extraAccounts

Extra configuration lines to add to the end of ~/.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.msmtp.extraConfig

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

Note, if running msmtp fails with the error message "account default was already defined" then you probably have an account command here. Account commands should be placed in accounts.email.accounts.<name>.msmtp.extraConfig.

Type: strings concatenated with "\n"

Default: ""

Declared by:

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

Whether to enable mu, a maildir indexer and searcher.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/mu.nix>
programs.navi.enable

Whether to enable Navi.

Type: boolean

Default: false

Example: true

Declared by:

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

Whether to enable Bash integration.

Type: boolean

Default: true

Example: true

Declared by:

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

Whether to enable Fish integration.

Type: boolean

Default: true

Example: true

Declared by:

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

Whether to enable Zsh integration.

Type: boolean

Default: true

Example: true

Declared by:

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

The package to use for the navi binary.

Type: package

Default: pkgs.navi

Declared by:

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

Configuration written to $XDG_CONFIG_HOME/navi/config.yaml on Linux or $HOME/Library/Application Support/navi/config.yaml on Darwin. See https://github.com/denisidoro/navi/blob/master/docs/config_file.md for more information.

Type: YAML value

Default: { }

Example:

{
  cheats = {
    paths = [
      "~/cheats/"
    ];
  };
}

Declared by:

<home-manager/modules/programs/navi.nix>
programs.ncmpcpp.enable

Whether to enable ncmpcpp - an ncurses Music Player Daemon (MPD) client.

Type: boolean

Default: false

Example: true

Declared by:

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

Package providing the ncmpcpp command.

Type: package

Default: pkgs.ncmpcpp

Example: pkgs.ncmpcpp.override { visualizerSupport = true; }

Declared by:

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

List of keybindings.

Type: list of submodules

Default: [ ]

Example:

[
  { key = "j"; command = "scroll_down"; }
  { key = "k"; command = "scroll_up"; }
  { key = "J"; command = [ "select_item" "scroll_down" ]; }
  { key = "K"; command = [ "select_item" "scroll_up" ]; }
]

Declared by:

<home-manager/modules/programs/ncmpcpp.nix>
programs.ncmpcpp.bindings.*.command

Command or sequence of commands to be executed.

Type: string or list of strings

Example: "scroll_down"

Declared by:

<home-manager/modules/programs/ncmpcpp.nix>
programs.ncmpcpp.bindings.*.key

Key to bind.

Type: string

Example: "j"

Declared by:

<home-manager/modules/programs/ncmpcpp.nix>
programs.ncmpcpp.mpdMusicDir

Value of the mpd_music_dir setting. On Linux platforms the value of services.mpd.musicDirectory is used as the default if services.mpd.enable is true.

Type: null or path

Default:

if pkgs.stdenv.hostPlatform.isLinux && config.services.mpd.enable then
  config.services.mpd.musicDirectory
else
  null

Example: "~/music"

Declared by:

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

Attribute set from name of a setting to its value. For available options see ncmpcpp(1).

Type: attribute set of boolean or signed integer or strings

Default: { }

Example: { ncmpcpp_directory = "~/.local/share/ncmpcpp"; }

Declared by:

<home-manager/modules/programs/ncmpcpp.nix>
programs.ncspot.enable

Whether to enable ncspot.

Type: boolean

Default: false

Example: true

Declared by:

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

The package to use for ncspot.

Type: package

Default: pkgs.ncspot

Declared by:

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

Configuration written to $XDG_CONFIG_HOME/ncspot/config.toml.

See https://github.com/hrkfdn/ncspot#configuration for the full list of options.

Type: TOML value

Default: { }

Example:

{
  shuffle = true;
  gapless = true;
}

Declared by:

<home-manager/modules/programs/ncspot.nix>
programs.ne.enable

Whether to enable ne.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/ne.nix>
programs.ne.automaticPreferences

Automatic preferences files for ne.

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

Default: { }

Example:

{
  nix = ''
    TAB 0
    TS 2
  '';
  js = ''
    TS 4
  '';
}

Declared by:

<home-manager/modules/programs/ne.nix>
programs.ne.defaultPreferences

Default preferences for ne.

Equivalent to programs.ne.automaticPreferences.".default".

Type: strings concatenated with "\n"

Default: ""

Declared by:

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

Keybinding file for ne.

Type: strings concatenated with "\n"

Default: ""

Example:

''
KEY 7f BS
SEQ "\x1b[1;5D" 7f
''

Declared by:

<home-manager/modules/programs/ne.nix>
programs.ne.menus

Menu configuration file for ne.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/ne.nix>
programs.ne.virtualExtensions

Virtual extensions configuration file for ne.

Type: strings concatenated with "\n"

Default: ""

Example:

''
sh   1  ^#!\s*/.*\b(bash|sh|ksh|zsh)\s*
csh  1  ^#!\s*/.*\b(csh|tcsh)\s*
''

Declared by:

<home-manager/modules/programs/ne.nix>
programs.neomutt.enable

Whether to enable the NeoMutt mail client.

Type: boolean

Default: false

Example: true

Declared by:

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

The neomutt package to use.

Type: package

Default: pkgs.neomutt

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.binds

List of keybindings.

Type: list of submodules

Default: [ ]

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.binds.*.action

Specify the action to take.

Type: string

Example: "<enter-command>toggle sidebar_visible<enter><refresh>"

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.binds.*.key

The key to bind.

Type: string

Example: "<left>"

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.binds.*.map

Select the menu to bind the command to.

Type: one of "alias", "attach", "browser", "compose", "editor", "generic", "index", "mix", "pager", "pgp", "postpone", "query", "smime" or list of one of "alias", "attach", "browser", "compose", "editor", "generic", "index", "mix", "pager", "pgp", "postpone", "query", "smime"s

Default: "index"

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.changeFolderWhenSourcingAccount

Whether to enable changing the folder when sourcing an account.

Type: boolean

Default: true

Example: true

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.checkStatsInterval

Enable and set the interval of automatic mail check.

Type: null or signed integer

Default: null

Example: 60

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.editor

Select the editor used for writing mail.

Type: string

Default: "$EDITOR"

Declared by:

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

Extra configuration appended to the end.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.macros

List of macros.

Type: list of submodules

Default: [ ]

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.macros.*.action

Specify the action to take.

Type: string

Example: "<enter-command>toggle sidebar_visible<enter><refresh>"

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.macros.*.key

The key to bind.

Type: string

Example: "<left>"

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.macros.*.map

Select the menu to bind the command to.

Type: one of "alias", "attach", "browser", "compose", "editor", "generic", "index", "mix", "pager", "pgp", "postpone", "query", "smime" or list of one of "alias", "attach", "browser", "compose", "editor", "generic", "index", "mix", "pager", "pgp", "postpone", "query", "smime"s

Default: "index"

Declared by:

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

Extra configuration appended to the end.

Type: attribute set of strings

Default: { }

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.sidebar

Options related to the sidebar.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.sidebar.enable

Whether to enable sidebar support.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.sidebar.format

Sidebar format. Check neomutt documentation for details.

Type: string

Default: "%D%?F? [%F]?%* %?N?%N/?%S"

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.sidebar.shortPath

By default sidebar shows the full path of the mailbox, but with this enabled only the relative name is shown.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.sidebar.width

Width of the sidebar

Type: signed integer

Default: 22

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.sort

Sorting method on messages.

Type: one of "date", "date-received", "from", "mailbox-order", "score", "size", "spam", "subject", "threads", "to", "reverse-date", "reverse-date-received", "reverse-from", "reverse-mailbox-order", "reverse-score", "reverse-size", "reverse-spam", "reverse-subject", "reverse-threads", "reverse-to"

Default: "threads"

Declared by:

<home-manager/modules/programs/neomutt.nix>
programs.neomutt.vimKeys

Enable vim-like bindings.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/neomutt.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.coc.enable

Whether to enable Coc.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/neovim.nix>
programs.neovim.coc.settings

Extra configuration lines to add to $XDG_CONFIG_HOME/nvim/coc-settings.json See https://github.com/neoclide/coc.nvim/wiki/Using-the-configuration-file for options.

Type: JSON value

Default: { }

Example:

{
  "suggest.noselect" = true;
  "suggest.enablePreview" = true;
  "suggest.enablePreselect" = false;
  "suggest.disableKind" = true;
  languageserver = {
    haskell = {
      command = "haskell-language-server-wrapper";
      args = [ "--lsp" ];
      rootPatterns = [
        "*.cabal"
        "stack.yaml"
        "cabal.project"
        "package.yaml"
        "hie.yaml"
      ];
      filetypes = [ "haskell" "lhaskell" ];
    };
  };
};

Declared by:

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

Deprecated. Please use the other options. 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 mutually exclusive with extraConfig and plugins.

Type: attribute set of anythings

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.extraPackages

Extra packages available to nvim.

Type: list of packages

Default: [ ]

Example: "[ pkgs.shfmt ]"

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.generatedConfigViml

Generated vimscript config.

Type: strings concatenated with "\n" (read only)

Declared by:

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

List of vim plugins to install optionally associated with configuration to be placed in init.vim.

This option is mutually exclusive with configure.

Type: list of package or submodules

Default: [ ]

Example:

with pkgs.vimPlugins; [
  yankring
  vim-nix
  { plugin = vim-startify;
    config = "let g:startify_change_to_vcs_root = 0";
  }
]

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.vimdiffAlias

Alias vimdiff to nvim -d.

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.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.nix-index.enable

Whether to enable nix-index, a file database for nixpkgs.

Type: boolean

Default: false

Example: true

Declared by:

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

Whether to enable Bash integration.

Type: boolean

Default: true

Example: true

Declared by:

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

Whether to enable Fish integration.

Type: boolean

Default: true

Example: true

Declared by:

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

Whether to enable Zsh integration.

Type: boolean

Default: true

Example: true

Declared by:

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

Package providing the nix-index tool.

Type: package

Default: pkgs.nix-index

Declared by:

<home-manager/modules/programs/nix-index.nix>
programs.nnn.enable

Whether to enable nnn.

Type: boolean

Default: false

Example: true

Declared by:

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

Package containing the nnn program.

Type: package

Default: pkgs.nnn

Example: pkgs.nnn.override ({ withNerdIcons = true; });

Declared by:

<home-manager/modules/programs/nnn.nix>
programs.nnn.bookmarks

Directory bookmarks.

Type: attribute set of strings

Default: { }

Example:

{
  d = "~/Documents";
  D = "~/Downloads";
  p = "~/Pictures";
  v = "~/Videos";
};

Declared by:

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

Extra packages available to nnn.

Type: list of packages

Default: [ ]

Example: with pkgs; [ ffmpegthumbnailer mediainfo sxiv ]

Declared by:

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

Manage nnn plugins.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/programs/nnn.nix>
programs.nnn.plugins.mappings

Key mappings to the plugins.

Type: attribute set of strings

Default: { }

Example:

{
  c = "fzcd";
  f = "finder";
  v = "imgview";
};

Declared by:

<home-manager/modules/programs/nnn.nix>
programs.nnn.plugins.src

Path to the plugin folder.

Type: null or path

Default: null

Example:

(pkgs.fetchFromGitHub {
  owner = "jarun";
  repo = "nnn";
  rev = "v4.0";
  sha256 = "sha256-Hpc8YaJeAzJoEi7aJ6DntH2VLkoR6ToP6tPYn3llR7k=";
}) + "/plugins";

Declared by:

<home-manager/modules/programs/nnn.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 $XDG_CONFIG_HOME/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.nushell.enable

Whether to enable nushell.

Type: boolean

Default: false

Example: true

Declared by:

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

The package to use for nushell.

Type: package

Default: pkgs.nushell

Declared by:

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

Configuration written to $XDG_CONFIG_HOME/nushell/config.toml.

See https://www.nushell.sh/book/configuration.html for the full list of options.

Type: Nushell configuration

Default: { }

Example:

{
  edit_mode = "vi";
  startup = [ "alias la [] { ls -a }" "alias e [msg] { echo $msg }" ];
  key_timeout = 10;
  completion_mode = "circular";
  no_auto_pivot = true;
}

Declared by:

<home-manager/modules/programs/nushell.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.package

OBS Studio package to install.

Type: package

Default: pkgs.obs-studio

Declared by:

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

Optional OBS plugins.

Type: list of packages

Default: [ ]

Example: [ pkgs.obs-studio-plugins.wlrobs ]

Declared by:

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

Whether to enable octant.

Type: boolean

Default: false

Example: true

Declared by:

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

The Octant package to use.

Type: package

Default: pkgs.octant

Example: pkgs.octant-other

Declared by:

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

Optional Octant plugins.

Type: list of packages

Default: [ ]

Example: [ pkgs.starboard-octant-plugin ]

Declared by:

<home-manager/modules/programs/octant.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.password-store.enable

Whether to enable Password store.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/password-store.nix>
programs.password-store.package

The pass package to use. Can be used to specify extensions.

Type: package

Default: pkgs.pass

Example:

pkgs.pass.withExtensions (exts: [ exts.pass-otp ])

Declared by:

<home-manager/modules/programs/password-store.nix>
programs.password-store.settings

The pass environment variables dictionary.

See the "Environment variables" section of pass(1) and the extension man pages for more information about the available keys.

Type: attribute set of strings

Default:

{ PASSWORD_STORE_DIR = "$XDG_DATA_HOME/password-store"; }

Example:

{
  PASSWORD_STORE_DIR = "/some/directory";
  PASSWORD_STORE_KEY = "12345678";
  PASSWORD_STORE_CLIP_TIME = "60";
}

Declared by:

<home-manager/modules/programs/password-store.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.pet.enable

Whether to enable pet.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/pet.nix>
programs.pet.selectcmdPackage

The package needed for the settings.selectcmd.

Type: package

Default: pkgs.fzf

Declared by:

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

Settings written to config.toml. See the pet documentation for details.

Type: TOML value

Default: { }

Declared by:

<home-manager/modules/programs/pet.nix>
programs.pet.snippets

The snippets.

Type: list of submodules

Default: [ ]

Declared by:

<home-manager/modules/programs/pet.nix>
programs.pet.snippets.*.command

The command.

Type: string

Default: ""

Example: "git rev-list --count HEAD"

Declared by:

<home-manager/modules/programs/pet.nix>
programs.pet.snippets.*.description

Description of the snippet.

Type: string

Default: ""

Example: "Count the number of commits in the current branch"

Declared by:

<home-manager/modules/programs/pet.nix>
programs.pet.snippets.*.output

Example output of the command.

Type: string

Default: ""

Example: "473"

Declared by:

<home-manager/modules/programs/pet.nix>
programs.pet.snippets.*.tag

List of tags attached to the command.

Type: list of strings

Default: [ ]

Example: ["git" "nixpkgs"]

Declared by:

<home-manager/modules/programs/pet.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.piston-cli.enable

Whether to enable piston-cli, code runner.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/piston-cli.nix>
programs.piston-cli.package

The piston-cli package to use.

Type: package

Default: pkgs.piston-cli

Declared by:

<home-manager/modules/programs/piston-cli.nix>
programs.piston-cli.settings

Configuration written to $XDG_CONFIG_HOME/piston-cli/config.yml.

Type: YAML value

Default: { }

Example:

{
  theme = "emacs";
  box_style = "MINIMAL_DOUBLE_HEAD";
  prompt_continuation = "...";
  prompt_start = ">>>";
}

Declared by:

<home-manager/modules/programs/piston-cli.nix>
programs.powerline-go.enable

Whether to enable Powerline-go, a beautiful and useful low-latency prompt for your shell.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/powerline-go.nix>
programs.powerline-go.extraUpdatePS1

Shell code to execute after the prompt is set.

Type: string

Default: ""

Example:

''
PS1=$PS1"NixOS> ";
''

Declared by:

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

List of module names to load. The list of all available modules as well as the choice of default ones are at https://github.com/justjanne/powerline-go.

Type: null or list of strings

Default: null

Example: [ "host" "ssh" "cwd" "gitlite" "jobs" "exit" ]

Declared by:

<home-manager/modules/programs/powerline-go.nix>
programs.powerline-go.modulesRight

List of module names to load to be displayed on the right side. Currently not supported by bash. Specifying a value for this option will force powerline-go to use the eval format to set the prompt.

Type: null or list of strings

Default: null

Example: [ "host" "venv" "git" ]

Declared by:

<home-manager/modules/programs/powerline-go.nix>
programs.powerline-go.newline

Set to true if the prompt should be on a line of its own.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/powerline-go.nix>
programs.powerline-go.pathAliases

Pairs of full-path and corresponding desired short name. You may use '~' to represent your home directory but you should protect it to avoid shell substitution.

Type: null or attribute set of strings

Default: null

Example:

{ "\\~/projects/home-manager" = "prj:home-manager"; }

Declared by:

<home-manager/modules/programs/powerline-go.nix>
programs.powerline-go.settings

This can be any key/value pair as described in https://github.com/justjanne/powerline-go.

Type: attribute set of boolean or signed integer or string or list of stringss

Default: { }

Example:

{
  hostname-only-if-ssh = true;
  numeric-exit-codes = true;
  cwd-max-depth = 7;
  ignore-repos = [ "/home/me/big-project" "/home/me/huge-project" ];
}

Declared by:

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

Whether to enable qutebrowser.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/qutebrowser.nix>
programs.qutebrowser.enableDefaultBindings

Disable to prevent loading default key bindings.

Type: boolean

Default: true

Declared by:

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

Qutebrowser package to install.

Type: package

Default: pkgs.qutebrowser

Declared by:

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

Aliases for commands.

Type: attribute set of strings

Default: { }

Declared by:

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

Extra lines added to qutebrowser config.py file.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/qutebrowser.nix>
programs.qutebrowser.keyBindings

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

  • Control: Control, Ctrl

  • Meta: Meta, Windows, Mod4

  • Alt: Alt, Mod1

  • Shift: Shift

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

normal

Default mode, where most commands are invoked.

insert

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

hint

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

passthrough

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

command

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

prompt

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

yesno

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

caret

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

register

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

Type: attribute set of attribute set of stringss

Default: { }

Example:

{
  normal = {
    "<Ctrl-v>" = "spawn mpv {url}";
    ",p" = "spawn --userscript qute-pass";
    ",l" = ''config-cycle spellcheck.languages ["en-GB"] ["en-US"]'';
  };
  prompt = {
    "<Ctrl-y>" = "prompt-yes";
  };
}

Declared by:

<home-manager/modules/programs/qutebrowser.nix>
programs.qutebrowser.keyMappings

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

Type: attribute set of strings

Default: { }

Declared by:

<home-manager/modules/programs/qutebrowser.nix>
programs.qutebrowser.loadAutoconfig

Load settings configured via the GUI.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/qutebrowser.nix>
programs.qutebrowser.quickmarks

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

Type: attribute set of strings

Default: { }

Example:

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

Declared by:

<home-manager/modules/programs/qutebrowser.nix>
programs.qutebrowser.searchEngines

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

Type: attribute set of strings

Default: { }

Example:

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

Declared by:

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

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

Type: attribute set of anythings

Default: { }

Example:

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

Declared by:

<home-manager/modules/programs/qutebrowser.nix>
programs.rbw.enable

Whether to enable rwb, a CLI Bitwarden client.

Type: boolean

Default: false

Example: true

Declared by:

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

Package providing the rbw tool and its rbw-agent daemon.

Type: package

Default: pkgs.rbw

Declared by:

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

rbw configuration, if not defined the configuration will not be managed by Home Manager.

Type: null or JSON value

Default: null

Example:

{
  email = "name@example.com";
  lock_timeout = 300;
  pinentry = "gnome3";
}

Declared by:

<home-manager/modules/programs/rbw.nix>
programs.rbw.settings.base_url

The base-url for a self-hosted bitwarden installation.

Type: null or string

Default: null

Example: "bitwarden.example.com"

Declared by:

<home-manager/modules/programs/rbw.nix>
programs.rbw.settings.email

The email address for your bitwarden account.

Type: string

Example: "name@example.com"

Declared by:

<home-manager/modules/programs/rbw.nix>
programs.rbw.settings.identity_url

The identity url for your bitwarden installation.

Type: null or string

Default: null

Example: "identity.example.com"

Declared by:

<home-manager/modules/programs/rbw.nix>
programs.rbw.settings.lock_timeout

The amount of time that your login information should be cached.

Type: unsigned integer, meaning >=0

Default: 3600

Example: 300

Declared by:

<home-manager/modules/programs/rbw.nix>
programs.rbw.settings.pinentry

Which pinentry interface to use. Beware that pinentry-gnome3 may not work on non-Gnome systems. You can fix it by adding the following to your system configuration:

services.dbus.packages = [ pkgs.gcr ];

For this reason, the default is gtk2 for now.

Type: package or one of "curses", "tty", "gtk2", "emacs", "gnome3", "qt"

Default: "gtk2"

Example: "gnome3"

Declared by:

<home-manager/modules/programs/rbw.nix>
programs.readline.enable

Whether to enable readline.

Type: boolean

Default: false

Example: true

Declared by:

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

Readline bindings.

Type: attribute set of strings

Default: { }

Example:

{ "\\C-h" = "backward-kill-word"; }

Declared by:

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

Configuration lines appended unchanged to the end of the ~/.inputrc file.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/readline.nix>
programs.readline.includeSystemConfig

Whether to include the system-wide configuration.

Type: boolean

Default: true

Declared by:

<home-manager/modules/programs/readline.nix>
programs.readline.variables

Readline customization variable assignments.

Type: attribute set of string or signed integer or booleans

Default: { }

Example: { expand-tilde = true; }

Declared by:

<home-manager/modules/programs/readline.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.package

Package providing the rofi binary.

Type: package

Default: (build of rofi-1.7.2)

Example:

pkgs.rofi.override { plugins = [ pkgs.rofi-emoji ]; };

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.rasi"

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: attribute set of string or signed integer or boolean or Rasi literal string or list of string or signed integer or boolean or Rasi literal stringss or string

Default: { }

Example:

{
  modi = "drun,emoji,ssh";
  kb-primary-paste = "Control+V,Shift+Insert";
  kb-secondary-paste = "Control+v,Insert";
}

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

Whether to enable rofi integration with password-store.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/rofi-pass.nix>
programs.rofi.pass.extraConfig

Extra configuration to be added at to the rofi-pass config file. Additional examples can be found at https://github.com/carnager/rofi-pass/blob/master/config.example.

Type: strings concatenated with "\n"

Default: ""

Example:

''
URL_field='url'
USERNAME_field='user'
AUTOTYPE_field='autotype'
''

Declared by:

<home-manager/modules/programs/rofi-pass.nix>
programs.rofi.pass.stores

Directory roots of your password-stores.

Type: list of strings

Default: [ ]

Declared by:

<home-manager/modules/programs/rofi-pass.nix>
programs.rofi.plugins

List of rofi plugins to be installed.

Type: list of packages

Default: [ ]

Example: [ pkgs.rofi-calc ]

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.gnome.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 or attribute set with theme configuration. Available named themes can be viewed using the rofi-theme-selector tool.

Type: null or string or path or attribute set of attribute set of string or signed integer or boolean or Rasi literal string or list of string or signed integer or boolean or Rasi literal stringss or strings

Default: null

Example:

let
  # Use `mkLiteral` for string-like values that should show without
  # quotes, e.g.:
  # {
  #   foo = "abc"; => foo: "abc";
  #   bar = mkLiteral "abc"; => bar: abc;
  # };
  inherit (config.lib.formats.rasi) mkLiteral;
in {
  "*" = {
    background-color = mkLiteral "#000000";
    foreground-color = mkLiteral "rgba ( 250, 251, 252, 100 % )";
    border-color = mkLiteral "#FFFFFF";
    width = 512;
  };

  "#inputbar" = {
    children = map mkLiteral [ "prompt" "entry" ];
  };

  "#textbox-prompt-colon" = {
    expand = false;
    str = ":";
    margin = mkLiteral "0px 0.3em 0em 0em";
    text-color = mkLiteral "@foreground-color";
  };
}

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 $XDG_CONFIG_HOME/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.sbt.enable

Whether to enable sbt.

Type: boolean

Default: false

Example: true

Declared by:

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

The package with sbt to be installed.

Type: package

Default: pkgs.sbt

Declared by:

<home-manager/modules/programs/sbt.nix>
programs.sbt.baseConfigPath

Where the plugins and credentials should be located.

Type: string

Default: ".sbt/1.0"

Declared by:

<home-manager/modules/programs/sbt.nix>
programs.sbt.credentials

A list of credentials to define in the sbt configuration directory.

Type: list of submodules

Default: [ ]

Example:

[{
  realm = "Sonatype Nexus Repository Manager";
  host = "example.com";
  user = "user";
  passwordCommand = "pass show sbt/user@example.com";
}]

Declared by:

<home-manager/modules/programs/sbt.nix>
programs.sbt.credentials.*.host

The hostname of the repository you're authenticating to.

Type: string

Declared by:

<home-manager/modules/programs/sbt.nix>
programs.sbt.credentials.*.passwordCommand

The command that provides the password or authentication token for the repository.

Type: string

Declared by:

<home-manager/modules/programs/sbt.nix>
programs.sbt.credentials.*.realm

The realm of the repository you're authenticating to.

Type: string

Declared by:

<home-manager/modules/programs/sbt.nix>
programs.sbt.credentials.*.user

The user you're using to authenticate.

Type: string

Declared by:

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

A list of plugins to place in the sbt configuration directory.

Type: list of submodules

Default: [ ]

Example:

[
  {
    org = "net.virtual-void";
    artifact = "sbt-dependency-graph";
    version = "0.10.0-RC1";
  }
  {
    org = "com.dwijnand";
    artifact = "sbt-project-graph";
    version = "0.4.0";
  }
]

Declared by:

<home-manager/modules/programs/sbt.nix>
programs.sbt.plugins.*.artifact

The name of the artifact.

Type: string

Declared by:

<home-manager/modules/programs/sbt.nix>
programs.sbt.plugins.*.org

The organization the artifact is published under.

Type: string

Declared by:

<home-manager/modules/programs/sbt.nix>
programs.sbt.plugins.*.version

The version of the plugin.

Type: string

Declared by:

<home-manager/modules/programs/sbt.nix>
programs.scmpuff.enable

Whether to enable scmpuff, a command line tool that allows you to work quicker with Git by substituting numeric shortcuts for files.

Type: boolean

Default: false

Example: true

Declared by:

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

Whether to enable Bash integration.

Type: boolean

Default: true

Declared by:

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

Whether to enable Zsh integration.

Type: boolean

Default: true

Declared by:

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

Package providing the scmpuff tool.

Type: package

Default: pkgs.scmpuff

Declared by:

<home-manager/modules/programs/scmpuff.nix>
programs.senpai.enable

Whether to enable senpai.

Type: boolean

Default: false

Example: true

Declared by:

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

The senpai package to use.

Type: package

Default: pkgs.senpai

Declared by:

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

Configuration for senpai. For a complete list of options, see senpai(5).

Type: YAML value

Example:

{
  addr = "libera.chat:6697";
  nick = "nicholas";
  password = "verysecurepassword";
}

Declared by:

<home-manager/modules/programs/senpai.nix>
programs.senpai.config.addr

The address (host[:port]) of the IRC server. senpai uses TLS connections by default unless you specify no-tls option. TLS connections default to port 6697, plain-text use port 6667.

Type: string

Declared by:

<home-manager/modules/programs/senpai.nix>
programs.senpai.config.nick

Your nickname, sent with a NICK IRC message. It mustn't contain spaces or colons (:).

Type: string

Declared by:

<home-manager/modules/programs/senpai.nix>
programs.senpai.config.no-tls

Disables TLS encryption.

Type: boolean

Default: false

Declared by:

<home-manager/modules/programs/senpai.nix>
programs.senpai.config.password

Your password, used for SASL authentication. Note that it will reside world-readable in the Nix store.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/senpai.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.enableFishIntegration

Whether to enable Fish 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.sm64ex.enable

Whether to enable sm64ex.

Type: boolean

Default: false

Example: true

Declared by:

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

The sm64ex package to use.

Type: package

Default: (build of sm64ex-unstable-2021-11-30)

Declared by:

<home-manager/modules/programs/sm64ex.nix>
programs.sm64ex.baserom

The path to the Super Mario 64 baserom to extract assets from.

Type: null or path

Default: null

Example: /home/foo/baserom.us.z64

Declared by:

<home-manager/modules/programs/sm64ex.nix>
programs.sm64ex.extraCompileFlags

Extra flags to pass to the compiler. See https://github.com/sm64pc/sm64ex/wiki/Build-options for more information.

Type: null or list of strings

Default: null

Example:

[
  "BETTERCAMERA=1"
  "NODRAWINGDISTANCE=1"
];

Declared by:

<home-manager/modules/programs/sm64ex.nix>
programs.sm64ex.region

Your baserom's region. Note that only "us", "eu", and "jp" are supported.

Type: null or one of "us", "eu", "jp"

Default: us

Example: jp

Declared by:

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

Settings for sm64ex's $XDG_DATA_HOME/sm64pc/sm64config.txt file.

Type: null or attribute set of string or signed integer or boolean or list of stringss

Default: null

Example:

{
  fullscreen = false;
  window_x = 0;
  window_y = 0;
  window_w = 1920;
  window_h = 1080;
  vsync = 1;
  texture_filtering = 1;
  master_volume = 127;
  music_volume = 127;
  sfx_volume = 127;
  env_volume = 127;
  key_a = [ "0026" "1000" "1103" ];
  key_b = [ "0033" "1002" "1101" ];
  key_start = [ "0039" "1006" "ffff" ];
  key_l = [ "0034" "1007" "1104" ];
  key_r = [ "0036" "100a" "1105" ];
  key_z = [ "0025" "1009" "1102" ];
  key_cup = [ "100b" "ffff" "ffff" ];
  key_cdown = [ "100c" "ffff" "ffff" ];
  key_cleft = [ "100d" "ffff" "ffff" ];
  key_cright = [ "100e" "ffff" "ffff" ];
  key_stickup = [ "0011" "ffff" "ffff" ];
  key_stickdown = [ "001f" "ffff" "ffff" ];
  key_stickleft = [ "001e" "ffff" "ffff" ];
  key_stickright = [ "0020" "ffff" "ffff" ];
  stick_deadzone = 16;
  rumble_strength = 10;
  skip_intro = 1;
};

Declared by:

<home-manager/modules/programs/sm64ex.nix>
programs.sqls.enable

Whether to enable sqls, a SQL language server written in Go.

Type: boolean

Default: false

Example: true

Declared by:

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

Configuration written to $XDG_CONFIG_HOME/sqls/config.yml. See https://github.com/lighttiger2505/sqls#db-configuration for supported values.

Type: YAML value

Default: { }

Example:

{
   lowercaseKeywords = true;
   connections = [
     {
       driver = "mysql";
       dataSourceName = "root:root@tcp(127.0.0.1:13306)/world";
     }
   ];
}

Declared by:

<home-manager/modules/programs/sqls.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.includes

File globs of ssh config files that should be included via the Include directive.

See ssh_config(5) for more information.

Type: list of strings

Default: [ ]

Declared by:

<home-manager/modules/programs/ssh.nix>
programs.ssh.matchBlocks

Specify per-host settings. Note, if the order of rules matter then use the DAG functions to express the dependencies as shown in the example.

See ssh_config(5) for more information.

Type: list or DAG of submodules

Default: { }

Example:

{
  "john.example.com" = {
    hostname = "example.com";
    user = "john";
  };
  foo = lib.hm.dag.entryBefore ["john.example.com"] {
    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 files from which the user certificate is read.

Type: list of strings or null or string

Default: [ ]

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: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: null

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: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: null

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: null or string

Default: null

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: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: null

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: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: null

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: null or string

Default: null

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: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: null

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>.serverAliveCountMax

Sets the number of server alive messages which may be sent without SSH receiving any messages back from the server.

Type: positive integer, meaning >0

Default: 3

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.serverAliveCountMax

Sets the default number of server alive messages which may be sent without SSH receiving any messages back from the server.

Type: positive integer, meaning >0

Default: 3

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.package

The package to use for the starship binary.

Type: package

Default: pkgs.starship

Declared by:

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

Configuration written to $XDG_CONFIG_HOME/starship.toml.

See https://starship.rs/config/ for the full list of options.

Type: Starship configuration

Default: { }

Example:

{
  add_newline = false;
  format = lib.concatStrings [
    "$line_break"
    "$package"
    "$line_break"
    "$character"
  ];
  scan_timeout = 10;
  character = {
    success_symbol = "➜";
    error_symbol = "➜";
  };
}

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 $XDG_CONFIG_HOME/task/taskrc.

Type: attribute set of anythings

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 $XDG_CONFIG_HOME/task/taskrc.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/taskwarrior.nix>
programs.terminator.enable

Whether to enable terminator, a tiling terminal emulator.

Type: boolean

Default: false

Example: true

Declared by:

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

terminator package to install.

Type: package

Default: (build of terminator-2.1.1)

Example: pkgs.terminator

Declared by:

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

configuration for terminator.

For a list of all possible options refer to the terminator_config(5) man page.

Type: attribute set of anythings

Default: { }

Example:

{
  global_config.borderless = true;
  profiles.default.background_color = "#002b36";
}

Declared by:

<home-manager/modules/programs/terminator.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.enableVteIntegration

Whether to enable Shell VTE integration.

Type: boolean

Default: true

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

Scrollbar position.

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 TeX Live.

Type: boolean

Default: false

Example: true

Declared by:

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

Resulting customized TeX Live package.

Type: package (read only)

Declared by:

<home-manager/modules/programs/texlive.nix>
programs.texlive.packageSet

TeX Live package set to use.

Type: unspecified

Default: pkgs.texlive

Declared by:

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

Extra packages available to TeX Live.

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.prefix

Set the prefix key. Overrules the "shortcut" option when set.

Type: null or string

Default: null

Example: "C-a"

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.shell

Set the default-shell tmux variable.

Type: null or string

Default: null

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

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

Whether to enable topgrade.

Type: boolean

Default: false

Example: true

Declared by:

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

The package to use for the topgrade binary.

Type: package

Default: pkgs.topgrade

Declared by:

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

Configuration written to $XDG_CONFIG_HOME/topgrade.toml.

See https://github.com/r-darwish/topgrade/wiki/Step-list for the full list of options.

Type: TOML value

Default: { }

Example:

{
  assume_yes = true;
  disable = [
    "flutter"
    "node"
  ];
  set_title = false;
  cleanup = true;
  commands = {
    "Run garbage collection on Nix store" = "nix-collect-garbage";
  };
}

Declared by:

<home-manager/modules/programs/topgrade.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 of anythings

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.packageConfigurable

Configurable vim package

Type: package

Default: "pkgs.vim_configurable"

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-11-24) ]

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.63.0)

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.keybindings

Keybindings written to Visual Studio Code's keybindings.json.

Type: list of submodules

Default: [ ]

Example:

[
  {
    key = "ctrl+c";
    command = "editor.action.clipboardCopyAction";
    when = "textInputFocus";
  }
]

Declared by:

<home-manager/modules/programs/vscode.nix>
programs.vscode.keybindings.*.args

Optional arguments for a command.

Type: null or JSON value

Default: null

Example: { direction = "up"; }

Declared by:

<home-manager/modules/programs/vscode.nix>
programs.vscode.keybindings.*.command

The VS Code command to execute.

Type: string

Example: "editor.action.clipboardCopyAction"

Declared by:

<home-manager/modules/programs/vscode.nix>
programs.vscode.keybindings.*.key

The key or key-combination to bind.

Type: string

Example: "ctrl+c"

Declared by:

<home-manager/modules/programs/vscode.nix>
programs.vscode.keybindings.*.when

Optional context filter.

Type: null or string

Default: null

Example: "textInputFocus"

Declared by:

<home-manager/modules/programs/vscode.nix>
programs.vscode.userSettings

Configuration written to Visual Studio Code's settings.json.

Type: JSON value

Default: { }

Example:

{
  "update.channel" = "none";
  "[nix]"."editor.tabSize" = 2;
}

Declared by:

<home-manager/modules/programs/vscode.nix>
programs.waybar.enable

Whether to enable Waybar.

Type: boolean

Default: false

Example: true

Declared by:

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

Waybar package to use. Set to null to use the default package.

Type: package

Default: pkgs.waybar

Declared by:

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

Configuration for Waybar, see https://github.com/Alexays/Waybar/wiki/Configuration for supported values.

Type: list of JSON values

Default: [ ]

Example:

[
  {
    layer = "top";
    position = "top";
    height = 30;
    output = [
      "eDP-1"
      "HDMI-A-1"
    ];
    modules-left = [ "sway/workspaces" "sway/mode" "wlr/taskbar" ];
    modules-center = [ "sway/window" "custom/hello-from-waybar" ];
    modules-right = [ "mpd" "custom/mymodule#with-css-id" "temperature" ];
    modules = {
      "sway/workspaces" = {
        disable-scroll = true;
        all-outputs = true;
      };
      "custom/hello-from-waybar" = {
        format = "hello {}";
        max-length = 40;
        interval = "once";
        exec = pkgs.writeShellScript "hello-from-waybar" ''
          echo "from within waybar"
        '';
      };
    };
  }
]

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.gtk-layer-shell

Option to disable the use of gtk-layer-shell for popups.

Type: null or boolean

Default: null

Example: false

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.height

Height to be used by the bar if possible. Leave blank for a dynamic value.

Type: null or unsigned integer, meaning >=0

Default: null

Example: 5

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.layer

Decide if the bar is displayed in front ("top") of the windows or behind ("bottom").

Type: null or one of "top", "bottom"

Default: null

Example: "top"

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.margin

Margins value using the CSS format without units.

Type: null or string

Default: null

Example: "20 5"

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.margin-bottom

Margin value without unit.

Type: null or signed integer

Default: null

Example: 10

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.margin-left

Margin value without unit.

Type: null or signed integer

Default: null

Example: 10

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.margin-right

Margin value without unit.

Type: null or signed integer

Default: null

Example: 10

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.margin-top

Margin value without unit.

Type: null or signed integer

Default: null

Example: 10

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.modules

Modules configuration.

Type: JSON value

Default: { }

Example:

{
  "sway/window" = {
    max-length = 50;
  };
  "clock" = {
    format-alt = "{:%a, %d. %b  %H:%M}";
  };
}

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.modules-center

Modules that will be displayed in the center.

Type: list of strings

Default: [ ]

Example:

[ "sway/window" ]

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.modules-left

Modules that will be displayed on the left.

Type: list of strings

Default: [ ]

Example:

[ "sway/workspaces" "sway/mode" "wlr/taskbar" ]

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.modules-right

Modules that will be displayed on the right.

Type: list of strings

Default: [ ]

Example:

[ "mpd" "custom/mymodule#with-css-id" "temperature" ]

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.name

Optional name added as a CSS class, for styling multiple waybars.

Type: null or string

Default: null

Example: "waybar-1"

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.output

Specifies on which screen this bar will be displayed. Exclamation mark(!) can be used to exclude specific output.

Type: null or string or list of strings

Default: null

Example:

[ "DP-1" "!DP-2" "!DP-3" ]

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.position

Bar position relative to the output.

Type: null or one of "top", "bottom", "left", "right"

Default: null

Example: "right"

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.settings.*.width

Width to be used by the bar if possible. Leave blank for a dynamic value.

Type: null or unsigned integer, meaning >=0

Default: null

Example: 5

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.style

CSS style of the bar.

See https://github.com/Alexays/Waybar/wiki/Configuration for the documentation.

If the value is set to a path literal, then the path will be used as the css file.

Type: null or path or string

Default: null

Example:

''
* {
  border: none;
  border-radius: 0;
  font-family: Source Code Pro;
}
window#waybar {
  background: #16191C;
  color: #AAB2BF;
}
#workspaces button {
  padding: 0 5px;
}
''

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.waybar.systemd.enable

Whether to enable Waybar systemd integration.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/waybar.nix>
programs.xmobar.enable

Whether to enable Xmobar, a minimalistic status bar.

Type: boolean

Default: false

Example: true

Declared by:

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

Package providing the xmobar binary.

Type: package

Default: pkgs.haskellPackages.xmobar

Declared by:

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

Extra configuration lines to add to $XDG_CONFIG_HOME/xmobar/.xmobarrc. See https://xmobar.org/#configuration for options.

Type: strings concatenated with "\n"

Default: ""

Example:

Config
  { font        = "Fira Code"
  , borderColor = "#d0d0d0"
  , border      = FullB
  , borderWidth = 3
  , bgColor     = "#222"
  , fgColor     = "grey"
  , position    = TopSize C 99 30
  , commands    =
      [ Run Cpu ["-t", "cpu: <fc=#4eb4fa><bar> <total>%</fc>"] 10
      , Run Network "enp3s0" ["-S", "True", "-t", "eth: <fc=#4eb4fa><rx></fc>/<fc=#4eb4fa><tx></fc>"] 10
      , Run Memory ["-t","mem: <fc=#4eb4fa><usedbar> <usedratio>%</fc>"] 10
      , Run Date "date: <fc=#4eb4fa>%a %d %b %Y %H:%M:%S </fc>" "date" 10
      , Run StdinReader
      ]
  , sepChar     = "%"
  , alignSep    = "}{"
  , template    = "  %StdinReader% | %cpu% | %memory% | %enp3s0%  }{%date%  "
  }

Declared by:

<home-manager/modules/programs/xmobar.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.package

The Zathura package to use

Type: package

Default: "pkgs.zathura"

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

Whether to enable zoxide.

Type: boolean

Default: false

Example: true

Declared by:

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

Whether to enable Bash integration.

Type: boolean

Default: true

Declared by:

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

Whether to enable Fish integration.

Type: boolean

Default: true

Declared by:

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

Whether to enable Zsh integration.

Type: boolean

Default: true

Declared by:

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

Zoxide package to install.

Type: package

Default: pkgs.zoxide

Declared by:

<home-manager/modules/programs/zoxide.nix>
programs.zoxide.options

List of options to pass to zoxide.

Type: list of strings

Default: [ ]

Example: [ "--no-aliases" ]

Declared by:

<home-manager/modules/programs/zoxide.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.enableSyntaxHighlighting

Enable zsh syntax highlighting

Type: unspecified

Default: false

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.enableVteIntegration

Whether to enable integration with terminals using the VTE library. This will let the terminal track the current working directory.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/misc/vte.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.cdpath

List of paths to autocomplete calls to `cd`.

Type: list of strings

Default: [ ]

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.completionInit

Initialization commands to run when completion is enabled.

Type: strings concatenated with "\n"

Default: "autoload -U compinit && compinit"

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.dirHashes

An attribute set that adds to named directory hash table.

Type: attribute set of strings

Default: { }

Example:

{
  docs  = "$HOME/Documents";
  vids  = "$HOME/Videos";
  dl    = "$HOME/Downloads";
}

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.ignorePatterns

Do not enter command lines into the history list if they match any one of the given shell patterns.

Type: list of strings

Default: [ ]

Example: [ "rm *" "pkill *" ]

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.history.ignoreSpace

Do not enter command lines into the history list if the first character is a space.

Type: boolean

Default: true

Declared by:

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

History file location

Type: string

Default:

"$HOME/.zsh_history" if state version ≥ 20.03,
"$ZDOTDIR/.zsh_history" otherwise

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.initExtraFirst

Commands that should be added to top of .zshrc.

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.extraConfig

Extra settings for plugins.

Type: strings concatenated with "\n"

Default: ""

Example:

''
zstyle :omz:plugins:ssh-agent identities id_rsa id_rsa2 id_github
''

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.prezto

Options to configure prezto.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.enable

Whether to enable prezto.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.autosuggestions.color

Set the query found color.

Type: null or string

Default: null

Example: "fg=blue"

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.caseSensitive

Set case-sensitivity for completion, history lookup, etc.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.color

Color output (auto set to 'no' on dumb terminals)

Type: null or boolean

Default: true

Example: false

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.completions.ignoredHosts

Set the entries to ignore in static */etc/hosts* for host completion.

Type: list of strings

Default: [ ]

Example: [ "0.0.0.0" "127.0.0.1" ]

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.editor.dotExpansion

Auto convert .... to ../..

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.editor.keymap

Set the key mapping style to 'emacs' or 'vi'.

Type: null or one of "emacs", "vi"

Default: "emacs"

Example: "vi"

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.editor.promptContext

Allow the zsh prompt context to be shown.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.extraConfig

Additional configuration to add to .zpreztorc.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.extraFunctions

Set the Zsh functions to load (man zshcontrib).

Type: list of strings

Default: [ ]

Example: [ "zargs" "zmv" ]

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.extraModules

Set the Zsh modules to load (man zshmodules).

Type: list of strings

Default: [ ]

Example: [ "attr" "stat" ]

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.git.submoduleIgnore

Ignore submodules when they are 'dirty', 'untracked', 'all', or 'none'.

Type: null or one of "dirty", "untracked", "all", "none"

Default: null

Example: "all"

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.gnuUtility.prefix

Set the command prefix on non-GNU systems.

Type: null or string

Default: null

Example: "g"

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.historySubstring.foundColor

Set the query found color.

Type: null or string

Default: null

Example: "fg=blue"

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.historySubstring.globbingFlags

Set the search globbing flags.

Type: null or string

Default: null

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.historySubstring.notFoundColor

Set the query not found color.

Type: null or string

Default: null

Example: "fg=red"

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.macOS.dashKeyword

Set the keyword used by `mand` to open man pages in Dash.app

Type: null or string

Default: null

Example: "manpages"

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.pmoduleDirs

Add additional directories to load prezto modules from

Type: list of paths

Default: [ ]

Example: [ "$HOME/.zprezto-contrib" ]

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.pmodules

Set the Prezto modules to load (browse modules). The order matters.

Type: list of strings

Default: [ "environment" "terminal" "editor" "history" "directory" "spectrum" "utility" "completion" "prompt" ]

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.prompt.pwdLength

Set the working directory prompt display length. By default, it is set to 'short'. Set it to 'long' (without '~' expansion) for longer or 'full' (with '~' expansion) for even longer prompt display.

Type: null or one of "short", "long", "full"

Default: null

Example: "short"

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.prompt.showReturnVal

Set the prompt to display the return code along with an indicator for non-zero return codes. This is not supported by all prompts.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.prompt.theme

Set the prompt theme to load. Setting it to 'random' loads a random theme. Auto set to 'off' on dumb terminals.

Type: null or string

Default: "sorin"

Example: "pure"

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.python.virtualenvAutoSwitch

Auto switch to Python virtualenv on directory change.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.python.virtualenvInitialize

Automatically initialize virtualenvwrapper if pre-requisites are met.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.ruby.chrubyAutoSwitch

Auto switch the Ruby version on directory change.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.screen.autoStartLocal

Auto start a session when Zsh is launched in a local terminal.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.screen.autoStartRemote

Auto start a session when Zsh is launched in a SSH connection.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.ssh.identities

Set the SSH identities to load into the agent.

Type: list of strings

Default: [ ]

Example: [ "id_rsa" "id_rsa2" "id_github" ]

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.syntaxHighlighting.highlighters

Set syntax highlighters. By default, only the main highlighter is enabled.

Type: list of strings

Default: [ ]

Example: [ "main" "brackets" "pattern" "line" "cursor" "root" ]

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.syntaxHighlighting.pattern

Set syntax pattern styles.

Type: attribute set of strings

Default: { }

Example: { rm*-rf* = "fg=white,bold,bg=red"; }

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.syntaxHighlighting.styles

Set syntax highlighting styles.

Type: attribute set of strings

Default: { }

Example: { builtin = "bg=blue"; command = "bg=blue"; function = "bg=blue"; }

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.terminal.autoTitle

Auto set the tab and window titles.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.terminal.multiplexerTitleFormat

Set the multiplexer title format.

Type: null or string

Default: null

Example: "%s"

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.terminal.tabTitleFormat

Set the tab title format.

Type: null or string

Default: null

Example: "%m: %s"

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.terminal.windowTitleFormat

Set the window title format.

Type: null or string

Default: null

Example: "%n@%m: %s"

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.tmux.autoStartLocal

Auto start a session when Zsh is launched in a local terminal.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.tmux.autoStartRemote

Auto start a session when Zsh is launched in a SSH connection.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.tmux.defaultSessionName

Set the default session name.

Type: null or string

Default: null

Example: "YOUR DEFAULT SESSION NAME"

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.tmux.itermIntegration

Integrate with iTerm2.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/programs/zsh/prezto.nix>
programs.zsh.prezto.utility.safeOps

Enabled safe options. This aliases cp, ln, mv and rm so that they prompt before deleting or overwriting files. Set to 'no' to disable this safer behavior.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/programs/zsh/prezto.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:

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

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.shellGlobalAliases

Similar to opt-programs.zsh.shellAliases, but are substituted anywhere on a line.

Type: attribute set of strings

Default: { }

Example:

{
  UUID = "$(uuidgen | tr -d \\n)";
  G = "| grep";
}

Declared by:

<home-manager/modules/programs/zsh.nix>
programs.zsh.zplug.enable

Whether to enable zplug - a zsh plugin manager.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/programs/zplug.nix>
programs.zsh.zplug.plugins

List of zplug plugins.

Type: list of submodules

Default: [ ]

Declared by:

<home-manager/modules/programs/zplug.nix>
programs.zsh.zplug.plugins.*.name

The name of the plugin.

Type: string

Declared by:

<home-manager/modules/programs/zplug.nix>
programs.zsh.zplug.plugins.*.tags

The plugin tags.

Type: list of strings

Default: [ ]

Declared by:

<home-manager/modules/programs/zplug.nix>
programs.zsh.zplug.zplugHome

Path to zplug home directory.

Type: path

Default: "~/.zplug"

Declared by:

<home-manager/modules/programs/zplug.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.8.3): QPlatformTheme for a better Qt application inclusion in GNOME

  • pkgs.libsForQt5.qtstyleplugins (qtstyleplugins-unstable-2017-03-11): Additional style plugins for Qt5, including BB10, GTK, Cleanlooks, Motif, Plastique

Declared by:

<home-manager/modules/misc/qt.nix>
qt.style.package

Theme package to be used in Qt5 applications.

Type: null or package

Default: null

Example: pkgs.adwaita-qt

Declared by:

<home-manager/modules/misc/qt.nix>
qt.style.name

Selects the style to use for Qt5 applications.

The options are

adwaita, adwaita-dark

Use Adwaita Qt style with adwaita

cleanlooks, gtk2, motif, plastique

Use styles from qtstyleplugins

Type: null or string

Default: null

Example: "adwaita-dark"

Related packages:

  • pkgs.adwaita-qt (adwaita-qt-1.4.1): A style to bend Qt applications to look like they belong into GNOME Shell

  • pkgs.libsForQt5.qtstyleplugins (qtstyleplugins-unstable-2017-03-11): Additional style plugins for Qt5, including BB10, GTK, Cleanlooks, Motif, Plastique

Declared by:

<home-manager/modules/misc/qt.nix>
services.barrier.client.enable

Whether to enable Barrier Client daemon.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/barrier.nix>
services.barrier.client.enableCrypto

Whether to enable crypto (SSL) plugin.

Type: boolean

Default: true

Example: true

Declared by:

<home-manager/modules/services/barrier.nix>
services.barrier.client.enableDragDrop

Whether to enable file drag & drop.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/barrier.nix>
services.barrier.client.extraFlags

Additional flags to pass to barrierc. See barrierc --help.

Type: list of strings

Default: [ "-f" ]

Declared by:

<home-manager/modules/services/barrier.nix>
services.barrier.client.name

Screen name of client. Defaults to hostname.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/barrier.nix>
services.barrier.client.server

Server to connect to formatted as <host>[:<port>]. Port defaults to 24800.

Type: string

Declared by:

<home-manager/modules/services/barrier.nix>
services.betterlockscreen.enable

Whether to enable betterlockscreen, a screen-locker module.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/betterlockscreen.nix>
services.betterlockscreen.package

Package providing betterlockscreen.

Type: package

Default: pkgs.betterlockscreen

Declared by:

<home-manager/modules/services/betterlockscreen.nix>
services.betterlockscreen.arguments

List of arguments appended to ./betterlockscreen --lock [args]

Type: list of strings

Default: [ ]

Declared by:

<home-manager/modules/services/betterlockscreen.nix>
services.betterlockscreen.inactiveInterval

Value used for services.screen-locker.inactiveInterval.

Type: signed integer

Default: 10

Declared by:

<home-manager/modules/services/betterlockscreen.nix>
services.blueman-applet.enable

Whether to enable the Blueman applet.

Note, for the applet to work, the 'blueman' service should be enabled system-wide. You can enable it in the system configuration using

  services.blueman.enable = true;

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/blueman-applet.nix>
services.caffeine.enable

Whether to enable Caffeine service.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/caffeine.nix>
services.cbatticon.enable

Whether to enable cbatticon.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/cbatticon.nix>
services.cbatticon.commandCriticalLevel

Command to execute when the critical battery level is reached.

Type: null or strings concatenated with "\n"

Default: null

Example:

''
notify-send "battery critical!"
''

Declared by:

<home-manager/modules/services/cbatticon.nix>
services.cbatticon.commandLeftClick

Command to execute when left clicking on the tray icon.

Type: null or strings concatenated with "\n"

Default: null

Declared by:

<home-manager/modules/services/cbatticon.nix>
services.cbatticon.criticalLevelPercent

Critical level percentage of the battery in percent (without the percent symbol).

Type: null or integer between 0 and 100 (both inclusive)

Default: null

Example: 5

Declared by:

<home-manager/modules/services/cbatticon.nix>
services.cbatticon.hideNotification

Hide the notification popups.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/services/cbatticon.nix>
services.cbatticon.iconType

Icon type to display in the system tray.

Type: null or one of "standard", "notification", "symbolic"

Default: null

Example: "symbolic"

Declared by:

<home-manager/modules/services/cbatticon.nix>
services.cbatticon.lowLevelPercent

Low level percentage of the battery in percent (without the percent symbol).

Type: null or integer between 0 and 100 (both inclusive)

Default: null

Example: 20

Declared by:

<home-manager/modules/services/cbatticon.nix>
services.cbatticon.updateIntervalSeconds

Number of seconds between updates of the battery information.

Type: null or positive integer, meaning >0

Default: null

Example: 5

Declared by:

<home-manager/modules/services/cbatticon.nix>
services.clipmenu.enable

Whether to enable clipmenu, the clipboard management daemon.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/clipmenu.nix>
services.clipmenu.package

clipmenu derivation to use.

Type: package

Default: "pkgs.clipmenu"

Declared by:

<home-manager/modules/services/clipmenu.nix>
services.devilspie2.enable

Whether to enable Devilspie2, a window matching utility, allowing the user to perform scripted actions on windows as they are created.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/devilspie2.nix>
services.devilspie2.config

Content of file placed in the devilspie2 config directory.

Type: strings concatenated with "\n"

Default: ""

Example:

''
if (get_window_class() == "Gnome-terminal") then
    make_always_on_top();
end
''

Declared by:

<home-manager/modules/services/devilspie2.nix>
services.dropbox.enable

Whether to enable Dropbox daemon.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/dropbox.nix>
services.dropbox.path

Where to put the Dropbox directory.

Type: path

Default: "${config.home.homeDirectory}/Dropbox"

Declared by:

<home-manager/modules/services/dropbox.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.package

Package providing dunst.

Type: package

Default: pkgs.dunst

Declared by:

<home-manager/modules/services/dunst.nix>
services.dunst.configFile

Path to the configuration file read by dunst.

Note that the configuration generated by Home Manager will be written to $XDG_CONFIG_HOME/dunst/dunstrc regardless. This allows using a mutable configuration file generated from the immutable one, useful in scenarios where live reloading is desired.

Type: string or path

Default: "$XDG_CONFIG_HOME/dunst/dunstrc"

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.gnome.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 $XDG_CONFIG_HOME/dunst/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.dunst.settings.global.icon_path

Paths where dunst will look for icons.

Type: strings concatenated with ":"

Declared by:

<home-manager/modules/services/dunst.nix>
services.dunst.waylandDisplay

Set the service's WAYLAND_DISPLAY environment variable.

Type: string

Default: ""

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: JSON value

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

Whether to enable Easyeffects daemon. Note, it is necessary to add

programs.dconf.enable = true;

to your system configuration for the daemon to work correctly.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/easyeffects.nix>
services.easyeffects.preset

Which preset to use when starting easyeffects. Will likely need to launch easyeffects to initially create preset.

Type: string

Default: ""

Declared by:

<home-manager/modules/services/easyeffects.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.emacs.package

The Emacs package to use.

Type: package

Default:

if config.programs.emacs.enable then config.programs.emacs.finalPackage
else pkgs.emacs

Declared by:

<home-manager/modules/services/emacs.nix>
services.emacs.client.enable

Whether to enable generation of Emacs client desktop file.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/emacs.nix>
services.emacs.client.arguments

Command-line arguments to pass to emacsclient.

Type: list of strings

Default: [ "-c" ]

Declared by:

<home-manager/modules/services/emacs.nix>
services.emacs.extraOptions

Extra command-line arguments to pass to emacs.

Type: list of strings

Default: [ ]

Example: [ "-f" "exwm-enable" ]

Declared by:

<home-manager/modules/services/emacs.nix>
services.emacs.socketActivation.enable

Whether to enable systemd socket activation for the Emacs service.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/emacs.nix>
services.etesync-dav.enable

Whether to enable etesync-dav.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/etesync-dav.nix>
services.etesync-dav.package

The etesync-dav derivation to use.

Type: package

Default: "pkgs.etesync-dav"

Declared by:

<home-manager/modules/services/etesync-dav.nix>
services.etesync-dav.serverUrl

The URL to the etesync server.

Type: string

Default: "https://api.etesync.com/"

Declared by:

<home-manager/modules/services/etesync-dav.nix>
services.etesync-dav.settings

Settings for etesync-dav, passed as environment variables.

Type: attribute set of string or signed integers

Default: { }

Example:

{
  ETESYNC_LISTEN_ADDRESS = "localhost";
  ETESYNC_LISTEN_PORT = 37358;
}

Declared by:

<home-manager/modules/services/etesync-dav.nix>
services.flameshot.enable

Whether to enable Flameshot.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/flameshot.nix>
services.flameshot.package

Package providing flameshot.

Type: package

Default: pkgs.flameshot

Declared by:

<home-manager/modules/services/flameshot.nix>
services.flameshot.settings

Configuration to use for Flameshot. See https://github.com/flameshot-org/flameshot/blob/master/flameshot.example.ini for available options.

Type: attribute set of attribute set of INI atom (null, bool, int, float or string)ss

Default: { }

Example: { General = { disabledTrayIcon = true; showStartupLaunchMessage = false; } ; }

Declared by:

<home-manager/modules/services/flameshot.nix>
services.fluidsynth.enable

Whether to enable fluidsynth midi synthesizer.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/fluidsynth.nix>
services.fluidsynth.extraOptions

Extra arguments, added verbatim to the fluidsynth command. See fluidsynth.conf(1).

Type: list of strings

Default: [ ]

Example: [ "--sample-rate 96000" ]

Declared by:

<home-manager/modules/services/fluidsynth.nix>
services.fluidsynth.soundFont

The soundfont file to use, in SoundFont 2 format.

Type: path

Default: "\${pkgs.soundfont-fluid}/share/soundfonts/FluidR3_GM2-2.sf2"

Declared by:

<home-manager/modules/services/fluidsynth.nix>
services.fluidsynth.soundService

The systemd sound service to depend on.

Type: one of "jack", "pipewire-pulse", "pulseaudio"

Default: "pulseaudio"

Example: "pipewire-pulse"

Declared by:

<home-manager/modules/services/fluidsynth.nix>
services.fnott.enable

Whether to enable fnott, a lightweight Wayland notification daemon for wlroots-based compositors .

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/fnott.nix>
services.fnott.package

Package providing fnott.

Type: package

Default: pkgs.fnott

Declared by:

<home-manager/modules/services/fnott.nix>
services.fnott.configFile

Path to the configuration file read by fnott.

Note that environment variables in the path won't be properly expanded.

The configuration specified under services.fnott.settings will be generated and written to $XDG_CONFIG_HOME/fnott/fnott.ini regardless of this option. This allows using a mutable configuration file generated from the immutable one, useful in scenarios where live reloading is desired.

Type: string or path

Default: "$XDG_CONFIG_HOME/fnott/fnott.ini"

Declared by:

<home-manager/modules/services/fnott.nix>
services.fnott.extraFlags

Extra arguments to use for executing fnott.

Type: list of strings

Default: [ ]

Example: [ "-s" ]

Declared by:

<home-manager/modules/services/fnott.nix>
services.fnott.settings

Configuration written to $XDG_CONFIG_HOME/fnott/fnott.ini.

See fnott.ini(5) for a list of avaliable options and https://codeberg.org/dnkl/fnott/src/branch/master/fnott.ini for an example configuration.

Type: attribute set of attribute set of INI atom (null, bool, int, float or string)ss

Default: { }

Example:

{
  main = {
    notification-margin = 5;
  };

  low = {
    timeout = 5;
    title-font = "Dina:weight=bold:slant=italic";
    title-color = "ffffff";
  };
}

Declared by:

<home-manager/modules/services/fnott.nix>
services.gammastep.enable

Whether to enable Gammastep.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/redshift-gammastep/gammastep.nix>
services.gammastep.package

Gammastep derivation to use.

Type: package

Default: pkgs.gammastep

Declared by:

<home-manager/modules/services/redshift-gammastep/gammastep.nix>
services.gammastep.dawnTime

Set the time interval of dawn manually. The times must be specified as HH:MM in 24-hour format.

Type: null or string

Default: null

Example: "6:00-7:45"

Declared by:

<home-manager/modules/services/redshift-gammastep/gammastep.nix>
services.gammastep.duskTime

Set the time interval of dusk manually. The times must be specified as HH:MM in 24-hour format.

Type: null or string

Default: null

Example: "18:35-20:15"

Declared by:

<home-manager/modules/services/redshift-gammastep/gammastep.nix>
services.gammastep.latitude

Your current latitude, between -90.0 and 90.0. Must be provided along with longitude.

Type: null or string or floating point number

Default: null

Declared by:

<home-manager/modules/services/redshift-gammastep/gammastep.nix>
services.gammastep.longitude

Your current longitude, between -180.0 and 180.0. Must be provided along with latitude.

Type: null or string or floating point number

Default: null

Declared by:

<home-manager/modules/services/redshift-gammastep/gammastep.nix>
services.gammastep.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-gammastep/gammastep.nix>
services.gammastep.settings

The configuration to pass to Gammastep. Available options for Gammastep described in gammastep(1).

Type: attribute set of attribute set of INI atom (null, bool, int, float or string)ss

Default: { }

Example:

{
  general = {
    adjustment-method = "randr";
  };
  randr = {
    screen = 0;
  };
};

Declared by:

<home-manager/modules/services/redshift-gammastep/gammastep.nix>
services.gammastep.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-gammastep/gammastep.nix>
services.gammastep.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-gammastep/gammastep.nix>
services.gammastep.tray

Start the gammastep-indicator tray applet.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/redshift-gammastep/gammastep.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.git-sync.enable

Whether to enable git-sync services.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/git-sync.nix>
services.git-sync.package

Package containing the git-sync program.

Type: package

Default: pkgs.git-sync

Declared by:

<home-manager/modules/services/git-sync.nix>
services.git-sync.repositories

The repositories that should be synchronized.

Type: attribute set of submodules

Declared by:

<home-manager/modules/services/git-sync.nix>
services.git-sync.repositories.<name>.interval

The interval, specified in seconds, at which the synchronization will be triggered even without filesystem changes.

Type: signed integer

Default: 500

Declared by:

<home-manager/modules/services/git-sync.nix>
services.git-sync.repositories.<name>.path

The path at which to sync the repository

Type: path

Declared by:

<home-manager/modules/services/git-sync.nix>
services.git-sync.repositories.<name>.uri

The URI of the remote to be synchronized. This is only used in the event that the directory does not already exist. See https://git-scm.com/docs/git-clone#_git_urls for the supported URIs.

Type: string

Example: "git+ssh://user@example.com:/~[user]/path/to/repo.git"

Declared by:

<home-manager/modules/services/git-sync.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.pinentryFlavor

Which pinentry interface to use. If not null, it sets pinentry-program in gpg-agent.conf. Beware that pinentry-gnome3 may not work on non-Gnome systems. You can fix it by adding the following to your system configuration:

services.dbus.packages = [ pkgs.gcr ];

For this reason, the default is gtk2 for now.

Type: null or one of "curses", "tty", "gtk2", "emacs", "gnome3", "qt"

Default: "gtk2"

Example: "gnome3"

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

Whether to enable the grobi display setup daemon.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/grobi.nix>
services.grobi.executeAfter

Commands to be run after an output configuration was changed. The Nix value declared here will be translated to JSON and written to the execute_after key in $XDG_CONFIG_HOME/grobi.conf.

Type: list of strings

Default: [ ]

Example: [ "setxkbmap dvorak" ]

Declared by:

<home-manager/modules/services/grobi.nix>
services.grobi.rules

These are the rules grobi tries to match to the current output configuration. The rules are evaluated top to bottom, the first matching rule is applied and processing stops. See https://github.com/fd0/grobi/blob/master/doc/grobi.conf for more information. The Nix value declared here will be translated to JSON and written to the rules key in $XDG_CONFIG_HOME/grobi.conf.

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

Default: [ ]

Example:

[
  {
    name = "Home";
    outputs_connected = [ "DP-2" ];
    configure_single = "DP-2";
    primary = true;
    atomic = true;
    execute_after = [
      "${pkgs.xorg.xrandr}/bin/xrandr --dpi 96"
      "${pkgs.xmonad-with-packages}/bin/xmonad --restart";
    ];
  }
  {
    name = "Mobile";
    outputs_disconnected = [ "DP-2" ];
    configure_single = "eDP-1";
    primary = true;
    atomic = true;
    execute_after = [
      "${pkgs.xorg.xrandr}/bin/xrandr --dpi 120"
      "${pkgs.xmonad-with-packages}/bin/xmonad --restart";
    ];
  }
]

Declared by:

<home-manager/modules/services/grobi.nix>
services.gromit-mpx.enable

Whether to enable Gromit-MPX annotation tool.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/gromit-mpx.nix>
services.gromit-mpx.package

The gromit-mpx package to use.

Type: package

Default: "pkgs.gromit-mpx"

Declared by:

<home-manager/modules/services/gromit-mpx.nix>
services.gromit-mpx.hotKey

A keysym or raw keycode that toggles the activation state of gromit-mpx. Set to null to disable the hotkey in which case you'll have to activate gromit-mpx manually using the command line.

Type: null or string or positive integer, meaning >0

Default: "F9"

Example: "Insert"

Declared by:

<home-manager/modules/services/gromit-mpx.nix>
services.gromit-mpx.opacity

Opacity of the drawing overlay.

Type: float between 0.0 and 1.0 (inclusive)

Default:

Example:

Declared by:

<home-manager/modules/services/gromit-mpx.nix>
services.gromit-mpx.tools

Tool definitions for gromit-mpx to use.

Type: list of submodules

Default: [ { color = "red"; device = "default"; size = 5; type = "pen"; } { color = "blue"; device = "default"; modifiers = [ "SHIFT" ] ; size = 5; type = "pen"; } { color = "yellow"; device = "default"; modifiers = [ "CONTROL" ] ; size = 5; type = "pen"; } { arrowSize = 1; color = "green"; device = "default"; modifiers = [ "2" ] ; size = 6; type = "pen"; } { device = "default"; modifiers = [ "3" ] ; size = 75; type = "eraser"; } ]

Declared by:

<home-manager/modules/services/gromit-mpx.nix>
services.gromit-mpx.tools.*.arrowSize

If not null, automatically draw an arrow at the end of a stroke with the given size.

Type: null or positive integer, meaning >0

Default: null

Example: 2

Declared by:

<home-manager/modules/services/gromit-mpx.nix>
services.gromit-mpx.tools.*.color

The stroke (or recolor) color of the tool.

Type: string

Default: "red"

Example: "#ff00ff"

Declared by:

<home-manager/modules/services/gromit-mpx.nix>
services.gromit-mpx.tools.*.device

Use this tool with the given xinput device. The device with the name default works with any input.

Type: string

Example: "default"

Declared by:

<home-manager/modules/services/gromit-mpx.nix>
services.gromit-mpx.tools.*.modifiers

Only activate this tool if the given modifiers are also active.

Type: list of one of "1", "2", "3", "4", "5", "SHIFT", "CONTROL", "ALT", "META"s

Default: [ ]

Example: [ "SHIFT" ]

Declared by:

<home-manager/modules/services/gromit-mpx.nix>
services.gromit-mpx.tools.*.size

The tool size.

Type: positive integer, meaning >0

Default: 5

Example: 3

Declared by:

<home-manager/modules/services/gromit-mpx.nix>
services.gromit-mpx.tools.*.type

Which type of tool this is.

Type: one of "pen", "eraser", "recolor"

Default: "pen"

Example: "eraser"

Declared by:

<home-manager/modules/services/gromit-mpx.nix>
services.gromit-mpx.undoKey

A keysym or raw keycode that causes gromit-mpx to undo the last stroke. Use this key along with the shift key to redo an undone stoke. Set to null to disable the undo hotkey.

Type: null or string or positive integer, meaning >0

Default: "F10"

Declared by:

<home-manager/modules/services/gromit-mpx.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 JSON values

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

Whether to enable kanshi, a Wayland daemon that automatically configures outputs.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/kanshi.nix>
services.kanshi.package

kanshi derivation to use.

Type: package

Default: pkgs.kanshi

Declared by:

<home-manager/modules/services/kanshi.nix>
services.kanshi.extraConfig

Extra configuration lines to append to the kanshi configuration file.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/services/kanshi.nix>
services.kanshi.profiles

List of profiles.

Type: attribute set of submodules

Default: { }

Example:

undocked = {
  outputs = [
    {
      criteria = "eDP-1";
    }
  ];
};
docked = {
  outputs = [
    {
      criteria = "eDP-1";
    }
    {
      criteria = "Some Company ASDF 4242";
      transform = "90";
    }
  ];
};

Declared by:

<home-manager/modules/services/kanshi.nix>
services.kanshi.profiles.<name>.exec

Commands executed after the profile is succesfully applied. Note that if you provide multiple commands, they will be executed asynchronously with no guaranteed ordering.

Type: list of strings or string convertible to it

Default: [ ]

Example: "[ \${pkg.sway}/bin/swaymsg workspace 1, move workspace to eDP-1 ]"

Declared by:

<home-manager/modules/services/kanshi.nix>
services.kanshi.profiles.<name>.outputs

Outputs configuration.

Type: list of submodules

Default: [ ]

Declared by:

<home-manager/modules/services/kanshi.nix>
services.kanshi.profiles.<name>.outputs.*.criteria

The criteria can either be an output name, an output description or "*". The latter can be used to match any output. On sway(1), output names and descriptions can be obtained via swaymsg -t get_outputs.

Type: string

Declared by:

<home-manager/modules/services/kanshi.nix>
services.kanshi.profiles.<name>.outputs.*.mode

<width>x<height>[@<rate>[Hz]]

Configures the specified output to use the specified mode. Modes are a combination of width and height (in pixels) and a refresh rate (in Hz) that your display can be configured to use.

Type: null or string

Default: null

Example: "1920x1080@60Hz"

Declared by:

<home-manager/modules/services/kanshi.nix>
services.kanshi.profiles.<name>.outputs.*.position

<x>,<y>

Places the output at the specified position in the global coordinates space.

Type: null or string

Default: null

Example: "1600,0"

Declared by:

<home-manager/modules/services/kanshi.nix>
services.kanshi.profiles.<name>.outputs.*.scale

Scales the output by the specified scale factor.

Type: null or floating point number

Default: null

Example: 2

Declared by:

<home-manager/modules/services/kanshi.nix>
services.kanshi.profiles.<name>.outputs.*.status

Enables or disables the specified output.

Type: null or one of "enable", "disable"

Default: null

Declared by:

<home-manager/modules/services/kanshi.nix>
services.kanshi.profiles.<name>.outputs.*.transform

Sets the output transform.

Type: null or one of "normal", "90", "180", "270", "flipped", "flipped-90", "flipped-180", "flipped-270"

Default: null

Declared by:

<home-manager/modules/services/kanshi.nix>
services.kanshi.systemdTarget

Systemd target to bind to.

Type: string

Default: "sway-session.target"

Declared by:

<home-manager/modules/services/kanshi.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.keynav.enable

Whether to enable keynav.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/keynav.nix>
services.lieer.enable

Whether to enable lieer Gmail synchronization service.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/lieer.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.lorri.package

Which lorri package to install.

Type: package

Default: pkgs.lorri

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.package

The MPD package to run.

Type: package

Default: "pkgs.mpd"

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 or string

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.network.startWhenNeeded

Enable systemd socket activation.

Type: boolean

Default: false

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.mpris-proxy.enable

Whether to enable a proxy forwarding Bluetooth MIDI controls via MPRIS2 to control media players.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/mpris-proxy.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.nextcloud-client.package

The package to use for the nextcloud client binary.

Type: package

Default: pkgs.nextcloud-client

Declared by:

<home-manager/modules/services/nextcloud-client.nix>
services.nextcloud-client.startInBackground

Whether to start the Nextcloud client in the background.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/nextcloud-client.nix>
services.notify-osd.enable

Whether to enable notify-osd.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/notify-osd.nix>
services.notify-osd.package

Package containing the notify-osd program.

Type: package

Default: pkgs.notify-osd

Declared by:

<home-manager/modules/services/notify-osd.nix>
services.opensnitch-ui.enable

Whether to enable Opensnitch client.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/opensnitch-ui.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.pantalaimon.enable

Whether to enable Pantalaimon, an E2EE aware proxy daemon for matrix clients.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/pantalaimon.nix>
services.pantalaimon.package

Package providing the pantalaimon executable to use.

Type: package

Default: pkgs.pantalaimon

Declared by:

<home-manager/modules/services/pantalaimon.nix>
services.pantalaimon.settings

Configuration written to $XDG_CONFIG_HOME/pantalaimon/pantalaimon.conf.

See https://github.com/matrix-org/pantalaimon/blob/master/docs/manpantalaimon.5.md or pantalaimon(5) for options.

Type: attribute set of attribute set of INI atom (null, bool, int, float or string)ss

Default: { }

Example:

{
  Default = {
    LogLevel = "Debug";
    SSL = true;
  };
  local-matrix = {
    Homeserver = "https://matrix.org";
    ListenAddress = "127.0.0.1";
    ListenPort = 8008;
  };
}

Declared by:

<home-manager/modules/services/pantalaimon.nix>
services.parcellite.enable

Whether to enable Parcellite.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/parcellite.nix>
services.parcellite.package

Parcellite derivation to use.

Type: package

Default: pkgs.parcellite

Example: pkgs.clipit

Declared by:

<home-manager/modules/services/parcellite.nix>
services.pass-secret-service.enable

Whether to enable Pass libsecret service.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/pass-secret-service.nix>
services.password-store-sync.enable

Whether to enable Password store periodic sync.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/password-store-sync.nix>
services.password-store-sync.frequency

How often to synchronise the password store git repository with its default upstream.

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/password-store-sync.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.pbgopy.enable

Whether to enable pbgopy.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/pbgopy.nix>
services.pbgopy.cache.ttl

The TTL for the cache. Use "0s" to disable it.

Type: string

Default: "24h"

Example: "10m"

Declared by:

<home-manager/modules/services/pbgopy.nix>
services.pbgopy.httpAuth

Basic HTTP authentication's username and password. Both the username and password are escaped.

Type: null or string

Default: null

Example: "user:pass"

Declared by:

<home-manager/modules/services/pbgopy.nix>
services.pbgopy.port

The port to host the pbgopy server on.

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

Default: 9090

Example: 8080

Declared by:

<home-manager/modules/services/pbgopy.nix>
services.picom.enable

Whether to enable Picom X11 compositor.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.package

picom derivation to use.

Type: package

Default: pkgs.picom

Example: pkgs.picom

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.activeOpacity

Opacity of active windows.

Type: string

Default: "1.0"

Example: "0.8"

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.backend

Backend to use: glx or xrender.

Type: string

Default: "glx"

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.blur

Enable background blur on transparent windows.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.blurExclude

List of windows to exclude background blur. See the picom(1) man page for more examples.

Type: list of strings

Default: [ ]

Example: [ "class_g = 'slop'" "class_i = 'polybar'" ]

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.experimentalBackends

Whether to use the new experimental backends.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.extraOptions

Additional Picom configuration.

Type: string

Default: ""

Example:

''
unredir-if-possible = true;
dbe = true;
''

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.fade

Fade windows in and out.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.fadeDelta

Time between fade animation step (in ms).

Type: signed integer

Default: 10

Example: 5

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.fadeExclude

List of conditions of windows that should not be faded. See the picom(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/picom.nix>
services.picom.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/picom.nix>
services.picom.inactiveDim

Dim inactive windows.

Type: string

Default: "0.0"

Example: "0.2"

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.inactiveOpacity

Opacity of inactive windows.

Type: string

Default: "1.0"

Example: "0.8"

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.menuOpacity

Opacity of dropdown and popup menu.

Type: string

Default: "1.0"

Example: "0.8"

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.noDNDShadow

Avoid shadow on drag-and-drop windows.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.noDockShadow

Avoid shadow on docks.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.opacityRule

List of opacity rules. See the picom(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/picom.nix>
services.picom.refreshRate

Screen refresh rate (0 = automatically detect).

Type: signed integer

Default: 0

Example: 60

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.shadow

Draw window shadows.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.shadowExclude

List of conditions of windows that should have no shadow. See the picom(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/picom.nix>
services.picom.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/picom.nix>
services.picom.shadowOpacity

Window shadows opacity (number in range 0 - 1).

Type: string

Default: "0.75"

Example: "0.8"

Declared by:

<home-manager/modules/services/picom.nix>
services.picom.vSync

Enable vertical synchronization.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/picom.nix>
services.plan9port.fontsrv.enable

Whether to enable the Plan 9 file system access to host fonts.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/plan9port.nix>
services.plan9port.plumber.enable

Whether to enable the Plan 9 file system for interprocess messaging.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/plan9port.nix>
services.playerctld.enable

Whether to enable playerctld daemon.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/playerctld.nix>
services.playerctld.package

The playerctl package to use.

Type: package

Default: pkgs.playerctl

Declared by:

<home-manager/modules/services/playerctld.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. See also services.polybar.settings for a more nix-friendly format.

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.polybar.settings

Polybar configuration. This takes a nix attrset and converts it to the strange data format that polybar uses. Each entry will be converted to a section in the output file. Several things are treated specially: nested keys are converted to dash-separated keys; the special text key is ignored as a nested key, to allow mixing different levels of nesting; and lists are converted to polybar's foo-0, foo-1, ... format.

For example:

"module/volume" = {
  type = "internal/pulseaudio";
  format.volume = "<ramp-volume> <label-volume>";
  label.muted.text = "🔇";
  label.muted.foreground = "#666";
  ramp.volume = ["🔈" "🔉" "🔊"];
  click.right = "pavucontrol &";
}

becomes:

[module/volume]
type=internal/pulseaudio
format-volume=<ramp-volume> <label-volume>
label-muted=🔇
label-muted-foreground=#666
ramp-volume-0=🔈
ramp-volume-1=🔉
ramp-volume-2=🔊
click-right=pavucontrol &

Type: attribute set of attribute setss

Default: { }

Example:

{
  "module/volume" = {
    type = "internal/pulseaudio";
    format.volume = "<ramp-volume> <label-volume>";
    label.muted.text = "🔇";
    label.muted.foreground = "#666";
    ramp.volume = ["🔈" "🔉" "🔊"];
    click.right = "pavucontrol &";
  };
}

Declared by:

<home-manager/modules/services/polybar.nix>
services.poweralertd.enable

Whether to enable the Upower-powered power alerterd.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/poweralertd.nix>
services.pulseeffects.enable

Whether to enable Pulseeffects daemon Note, it is necessary to add

programs.dconf.enable = true;

to your system configuration for the daemon to work correctly.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/pulseeffects.nix>
services.pulseeffects.package

Pulseeffects package to use.

Type: package

Default: pkgs.pulseeffects-legacy

Declared by:

<home-manager/modules/services/pulseeffects.nix>
services.pulseeffects.preset

Which preset to use when starting pulseeffects. Will likely need to launch pulseeffects to initially create preset.

Type: string

Default: ""

Declared by:

<home-manager/modules/services/pulseeffects.nix>
services.random-background.enable

Whether to enable random desktop background.

Note, if you are using NixOS and have set up a custom desktop manager session for Home Manager, then the session configuration must have the bgSupport option set to true or the background image set by this module may be overwritten.

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

Whether to enable Redshift.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/redshift-gammastep/redshift.nix>
services.redshift.package

Redshift derivation to use.

Type: package

Default: pkgs.redshift

Declared by:

<home-manager/modules/services/redshift-gammastep/redshift.nix>
services.redshift.dawnTime

Set the time interval of dawn manually. The times must be specified as HH:MM in 24-hour format.

Type: null or string

Default: null

Example: "6:00-7:45"

Declared by:

<home-manager/modules/services/redshift-gammastep/redshift.nix>
services.redshift.duskTime

Set the time interval of dusk manually. The times must be specified as HH:MM in 24-hour format.

Type: null or string

Default: null

Example: "18:35-20:15"

Declared by:

<home-manager/modules/services/redshift-gammastep/redshift.nix>
services.redshift.latitude

Your current latitude, between -90.0 and 90.0. Must be provided along with longitude.

Type: null or string or floating point number

Default: null

Declared by:

<home-manager/modules/services/redshift-gammastep/redshift.nix>
services.redshift.longitude

Your current longitude, between -180.0 and 180.0. Must be provided along with latitude.

Type: null or string or floating point number

Default: null

Declared by:

<home-manager/modules/services/redshift-gammastep/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-gammastep/redshift.nix>
services.redshift.settings

The configuration to pass to Redshift. Available options for Redshift described in redshift(1).

Type: attribute set of attribute set of INI atom (null, bool, int, float or string)ss

Default: { }

Example:

{
  redshift = {
    adjustment-method = "randr";
  };
  randr = {
    screen = 0;
  };
};

Declared by:

<home-manager/modules/services/redshift-gammastep/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-gammastep/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-gammastep/redshift.nix>
services.redshift.tray

Start the redshift-gtk tray applet.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/redshift-gammastep/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. If xautolock.enable is true, it will use this setting. See https://linux.die.net/man/1/xautolock. Otherwise, this will be used with xset to configure the X server's screensaver timeout.

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

Use xautolock for time-based locking.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/screen-locker.nix>
services.screen-locker.xautolock.package

Package providing the xautolock binary.

Type: package

Default: (build of xautolock-2.2-7-ga23dd5c)

Declared by:

<home-manager/modules/services/screen-locker.nix>
services.screen-locker.xautolock.detectSleep

Whether to reset xautolock timers when awaking from sleep. No effect if xautolock.enable is false.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/screen-locker.nix>
services.screen-locker.xautolock.extraOptions

Extra command-line arguments to pass to xautolock. No effect if xautolock.enable is false.

Type: list of strings

Default: [ ]

Declared by:

<home-manager/modules/services/screen-locker.nix>
services.screen-locker.xss-lock.package

Package providing the xss-lock binary.

Type: package

Default: (build of xss-lock-unstable-2018-05-31)

Declared by:

<home-manager/modules/services/screen-locker.nix>
services.screen-locker.xss-lock.extraOptions

Extra command-line arguments to pass to xss-lock.

Type: list of strings

Default: [ ]

Declared by:

<home-manager/modules/services/screen-locker.nix>
services.spotifyd.enable

Whether to enable SpotifyD connect.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/spotifyd.nix>
services.spotifyd.package

The spotifyd package to use. Can be used to specify extensions.

Type: package

Default: pkgs.spotifyd

Example: (pkgs.spotifyd.override { withKeyring = true; })

Declared by:

<home-manager/modules/services/spotifyd.nix>
services.spotifyd.settings

Configuration for spotifyd

Type: TOML value

Default: { }

Example:

{
  global = {
    username = "Alex";
    password = "foo";
    device_name = "nix";
  };
}

Declared by:

<home-manager/modules/services/spotifyd.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.package

Package containing the sxhkd executable.

Type: package

Default: "pkgs.sxhkd"

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.extraOptions

Command line arguments to invoke sxhkd with.

Type: list of strings

Default: [ ]

Example: [ "-m 1" ]

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

Syncthing tray service configuration.

Type: boolean or submodule

Default: { enable = 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.trayer.enable

Whether to enable trayer, the lightweight GTK2+ systray for UNIX desktops.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/trayer.nix>
services.trayer.package

The package to use for the trayer binary.

Type: package

Default: pkgs.trayer

Example: pkgs.trayer

Declared by:

<home-manager/modules/services/trayer.nix>
services.trayer.settings

Trayer configuration as a set of attributes. Further details can be found at https://github.com/sargon/trayer-srg.

Property NameTypeValuesDefault
SetDockTypebooleantrue|falsetrue
SetPartialStrutbooleantrue|falsetrue
alignstringleft|right|centercenter
alphasigned integernumber127
distancesigned integernumber0
distancefromstringleft|right|top|bottomtop
edgestringleft|right|top|bottom|nonebottom
expandbooleantrue|falsetrue
heightsigned integernumber26
heighttypestringrequest|pixelpixel
iconspacingsigned integernumber0
marginsigned integernumber0
monitorstringnumber|primary0
paddingsigned integernumber0
tintstringint0xFFFFFFFF
transparentbooleantrue|falsefalse
widthsigned integernumber100
widthtypestringrequest|pixel|percentpercent

Type: attribute set of null or string or boolean or signed integers

Default: { }

Example:

{
  edge = "top";
  padding = 6;
  SetDockType = true;
  tint = "0x282c34";
}

Declared by:

<home-manager/modules/services/trayer.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.unison.enable

Whether to enable Unison synchronisation.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/unison.nix>
services.unison.pairs

Unison root pairs to keep synchronised.

Type: attribute set of submodules

Default: { }

Example:

{
  roots = [
    "/home/user/documents"
    "ssh://remote/documents"
  ];
}

Declared by:

<home-manager/modules/services/unison.nix>
services.unison.pairs.<name>.commandOptions

Additional command line options as a dictionary to pass to the unison program.

See unison(1) for a list of available options.

Type: attribute set of strings

Default: { auto = "true"; batch = "true"; log = "false"; repeat = "watch"; sshcmd = "\${pkgs.openssh}/bin/ssh"; ui = "text"; }

Declared by:

<home-manager/modules/services/unison.nix>
services.unison.pairs.<name>.roots

Pair of roots to synchronise.

Type: list of strings of length 2

Example:

[
  "/home/user/documents"
  "ssh://remote/documents"
]

Declared by:

<home-manager/modules/services/unison.nix>
services.unison.pairs.<name>.stateDirectory

Unison state directory to use.

Type: path

Default: "$XDG_DATA_HOME/unison"

Declared by:

<home-manager/modules/services/unison.nix>
services.volnoti.enable

Whether to enable Volnoti volume HUD daemon.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/volnoti.nix>
services.volnoti.package

Package containing the volnoti program.

Type: package

Default: pkgs.volnoti

Declared by:

<home-manager/modules/services/volnoti.nix>
services.wlsunset.enable

Whether to enable Whether to enable wlsunset..

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/wlsunset.nix>
services.wlsunset.package

wlsunset derivation to use.

Type: package

Default: "pkgs.wlsunset"

Declared by:

<home-manager/modules/services/wlsunset.nix>
services.wlsunset.gamma

Gamma value to use.

Type: string

Default: "1.0"

Declared by:

<home-manager/modules/services/wlsunset.nix>
services.wlsunset.latitude

Your current latitude, between -90.0 and 90.0.

Type: string

Declared by:

<home-manager/modules/services/wlsunset.nix>
services.wlsunset.longitude

Your current longitude, between -180.0 and 180.0.

Type: string

Declared by:

<home-manager/modules/services/wlsunset.nix>
services.wlsunset.systemdTarget

Systemd target to bind to.

Type: string

Default: "graphical-session.target"

Declared by:

<home-manager/modules/services/wlsunset.nix>
services.wlsunset.temperature.day

Colour temperature to use during the day, in Kelvin (K). This value must be greater than temperature.night.

Type: signed integer

Default: 6500

Declared by:

<home-manager/modules/services/wlsunset.nix>
services.wlsunset.temperature.night

Colour temperature to use during the night, in Kelvin (K). This value must be smaller than temperature.day.

Type: signed integer

Default: 4000

Declared by:

<home-manager/modules/services/wlsunset.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.xidlehook.enable

Whether to enable xidlehook systemd service.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/xidlehook.nix>
services.xidlehook.package

The package to use for xidlehook.

Type: package

Default: "pkgs.xidlehook"

Declared by:

<home-manager/modules/services/xidlehook.nix>
services.xidlehook.environment

Extra environment variables to be exported in the script. These options are passed unescaped as export name=value.

Type: attribute set of strings

Default: { }

Example:

{
  "primary-display" = "$(xrandr | awk '/ primary/{print $1}')";
}

Declared by:

<home-manager/modules/services/xidlehook.nix>
services.xidlehook.not-when-audio

Disable locking when audio is playing.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/xidlehook.nix>
services.xidlehook.not-when-fullscreen

Disable locking when a fullscreen application is in use.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/xidlehook.nix>
services.xidlehook.once

Whether to enable running the program once and exiting.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/xidlehook.nix>
services.xidlehook.timers

A set of commands to be executed after a specific idle timeout. The commands specified in command and canceller are passed escaped to the script. To use or re-use environment variables that are script-dependent, specify them in the environment section.

Type: list of submodules

Default: [ ]

Example:

[
  {
    delay = 60;
    command = "xrandr --output \"$PRIMARY_DISPLAY\" --brightness .1";
    canceller = "xrandr --output \"$PRIMARY_DISPLAY\" --brightness 1";
  }
  {
    delay = 120;
    command = "${pkgs.writeShellScript "my-script" ''
      # A complex script to run
    ''}";
  }
]

Declared by:

<home-manager/modules/services/xidlehook.nix>
services.xidlehook.timers.*.canceller

Command executed when the user becomes active again. This is only executed if the next timer has not been reached. Path to executables are accepted. The command is automatically escaped.

Type: string

Default: ""

Example:

${pkgs.libnotify}/bin/notify-send "Idle" "Resuming activity"

Declared by:

<home-manager/modules/services/xidlehook.nix>
services.xidlehook.timers.*.command

Command executed after the idle timeout is reached. Path to executables are accepted. The command is automatically escaped.

Type: null or string

Example:

${pkgs.libnotify}/bin/notify-send "Idle" "Sleeping in 1 minute"

Declared by:

<home-manager/modules/services/xidlehook.nix>
services.xidlehook.timers.*.delay

Time before executing the command.

Type: unsigned integer, meaning >=0

Example: 60

Declared by:

<home-manager/modules/services/xidlehook.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.xsettingsd.enable

Whether to enable xsettingsd.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/xsettingsd.nix>
services.xsettingsd.package

Package containing the xsettingsd program.

Type: package

Default: pkgs.xsettingsd

Declared by:

<home-manager/modules/services/xsettingsd.nix>
services.xsettingsd.settings

Xsettingsd options for configuration file. See https://github.com/derat/xsettingsd/wiki/Settings for documentation on these values.

Type: attribute set of boolean or signed integer or strings

Default: { }

Example:

{
  "Net/ThemeName" = "Numix";
  "Xft/Antialias" = true;
  "Xft/Hinting" = true;
  "Xft/RGBA" = "rgb";
}

Declared by:

<home-manager/modules/services/xsettingsd.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.automounts

Definition of systemd per-user automount units. Attributes are merged recursively.

Note that the attributes follow the capitalization and naming used by systemd. More details can be found in systemd.automount(5).

Type: systemd automount unit configuration

Default: { }

Example:

{
  automount-name = {
    Unit = {
      Description = "Example description";
      Documentation = [ "man:example(1)" "man:example(5)" ];
    };

    Automount = {
      …
    };
  };
};

Declared by:

<home-manager/modules/systemd.nix>
systemd.user.mounts

Definition of systemd per-user mount units. Attributes are merged recursively.

Note that the attributes follow the capitalization and naming used by systemd. More details can be found in systemd.mount(5).

Type: systemd mount unit configuration

Default: { }

Example:

{
  mount-name = {
    Unit = {
      Description = "Example description";
      Documentation = [ "man:example(1)" "man:example(5)" ];
    };

    Mount = {
      …
    };
  };
};

Declared by:

<home-manager/modules/systemd.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. The value 0 indicates no timeout.

Type: unsigned integer, meaning >=0

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.slices

Definition of systemd per-user slices units. Attributes are merged recursively.

Note that the attributes follow the capitalization and naming used by systemd. More details can be found in systemd.slices(5).

Type: systemd slices unit configuration

Default: { }

Example:

{
  slices-name = {
    Unit = {
      Description = "Example description";
      Documentation = [ "man:example(1)" "man:example(5)" ];
    };

    Slices = {
      …
    };
  };
};

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

Whether new or changed services that are wanted by active targets should be started. Additionally, stop obsolete services from the previous generation.

The alternatives are

suggest (or false)

Use a very simple shell script to print suggested systemctl commands to run. You will have to manually run those commands after the switch.

legacy (or true)

Use a Ruby script to, in a more robust fashion, determine the necessary changes and automatically run the systemctl commands.

sd-switch

Use sd-switch, a third party application, to perform the service updates. This tool offers more features while having a small closure size. Note, it requires a fully functional user D-Bus session. Once tested and deemed sufficiently robust, this will become the default.

Type: boolean or one of "suggest", "legacy", "sd-switch"

Default: "suggest"

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>
systemd.user.tmpfiles.rules

Rules for creating and cleaning up temporary files automatically. See tmpfiles.d(5) for the exact format.

Type: list of strings

Default: [ ]

Example: [ "L /home/user/Documents - - - - /mnt/data/Documents" ]

Declared by:

<home-manager/modules/misc/tmpfiles.nix>
targets.darwin.defaults

Set macOS user defaults. Values set to null are ignored.

Warning

Some settings might require a re-login to take effect.

Type: attribute set of attribute set of anythingss

Default: { }

Example: { com.apple.desktopservices = { DSDontWriteNetworkStores = true; DSDontWriteUSBStores = true; } ; }

Declared by:

<home-manager/modules/targets/darwin>
targets.darwin.defaults.NSGlobalDomain.AppleLanguages

Sets the language to use in the preferred order.

Type: null or list of strings

Default: null

Example: [ "en" ]

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.NSGlobalDomain.AppleLocale

Configures the user locale.

Type: null or string

Default: null

Example: "en_US"

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.NSGlobalDomain.AppleMeasurementUnits

Sets the measurement unit.

Type: null or one of "Centimeters", "Inches"

Default: null

Example: "Centimeters"

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.NSGlobalDomain.AppleMetricUnits

Whether to enable the metric system.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.NSGlobalDomain.AppleTemperatureUnit

Sets the temperature unit.

Type: null or one of "Celsius", "Fahrenheit"

Default: null

Example: "Celsius"

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.NSGlobalDomain.NSAutomaticCapitalizationEnabled

Whether to enable automatic captilization.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.NSGlobalDomain.NSAutomaticDashSubstitutionEnabled

Whether to enable smart dashes.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.NSGlobalDomain.NSAutomaticPeriodSubstitutionEnabled

Whether to enable period with double space.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.NSGlobalDomain.NSAutomaticQuoteSubstitutionEnabled

Whether to enable smart quotes.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.NSGlobalDomain.NSAutomaticSpellingCorrectionEnabled

Whether to enable spelling correction.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.apple.Safari.AutoFillCreditCardData

Whether to enable autofill of credit card numbers.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.apple.Safari.AutoFillPasswords

Whether to enable autofill of usernames and passwords.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.apple.Safari.AutoOpenSafeDownloads

Whether to enable opening of downloaded files.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.apple.Safari.IncludeDevelopMenu

Whether to enable "Develop" menu in the menu bar.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.apple.Safari.ShowOverlayStatusBar

Whether to enable status bar.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.apple.Safari.WebKitDeveloperExtrasEnabledPreferenceKey

Configures the web inspector.

Warning

Instead of setting this option directly, set IncludeDevelopMenu instead.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.apple.Safari.WebKitPreferences.developerExtrasEnabled

Configures the web inspector.

Warning

Instead of setting this option directly, set IncludeDevelopMenu instead.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.apple.Safari.SandboxBroker.ShowDevelopMenu

Show the "Develop" menu in Safari's menubar.

Warning

Instead of setting this option directly, set "com.apple.Safari".IncludeDevelopMenu instead.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.apple.desktopservices.DSDontWriteNetworkStores

Disable use of .DS_Store files on network shares. See the official article for more info.

Type: null or boolean

Default: null

Example: false

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.apple.desktopservices.DSDontWriteUSBStores

Disable use of .DS_Store files on thumb drives.

Type: null or boolean

Default: null

Example: false

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.apple.dock.expose-group-apps

Whether to enable grouping of windows by application in Mission Control.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.apple.dock.size-immutable

Whether to enable locking of the dock size.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.apple.dock.tilesize

Sets the size of the dock.

Type: null or signed integer

Default: null

Example: 64

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.apple.menuextra.battery.ShowPercent

This option no longer works on macOS 11 and later. Instead, open System Preferences, go to "Dock & Menu Bar", select "Battery", and toggle the checkbox labeled "Show Percentage." Whether to show battery percentage in the menu bar.

Type: null or one of "YES", "NO"

Default: null

Example: "NO"

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.googlecode.iterm2.AddNewTabAtEndOfTabs

Whether to enable placement of new tabs at the end of the tab bar.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.googlecode.iterm2.AlternateMouseScroll

Whether to enable arrow keys when scrolling in alternate screen mode.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.googlecode.iterm2.CopySelection

Whether to enable copy to clipboard upon selecting text.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.googlecode.iterm2.ExperimentalKeyHandling

Whether to enable experimental key handling for AquaSKK compatibility.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.defaults.com.googlecode.iterm2.OpenTmuxWindowsIn

Configures how to restore tmux windows when attaching to a session.

Possible Values

0

Native windows

1

Native tabs in a new window

2

Tabs in the attaching window

Type: null or signed integer

Default: null

Example: 2

Declared by:

<home-manager/modules/targets/darwin/options.nix>
targets.darwin.keybindings

This will configure the default keybindings for text fields in macOS applications. See Apple's documentation for more details.

Warning

Existing keybinding configuration will be wiped when using this option.

Type: attribute set of anythings

Default: { }

Example: { ^u = "deleteToBeginningOfLine:"; ^w = "deleteWordBackward:"; }

Declared by:

<home-manager/modules/targets/darwin/keybindings.nix>
targets.darwin.search

Default search engine.

Type: null or one of "Bing", "DuckDuckGo", "Ecosia", "Google", "Yahoo"

Default: null

Declared by:

<home-manager/modules/targets/darwin/search.nix>
targets.genericLinux.enable

Whether to enable settings that make Home Manager work better on GNU/Linux distributions other than NixOS.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/targets/generic-linux.nix>
wayland.windowManager.sway.enable

Whether to enable sway wayland compositor.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.package

Sway package to use. Will override the options 'wrapperFeatures', 'extraSessionCommands', and 'extraOptions'. Set to null to not add any Sway package to your path. This should be done if you want to use the NixOS Sway module to install Sway.

Type: null or package

Default: ${pkgs.sway}

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config

Sway configuration options.

Type: null or submodule

Default: { }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.assigns

An attribute set that assigns applications to workspaces based on criteria.

Type: attribute set of list of attribute set of string or booleansss

Default: { }

Example:

{
"1: web" = [{ class = "^Firefox$"; }];
"0: extra" = [{ class = "^Firefox$"; window_role = "About"; }];
}

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars

Sway bars settings blocks. Set to empty list to remove bars completely.

Type: list of submodules

Default: see code

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.colors.activeWorkspace

Border, background and text color for a workspace button when the workspace is active.

Type: null or submodule

Default:

null for state version ≥ 20.09, as example otherwise

Example: { background = "#5f676a"; border = "#333333"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.colors.background

Background color of the bar.

Type: null or string

Default:

null for state version ≥ 20.09, as example otherwise

Example: "#000000"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.colors.bindingMode

Border, background and text color for the binding mode indicator

Type: null or submodule

Default:

null for state version ≥ 20.09, as example otherwise

Example: { background = "#900000"; border = "#2f343a"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.colors.focusedBackground

Background color of the bar on the currently focused monitor output.

Type: null or string

Default: null

Example: "#000000"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.colors.focusedSeparator

Text color to be used for the separator on the currently focused monitor output.

Type: null or string

Default: null

Example: "#666666"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.colors.focusedStatusline

Text color to be used for the statusline on the currently focused monitor output.

Type: null or string

Default: null

Example: "#ffffff"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.colors.focusedWorkspace

Border, background and text color for a workspace button when the workspace has focus.

Type: null or submodule

Default:

null for state version ≥ 20.09, as example otherwise

Example: { background = "#285577"; border = "#4c7899"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.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: null or submodule

Default:

null for state version ≥ 20.09, as example otherwise

Example: { background = "#222222"; border = "#333333"; text = "#888888"; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.colors.separator

Text color to be used for the separator.

Type: null or string

Default:

null for state version ≥ 20.09, as example otherwise

Example: "#666666"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.colors.statusline

Text color to be used for the statusline.

Type: null or string

Default:

null for state version ≥ 20.09, as example otherwise

Example: "#ffffff"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.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: null or submodule

Default:

null for state version ≥ 20.09, as example otherwise

Example: { background = "#900000"; border = "#2f343a"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.command

Command that will be used to start a bar.

Type: string

Default: "i3bar"

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

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.extraConfig

Extra configuration lines for this bar.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.fonts

Font configuration for this bar.

Type: list of strings or submodule

Default: { }

Example:

{
  names = [ "DejaVu Sans Mono" "FontAwesome5Free" ];
  style = "Bold Semi-Condensed";
  size = 11.0;
}

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.hiddenState

The default bar mode when 'bar.mode' == 'hide'.

Type: null or one of "hide", "show"

Default:

null for state version ≥ 20.09, as example otherwise

Example: "hide"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.mode

Bar visibility mode.

Type: null or one of "dock", "hide", "invisible"

Default:

null for state version ≥ 20.09, as example otherwise

Example: "dock"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.position

The edge of the screen swaybar should show up.

Type: null or one of "top", "bottom"

Default:

null for state version ≥ 20.09, as example otherwise

Example: "bottom"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.statusCommand

Command that will be used to get status lines.

Type: null or string

Default:

null for state version ≥ 20.09, as example otherwise

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

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.trayOutput

Where to output tray.

Type: null or string

Default:

null for state version ≥ 20.09, as example otherwise

Example: "primary"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.workspaceButtons

Whether workspace buttons should be shown or not.

Type: null or boolean

Default:

null for state version ≥ 20.09, as example otherwise

Example: true

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bars.*.workspaceNumbers

Whether workspace numbers should be displayed within the workspace buttons.

Type: null or boolean

Default:

null for state version ≥ 20.09, as example otherwise

Example: true

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.bindkeysToCode

Whether to make use of --to-code in keybindings.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.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 'sway.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-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.config.defaultWorkspace

The default workspace to show when sway is launched. This must to correspond to the value of the keybinding of the default workspace.

Type: null or string

Default: null

Example: "workspace number 9"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.down

Home row direction key for moving down.

Type: string

Default: "j"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.floating

Floating window settings.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.floating.border

Floating windows border width.

Type: signed integer

Default: 2

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.floating.criteria

List of criteria for windows that should be opened in a floating mode.

Type: list of attribute set of string or booleanss

Default: [ ]

Example: [ { title = "Steam - Update News"; } { class = "Pavucontrol"; } ]

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.floating.modifier

Modifier key that can be used to drag floating windows.

Type: one of "Shift", "Control", "Mod1", "Mod2", "Mod3", "Mod4", "Mod5"

Default: "sway.config.modifier"

Example: "Mod4"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.floating.titlebar

Whether to show floating window titlebars.

Type: boolean

Default: "false"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.focus

Focus related settings.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.focus.followMouse

Whether focus should follow the mouse.

Type: one of "yes", "no", "always" or boolean

Default: "yes"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.config.fonts

Font configuration for window titles, nagbar...

Type: list of strings or submodule

Default: { }

Example:

{
  names = [ "DejaVu Sans Mono" "FontAwesome5Free" ];
  style = "Bold Semi-Condensed";
  size = 11.0;
}

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.gaps

Gaps related settings.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.gaps.bottom

Bottom gaps value.

Type: null or signed integer

Default: null

Example: 5

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.gaps.horizontal

Horizontal gaps value.

Type: null or signed integer

Default: null

Example: 5

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.gaps.inner

Inner gaps value.

Type: null or signed integer

Default: null

Example: 12

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.gaps.left

Left gaps value.

Type: null or signed integer

Default: null

Example: 5

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.gaps.outer

Outer gaps value.

Type: null or signed integer

Default: null

Example: 5

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.gaps.right

Right gaps value.

Type: null or signed integer

Default: null

Example: 5

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.config.gaps.top

Top gaps value.

Type: null or signed integer

Default: null

Example: 5

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.gaps.vertical

Vertical gaps value.

Type: null or signed integer

Default: null

Example: 5

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.input

An attribute set that defines input modules. See sway-input(5) for options.

Type: attribute set of attribute set of stringss

Default: { }

Example: { * = { xkb_variant = "dvorak"; } ; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.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 sway keybindings."

Example:

let
  modifier = config.wayland.windowManager.sway.config.modifier;
in lib.mkOptionDefault {
  "${modifier}+Return" = "exec ${pkgs.rxvt-unicode-unwrapped}/bin/urxvt";
  "${modifier}+Shift+q" = "kill";
  "${modifier}+d" = "exec ${pkgs.dmenu}/bin/dmenu_path | ${pkgs.dmenu}/bin/dmenu | ${pkgs.findutils}/bin/xargs swaymsg exec --";
}

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.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 /bin/script.sh"; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.left

Home row direction key for moving left.

Type: string

Default: "h"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.menu

Default launcher to use.

Type: string

Default: "\${pkgs.dmenu}/bin/dmenu_path | \${pkgs.dmenu}/bin/dmenu | \${pkgs.findutils}/bin/xargs swaymsg exec --"

Example: "bemenu-run"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.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 'sway.extraConfig'.

Type: attribute set of attribute set of stringss

Default: { resize = { Down = "resize grow height 10 px"; Escape = "mode default"; Left = "resize shrink width 10 px"; Return = "mode default"; Right = "resize grow width 10 px"; Up = "resize shrink height 10 px"; h = "resize shrink width 10 px"; j = "resize grow height 10 px"; k = "resize shrink height 10 px"; l = "resize grow width 10 px"; } ; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.config.output

An attribute set that defines output modules. See sway-output(5) for options.

Type: attribute set of attribute set of stringss

Default: { }

Example: { HDMI-A-2 = { bg = "~/path/to/background.png fill"; } ; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.right

Home row direction key for moving right.

Type: string

Default: "l"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.seat

An attribute set that defines seat modules. See sway-input(5) for options.

Type: attribute set of attribute set of stringss

Default: { }

Example: { * = { hide_cursor = "when-typing enable"; } ; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.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 waybar"; always = true; }
{ command = "dropbox start"; }
{ command = "firefox"; }
]

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.startup.*.always

Whether to run command on each sway restart.

Type: boolean

Default: false

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.startup.*.command

Command that will be executed on startup.

Type: string

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.terminal

Default terminal to run.

Type: string

Default: "\${pkgs.rxvt-unicode-unwrapped}/bin/urxvt"

Example: "alacritty"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.up

Home row direction key for moving up.

Type: string

Default: "k"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.window

Window titlebar and border settings.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.window.border

Window border width.

Type: signed integer

Default: 2

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.window.commands

List of commands that should be executed on specific windows. See for_window swaywm option documentation.

Type: list of submodules

Default: [ ]

Example: [ { command = "border pixel 1"; criteria = { class = "XTerm"; } ; } ]

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.window.commands.*.command

Swaywm command to execute.

Type: string

Example: "border pixel 1"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.window.commands.*.criteria

Criteria of the windows on which command should be executed.

A value of true is equivalent to using an empty criteria (which is different from an empty string criteria).

Type: attribute set of string or booleans

Example:

{
  title = "x200: ~/work";
  floating = true;
};

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.config.window.titlebar

Whether to show window titlebars.

Type: boolean

Default: "false"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.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-sway/sway.nix>
wayland.windowManager.sway.config.workspaceLayout

The mode in which new containers on workspace level will start.

Type: one of "default", "stacking", "tabbed"

Default: "default"

Example: "tabbed"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.workspaceOutputAssign

Assign workspaces to outputs.

Type: list of submodules

Default: [ ]

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.workspaceOutputAssign.*.output

Name of the output from swaymsg -t get_outputs .

Type: string

Default: ""

Example: "eDP"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.config.workspaceOutputAssign.*.workspace

Name of the workspace to assign.

Type: string

Default: ""

Example: "Web"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.extraConfig

Extra configuration lines to add to ~/.config/sway/config.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.extraOptions

Command line arguments passed to launch Sway. Please DO NOT report issues if you use an unsupported GPU (proprietary drivers).

Type: list of strings

Default: [ ]

Example: [ "--verbose" "--debug" "--unsupported-gpu" "--my-next-gpu-wont-be-nvidia" ]

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.extraSessionCommands

Shell commands executed just before Sway is started.

Type: strings concatenated with "\n"

Default: ""

Example:

''
export SDL_VIDEODRIVER=wayland
# needs qt5.qtwayland in systemPackages
export QT_QPA_PLATFORM=wayland
export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
# Fix for some Java AWT applications (e.g. Android Studio),
# use this if they aren't displayed properly:
export _JAVA_AWT_WM_NONREPARENTING=1
''

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.swaynag.enable

Whether to enable configuration of swaynag, a lightweight error bar for sway.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/window-managers/i3-sway/swaynag.nix>
wayland.windowManager.sway.swaynag.settings

Configuration written to $XDG_CONFIG_HOME/swaynag/config.

See swaynag(5) for a list of avaliable options and an example configuration. Note, configurations declared under <config> will override the default type values of swaynag.

Type: attribute set of attribute set of Swaynag config atom (null, bool, int, float, str)ss

Default: { }

Example:

{
  "<config>" = {
    edge = "bottom";
    font = "Dina 12";
  };

  green = {
    edge = "top";
    background = "00AA00";
    text = "FFFFFF";
    button-background = "00CC00";
    message-padding = 10;
  };
}

Declared by:

<home-manager/modules/services/window-managers/i3-sway/swaynag.nix>
wayland.windowManager.sway.systemdIntegration

Whether to enable sway-session.target on sway startup. This links to graphical-session.target.

Type: boolean

Default: true

Example: false

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.wrapperFeatures

Attribute set of features to enable in the wrapper.

Type: submodule

Default: { }

Example: { gtk = true; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.wrapperFeatures.base

Whether to make use of the base wrapper to execute extra session commands and prepend a dbus-run-session to the sway command.

Type: boolean

Default: true

Example: false

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.wrapperFeatures.gtk

Whether to make use of the wrapGAppsHook wrapper to execute sway with required environment variables for GTK applications.

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.nix>
wayland.windowManager.sway.xwayland

Enable xwayland, which is needed for the default configuration of sway.

Type: boolean

Default: true

Declared by:

<home-manager/modules/services/window-managers/i3-sway/sway.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: 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.

Note, this code is always run when recursive is enabled.

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 or directory. If home.file.<name?>.text is non-null then this option will automatically point to a file containing that text.

Type: path

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.configFile.<name>.target

Path to target file relative to xdg.configHome.

Type: string

Default: <name>

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.configFile.<name>.text

Text of the file. If this option is null then home.file.<name?>.source must be set.

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: 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.

Note, this code is always run when recursive is enabled.

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 or directory. If home.file.<name?>.text is non-null then this option will automatically point to a file containing that text.

Type: path

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.dataFile.<name>.target

Path to target file relative to xdg.dataHome.

Type: string

Default: <name>

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.dataFile.<name>.text

Text of the file. If this option is null then home.file.<name?>.source must be set.

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.desktopEntries

Desktop Entries allow applications to be shown in your desktop environment's app launcher.

You can define entries for programs without entries or override existing entries.

See https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys for more information on options.

Type: attribute set of submodules

Default: { }

Example:

{
  firefox = {
    name = "Firefox";
    genericName = "Web Browser";
    exec = "firefox %U";
    terminal = false;
    categories = [ "Application" "Network" "WebBrowser" ];
    mimeType = [ "text/html" "text/xml" ];
  };
}

Declared by:

<home-manager/modules/misc/xdg-desktop-entries.nix>
xdg.desktopEntries.<name>.categories

Categories in which the entry should be shown in a menu.

Type: null or list of strings

Default: null

Declared by:

<home-manager/modules/misc/xdg-desktop-entries.nix>
xdg.desktopEntries.<name>.comment

Tooltip for the entry.

Type: null or string

Default: null

Declared by:

<home-manager/modules/misc/xdg-desktop-entries.nix>
xdg.desktopEntries.<name>.exec

Program to execute, possibly with arguments.

Type: string

Declared by:

<home-manager/modules/misc/xdg-desktop-entries.nix>
xdg.desktopEntries.<name>.extraConfig

Extra configuration. Will be appended to the end of the file and may thus contain extra sections.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<home-manager/modules/misc/xdg-desktop-entries.nix>
xdg.desktopEntries.<name>.fileValidation

Whether to validate the generated desktop file.

Type: boolean

Default: true

Declared by:

<home-manager/modules/misc/xdg-desktop-entries.nix>
xdg.desktopEntries.<name>.genericName

Generic name of the application.

Type: null or string

Default: null

Declared by:

<home-manager/modules/misc/xdg-desktop-entries.nix>
xdg.desktopEntries.<name>.icon

Icon to display in file manager, menus, etc.

Type: null or string

Default: null

Declared by:

<home-manager/modules/misc/xdg-desktop-entries.nix>
xdg.desktopEntries.<name>.mimeType

The MIME type(s) supported by this application.

Type: null or list of strings

Default: null

Declared by:

<home-manager/modules/misc/xdg-desktop-entries.nix>
xdg.desktopEntries.<name>.name

Specific name of the application.

Type: string

Declared by:

<home-manager/modules/misc/xdg-desktop-entries.nix>
xdg.desktopEntries.<name>.settings

Extra key-value pairs to add to the [Desktop Entry] section. This may override other values.

Type: attribute set of Concatenated strings

Default: { }

Example:

{
  Keywords = "calc;math";
  DBusActivatable = "false";
}

Declared by:

<home-manager/modules/misc/xdg-desktop-entries.nix>
xdg.desktopEntries.<name>.startupNotify

If true, it is KNOWN that the application will send a "remove" message when started with the DESKTOP_STARTUP_ID environment variable set. If false, it is KNOWN that the application does not work with startup notification at all.

Type: null or boolean

Default: null

Declared by:

<home-manager/modules/misc/xdg-desktop-entries.nix>
xdg.desktopEntries.<name>.terminal

Whether the program runs in a terminal window.

Type: boolean

Default: false

Declared by:

<home-manager/modules/misc/xdg-desktop-entries.nix>
xdg.desktopEntries.<name>.type

The type of the desktop entry.

Type: one of "Application", "Link", "Directory"

Default: "Application"

Declared by:

<home-manager/modules/misc/xdg-desktop-entries.nix>
xdg.mime.enable

Whether to install programs and files to support the XDG Shared MIME-info specification and XDG MIME Applications specification at https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html and https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html, respectively.

Type: boolean

Default: true if host platform is Linux, false otherwise

Declared by:

<home-manager/modules/misc/xdg-mime.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.stateHome

Absolute path to directory holding application states.

Type: path

Default: "~/.local/state"

Declared by:

<home-manager/modules/misc/xdg.nix>
xdg.systemDirs.config

Directory names to add to XDG_CONFIG_DIRS in the user session.

Type: list of strings

Default: [ ]

Example: [ "/etc/xdg" ]

Declared by:

<home-manager/modules/misc/xdg-system-dirs.nix>
xdg.systemDirs.data

Directory names to add to XDG_DATA_DIRS in the user session.

Type: list of strings

Default: [ ]

Example: [ "/usr/share" "/usr/local/share" ]

Declared by:

<home-manager/modules/misc/xdg-system-dirs.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.createDirectories

Whether to enable automatic creation of the XDG user directories.

Type: boolean

Default: false

Example: true

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.publicShare

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.path

Path where Home Manager should link the .Xresources file.

Type: string

Default: "$HOME/.Xresources"

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 of boolean or signed integer or string or list of boolean or signed integer or stringss

Default: null

Example:

{
  "Emacs*toolBar" = 0;
  "XTerm*faceName" = "dejavu sans mono";
  "XTerm*charClass" = [ "37:48" "45-47:48" "58:48" "64:48" "126:48" ];
}

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.profilePath

Path, relative to HOME, where Home Manager should write the X profile script.

Type: string

Default: ".xprofile"

Example: ".xprofile-hm"

Declared by:

<home-manager/modules/xsession.nix>
xsession.scriptPath

Path, relative to 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: [ pkgs.luaPackages.vicious ]

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

Whether to enable bspwm window manager..

Type: boolean

Default: false

Example: true

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.package

The bspwm package to use.

Type: package

Default: pkgs.bspwm

Example: pkgs.bspwm-unstable

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.extraConfig

Additional shell commands to be run at the end of the config file.

Type: strings concatenated with "\n"

Default: ""

Example:

''
bspc subscribe all > ~/bspc-report.log &
''

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.monitors

Specifies the names of desktops to create on each monitor.

Type: attribute set of list of stringss

Default: { }

Example: { HDMI-0 = [ "web" "terminal" "III" "IV" ] ; }

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules

Rule configuration. The keys of the attribute set are the targets of the rules.

Type: attribute set of submodules

Default: { }

Example:

{
  "Gimp" = {
    desktop = "^8";
    state = "floating";
    follow = true;
  };
  "Kupfer.py" = {
    focus = true;
  };
  "Screenkey" = {
    manage = false;
  };
}

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.border

Whether the node should have border.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.center

Whether the node will be put in the center, in floating mode.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.desktop

The desktop where the rule should be applied.

Type: null or string

Default: null

Example: "^8"

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.focus

Whether the node should gain focus on creation.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.follow

Whether focus should follow the node when it is moved.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.hidden

Whether the node should occupy any space.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.layer

The layer where a new window should spawn.

Type: null or one of "below", "normal", "above"

Default: null

Example: "above"

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.locked

Whether the node should ignore node --close messages.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.manage

Whether the window should be managed by bspwm. If false, the window will be ignored by bspwm entirely. This is useful for overlay apps, e.g. screenshot tools.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.marked

Whether the node will be marked for deferred actions.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.monitor

The monitor where the rule should be applied.

Type: null or string

Default: null

Example: "HDMI-0"

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.node

The node where the rule should be applied.

Type: null or string

Default: null

Example: "1"

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.private

Whether the node should stay in the same tiling position and size.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.splitDir

The direction where the container is going to be split.

Type: null or one of "north", "west", "south", "east"

Default: null

Example: "south"

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.splitRatio

The ratio between the new window and the previous existing window in the desktop.

Type: null or floating point number

Default: null

Example:

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.state

The state in which a new window should spawn.

Type: null or one of "tiled", "pseudo_tiled", "floating", "fullscreen"

Default: null

Example: "floating"

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.rules.<name>.sticky

Whether the node should stay on the focused desktop.

Type: null or boolean

Default: null

Example: true

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.settings

General settings given to bspc config.

Type: 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 stringss

Default: { }

Example: { border_width = 2; gapless_monocle = true; split_ratio = ; }

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.bspwm.startupPrograms

Programs to be executed during startup.

Type: list of strings

Default: [ ]

Example: [ "numlockx on" "tilda" ]

Declared by:

<home-manager/modules/services/window-managers/bspwm/default.nix>
xsession.windowManager.command

Command to use to start the window manager.

The default value allows integration with NixOS' generated xserver configuration.

Extra actions and commands can be specified in xsession.initExtra.

Type: string

Default: ''test -n "$1" && eval "$@"''

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-sway/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-sway/i3.nix>
xsession.windowManager.i3.config

i3 configuration options.

Type: null or submodule

Default: { }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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 string or booleansss

Default: { }

Example:

{
"1: web" = [{ class = "^Firefox$"; }];
"0: extra" = [{ class = "^Firefox$"; window_role = "About"; }];
}

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.bars

i3 bars settings blocks. Set to empty list to remove bars completely.

Type: list of submodules

Default: see code

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.activeWorkspace

Border, background and text color for a workspace button when the workspace is active.

Type: null or submodule

Default:

null for state version ≥ 20.09, as example otherwise

Example: { background = "#5f676a"; border = "#333333"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.background

Background color of the bar.

Type: null or string

Default:

null for state version ≥ 20.09, as example otherwise

Example: "#000000"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.bindingMode

Border, background and text color for the binding mode indicator

Type: null or submodule

Default:

null for state version ≥ 20.09, as example otherwise

Example: { background = "#900000"; border = "#2f343a"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.focusedBackground

Background color of the bar on the currently focused monitor output.

Type: null or string

Default: null

Example: "#000000"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.focusedSeparator

Text color to be used for the separator on the currently focused monitor output.

Type: null or string

Default: null

Example: "#666666"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.focusedStatusline

Text color to be used for the statusline on the currently focused monitor output.

Type: null or string

Default: null

Example: "#ffffff"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.focusedWorkspace

Border, background and text color for a workspace button when the workspace has focus.

Type: null or submodule

Default:

null for state version ≥ 20.09, as example otherwise

Example: { background = "#285577"; border = "#4c7899"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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: null or submodule

Default:

null for state version ≥ 20.09, as example otherwise

Example: { background = "#222222"; border = "#333333"; text = "#888888"; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.separator

Text color to be used for the separator.

Type: null or string

Default:

null for state version ≥ 20.09, as example otherwise

Example: "#666666"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.colors.statusline

Text color to be used for the statusline.

Type: null or string

Default:

null for state version ≥ 20.09, as example otherwise

Example: "#ffffff"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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: null or submodule

Default:

null for state version ≥ 20.09, as example otherwise

Example: { background = "#900000"; border = "#2f343a"; text = "#ffffff"; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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-sway/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-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.fonts

Font configuration for this bar.

Type: list of strings or submodule

Default: { }

Example:

{
  names = [ "DejaVu Sans Mono" "FontAwesome5Free" ];
  style = "Bold Semi-Condensed";
  size = 11.0;
}

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.hiddenState

The default bar mode when 'bar.mode' == 'hide'.

Type: null or one of "hide", "show"

Default:

null for state version ≥ 20.09, as example otherwise

Example: "hide"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.mode

Bar visibility mode.

Type: null or one of "dock", "hide", "invisible"

Default:

null for state version ≥ 20.09, as example otherwise

Example: "dock"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.position

The edge of the screen i3bar should show up.

Type: null or one of "top", "bottom"

Default:

null for state version ≥ 20.09, as example otherwise

Example: "bottom"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.statusCommand

Command that will be used to get status lines.

Type: null or string

Default:

null for state version ≥ 20.09, as example otherwise

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

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.trayOutput

Where to output tray.

Type: null or string

Default:

null for state version ≥ 20.09, as example otherwise

Example: "primary"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.workspaceButtons

Whether workspace buttons should be shown or not.

Type: null or boolean

Default:

null for state version ≥ 20.09, as example otherwise

Example: true

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.bars.*.workspaceNumbers

Whether workspace numbers should be displayed within the workspace buttons.

Type: null or boolean

Default:

null for state version ≥ 20.09, as example otherwise

Example: true

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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-sway/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-sway/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-sway/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-sway/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-sway/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-sway/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-sway/i3.nix>
xsession.windowManager.i3.config.defaultWorkspace

The default workspace to show when i3 is launched. This must to correspond to the value of the keybinding of the default workspace.

Type: null or string

Default: null

Example: "workspace number 9"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.floating

Floating window settings.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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-sway/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 string or booleanss

Default: [ ]

Example: [ { title = "Steam - Update News"; } { class = "Pavucontrol"; } ]

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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-sway/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-sway/i3.nix>
xsession.windowManager.i3.config.focus

Focus related settings.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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-sway/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-sway/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-sway/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-sway/i3.nix>
xsession.windowManager.i3.config.fonts

Font configuration for window titles, nagbar...

Type: list of strings or submodule

Default: { }

Example:

{
  names = [ "DejaVu Sans Mono" "FontAwesome5Free" ];
  style = "Bold Semi-Condensed";
  size = 11.0;
}

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.gaps

i3Gaps related settings. The i3-gaps package must be used for these features to work.

Type: null or submodule

Default: null

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.gaps.bottom

Bottom gaps value.

Type: null or signed integer

Default: null

Example: 5

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.gaps.horizontal

Horizontal gaps value.

Type: null or signed integer

Default: null

Example: 5

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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-sway/i3.nix>
xsession.windowManager.i3.config.gaps.left

Left gaps value.

Type: null or signed integer

Default: null

Example: 5

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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-sway/i3.nix>
xsession.windowManager.i3.config.gaps.right

Right gaps value.

Type: null or signed integer

Default: null

Example: 5

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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-sway/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-sway/i3.nix>
xsession.windowManager.i3.config.gaps.top

Top gaps value.

Type: null or signed integer

Default: null

Example: 5

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.gaps.vertical

Vertical gaps value.

Type: null or signed integer

Default: null

Example: 5

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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 = config.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-sway/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 /bin/script.sh"; }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.menu

Default launcher to use.

Type: string

Default: "\${pkgs.dmenu}/bin/dmenu_run"

Example: "bemenu-run"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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-sway/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-sway/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-sway/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-sway/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-sway/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-sway/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/nix-community/home-manager/issues/265.

Type: null or string

Default: null

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.terminal

Default terminal to run.

Type: string

Default: "i3-sensible-terminal"

Example: "alacritty"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.window

Window titlebar and border settings.

Type: submodule

Default: { }

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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-sway/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-sway/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-sway/i3.nix>
xsession.windowManager.i3.config.window.commands.*.criteria

Criteria of the windows on which command should be executed.

A value of true is equivalent to using an empty criteria (which is different from an empty string criteria).

Type: attribute set of string or booleans

Example:

{
  title = "x200: ~/work";
  floating = true;
};

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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-sway/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-sway/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-sway/i3.nix>
xsession.windowManager.i3.config.workspaceLayout

The mode in which new containers on workspace level will start.

Type: one of "default", "stacking", "tabbed"

Default: "default"

Example: "tabbed"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.workspaceOutputAssign

Assign workspaces to outputs.

Type: list of submodules

Default: [ ]

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.workspaceOutputAssign.*.output

Name of the output from i3-msg -t get_outputs .

Type: string

Default: ""

Example: "eDP"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/i3.nix>
xsession.windowManager.i3.config.workspaceOutputAssign.*.workspace

Name of the workspace to assign.

Type: string

Default: ""

Example: "Web"

Declared by:

<home-manager/modules/services/window-managers/i3-sway/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-sway/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.

If this option is set to a non-null value, recompilation of xmonad outside of Home Manager (e.g. via xmonad --recompile) will fail.

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>
xsession.windowManager.xmonad.libFiles

Additional files that will be saved in ~/.xmonad/lib/ and included in the configuration build. The keys are the file names while the values are paths to the contents of the files.

Type: attribute set of paths

Default: { }

Example:

{
  "Tools.hs" = pkgs.writeText "Tools.hs" ''
     module Tools where
     screenshot = "scrot"
   '';
}

Declared by:

<home-manager/modules/services/window-managers/xmonad.nix>