Chapter 1. Configuration Options

This section lists the configuration options for nixmacs.

package

Package setup organised by package name.

Type: attribute set of (submodule)

Default: { }

Declared by:

<nixmacs/modules/packages/yasnippet.nix>
<nixmacs/modules/packages/xah-fly-keys.nix>
<nixmacs/modules/packages/which-key.nix>
<nixmacs/modules/packages/smartparens.nix>
<nixmacs/modules/packages/org-roam.nix>
<nixmacs/modules/packages/org-ref.nix>
<nixmacs/modules/packages/neotree.nix>
<nixmacs/modules/packages/lsp-mode.nix>
<nixmacs/modules/packages/flycheck.nix>
<nixmacs/modules/packages/company.nix>
<nixmacs/modules/packages/auctex.nix>
<nixmacs/modules/packages/adaptive-wrap.nix>
<nixmacs/modules/package.nix>
package.<name>.enable

Whether to enable ‹name›.

Type: boolean

Default: false

Example: true

package.<name>.package

Nix package to install that provides ‹name›. Can also be a list of packages to be installed, for example to include an optional dependency.

Type: package or list of package

Default: epkgs.‹name›

package.<name>.external-packages

Packages that should be added to nixmacs' path.

Type: list of package

Default: [ ]

Example: [ pkgs.silver-searcher ]

package.<name>.name

Package name to be used within init.el.

Type: string

Default: "‹name›"

package.<name>.priority

How early in the init.el the use-package declaration should appear.

Type: signed integer

Default: 1000

Example: 500

package.<name>.use-package.after

String to be passed to the :after keyword of use-package.

Type: (list of string) or string

Default: [ ]

package.<name>.use-package.bind

Attribute set of bindings to be passed to :bind keyword of use-package.

Type: attribute set of strings or a nested attribute set of strings

Default: { }

package.<name>.use-package.bind-keymap

List of bindings to be passed to :bind-keymap keyword of use-package.

Type: attribute set of strings or a nested attribute set of strings

Default: { }

package.<name>.use-package.chords

Attribute set to be passed to the :chords keyword of use-package.

Type: attribute set of strings or a nested attribute set of strings

Default: { }

package.<name>.use-package.commands

List of strings to be passed to :commands keyword of use-package.

Type: (list of string) or string

Default: [ ]

package.<name>.use-package.config

String to be passed to the :config keyword of use-package.

Type: strings concatenated with "\n"

Default: ""

package.<name>.use-package.custom

Attribute set to be passed to the :custom keyword of use-package.

Type: attribute set of (int, float, bool, string, or null to represent a value in elisp )

Default: { }

package.<name>.use-package.custom-face

Attribute set to be passed to the :custom-face keyword of use-package.

Type: attribute set of (int, float, bool, string, or null to represent a value in elisp )

Default: { }

package.<name>.use-package.defer

Boolean to be passed to the :defer keyword of use-package.

Type: boolean

Default: false

package.<name>.use-package.defines

String to be passed to the :defines keyword of use-package.

Type: strings concatenated with "\n"

Default: ""

package.<name>.use-package.delight

String to be passed to the :delight keyword of use-package.

Type: null or string

Default: null

package.<name>.use-package.demand

Boolean to be passed to the :demand keyword of use-package.

Type: boolean

Default: false

package.<name>.use-package.diminish

String to be passed to the :diminish keyword of use-package.

Type: null or string

Default: null

package.<name>.use-package.functions

String to be passed to the :functions keyword of use-package.

Type: strings concatenated with "\n"

Default: ""

package.<name>.use-package.hook

String to be passed to the :hook keyword of use-package.

Type: string

Default: ""

package.<name>.use-package.if-keyword

String to be passed to the :if keyword of use-package.

Type: strings concatenated with "\n"

Default: ""

package.<name>.use-package.init

String to be passed to the :init keyword of use-package.

Type: strings concatenated with "\n"

Default: ""

package.<name>.use-package.interpreter

String to be passed to the :interpreter keyword of use-package.

Type: string

Default: ""

package.<name>.use-package.magic

String to be passed to the :magic keyword of use-package.

Type: strings concatenated with "\n"

Default: ""

package.<name>.use-package.magic-fallback

String to be passed to the :magic-fallback keyword of use-package.

Type: strings concatenated with "\n"

Default: ""

package.<name>.use-package.mode

String to be passed to the :mode keyword of use-package.

Type: string

Default: ""

package.<name>.use-package.text

Package initialisation text.

Type: string

package.<name>.use-package.unless

String to be passed to the :unless keyword of use-package.

Type: strings concatenated with "\n"

Default: ""

package.<name>.use-package.when

String to be passed to the :when keyword of use-package.

Type: strings concatenated with "\n"

Default: ""

package.adaptive-wrap.settings.indent

Adaptive wrap indent variable.

Type: signed integer

Default: 2

Declared by:

<nixmacs/modules/packages/adaptive-wrap.nix>
package.company.settings.company-hooks

Company backends for major modes.

Type: attribute set of list of string

Default: { }

Declared by:

<nixmacs/modules/packages/company.nix>
package.flycheck.settings.disabled-checkers

Checkers to be added to flycheck-disabled-checkers.

Type: list of string

Default: [ ]

Declared by:

<nixmacs/modules/packages/flycheck.nix>
package.lsp-mode.settings.deferred

Whether to use lsp-deferred.

Type: boolean

Default: false

Declared by:

<nixmacs/modules/packages/lsp-mode.nix>
package.lsp-mode.settings.lsp-hooks

Modes to activate lsp in.

Type: list of string

Default: [ ]

Declared by:

<nixmacs/modules/packages/lsp-mode.nix>
package.neotree.settings.neo-theme

Theme for neotree to be passed to neo-theme.

Type: string

Default: "arrow"

Declared by:

<nixmacs/modules/packages/neotree.nix>
package.org-ref.settings.bibliography

Bibliography file for org-ref

Type: string

Declared by:

<nixmacs/modules/packages/org-ref.nix>
package.org-roam.settings.directory

Directory for org roam

Type: string

Declared by:

<nixmacs/modules/packages/org-roam.nix>
package.smartparens.settings.smartparens-modes

Modes to start smartparens on

Type: list of string

Declared by:

<nixmacs/modules/packages/smartparens.nix>
package.smartparens.settings.strict

Whether to use smartparens-strict-mode.

Type: boolean

Default: false

Declared by:

<nixmacs/modules/packages/smartparens.nix>
package.tex.settings.TeX-view-program-selection

Builds the TeX-view-program-selection variable.

Type: attribute set of string

Default: { }

Example: { output-pdf = "zathura"; }

Declared by:

<nixmacs/modules/packages/auctex.nix>
package.which-key.settings.setup

Activate which-key default config.

Type: null or one of "bottom", "right", "right-bottom", "minibuffer"

Default: "bottom"

Example: null

Declared by:

<nixmacs/modules/packages/which-key.nix>
package.xah-fly-keys.settings.command-mode-bindings

Extra keybindings for command mode.

Type: attribute set of string

Default: { }

Declared by:

<nixmacs/modules/packages/xah-fly-keys.nix>
package.xah-fly-keys.settings.keyboard-layout

Keyboard layout to be passed to xah-fly-keys.

Type: one of "azerty", "azerty-be", "colemak", "colemak-mod-dh", "dvorak", "programer-dvorak", "qwerty", "qwerty-abnt", "qwertz", "workman"

Default: "qwerty"

Example: "dvorak"

Declared by:

<nixmacs/modules/packages/xah-fly-keys.nix>
package.xah-fly-keys.settings.major-mode-bind-key

Key to bind major mode bindings to.

Type: null or string

Default: null

Declared by:

<nixmacs/modules/packages/xah-fly-keys.nix>
package.yasnippet.settings.yas-snippet-dirs

Yasnippet snippet directory.

Type: string

Default: ''(list (concat user-emacs-directory "snippets/"))''

Declared by:

<nixmacs/modules/packages/yasnippet.nix>
_module.args

Type: lazy attribute set of raw value

Declared by:

<nixmacs/lib/modules.nix>
appearance.fonts.font

Font string to use or null to not set font.

Type: null or string

Default: null

Example: "Source Code Pro 9"

Declared by:

<nixmacs/modules/font.nix>
appearance.fonts.unicode-font

Unicode font string to use or null to not set unicode font.

Type: null or string

Default: null

Example: "STIXGeneral"

Declared by:

<nixmacs/modules/font.nix>
appearance.theme.enable

Whether to enable theme.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/theme.nix>
appearance.theme.package

Emacs package for theme.

Type: package

Example: ${epkgs.dracula-theme}

Declared by:

<nixmacs/modules/theme.nix>
appearance.theme.extraConfig

Extra config to be added to the theme package.

Type: strings concatenated with "\n"

Default: ""

Declared by:

<nixmacs/modules/theme.nix>
appearance.theme.themeName

Theme name to load in init-el.

Type: string

Default: config.appearance.theme.package.pname

Example: "dracula"

Declared by:

<nixmacs/modules/theme.nix>
custom.enable

Whether to enable emacs customisation.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/custom.nix>
custom.file

File to save emacs customisations in.

Type: string or (path)

Default: "~/.emacs.d/custom.el"

Declared by:

<nixmacs/modules/custom.nix>
init-el.postSetup

Text to be put after package initialisation in init.el.

Type: strings concatenated with "\n\n"

Default: ""

Declared by:

<nixmacs/modules/init-el.nix>
init-el.preamble

Items to be put at the top of init.el. Should not rely on any package.

Type: strings concatenated with "\n\n"

Default: ""

Declared by:

<nixmacs/modules/init-el.nix>
keybindings.hydra

Attribute set defining hydras.

Type: attribute set of (submodule)

Default: { }

Declared by:

<nixmacs/modules/keybindings/hydra.nix>
keybindings.hydra.<name>.bind

Binding to run hydra on.

Type: string

Default: ""

Example: ''"global-map \"<f2>\""''

Declared by:

<nixmacs/modules/keybindings/hydra.nix>
keybindings.hydra.<name>.bindings

Bindings for this hydra.

Type: attribute set of (string or (submodule))

Default: { }

Example: { g = { command = "text-scale-increase"; name = "in"; } ; l = { command = "text-scale-decrease"; name = "out"; } ; }

Declared by:

<nixmacs/modules/keybindings/hydra.nix>
keybindings.hydra.<name>.colour

Hydra body colour.

Type: null or one of "amaranth", "teal", "pink", "red", "blue"

Default: null

Example: "amaranth"

Declared by:

<nixmacs/modules/keybindings/hydra.nix>
keybindings.hydra.<name>.docText

Description for the hydra.

Type: null or string

Default: null

Example: "zoom"

Declared by:

<nixmacs/modules/keybindings/hydra.nix>
keybindings.hydra.<name>.hint

head-hint for the hydra.

Type: null or string

Default: null

Example: "nil"

Declared by:

<nixmacs/modules/keybindings/hydra.nix>
keybindings.hydra.<name>.name

Name of the hydra.

Type: string

Default: "‹name›"

Example: "hydra-zoom"

Declared by:

<nixmacs/modules/keybindings/hydra.nix>
keybindings.major-mode

Key bindings for major modes.

Type: attribute set of (submodule)

Declared by:

<nixmacs/modules/keybindings/major-modes.nix>
keybindings.major-mode.<name>.binds

Key bindings to be set for given major mode. Implementation is up to keybinding system.

Type: null or (attribute set of string)

Default: { }

Example: { r = "nix-repl"; }

Declared by:

<nixmacs/modules/keybindings/major-modes.nix>
keybindings.major-mode.<name>.command

Command to run for the major mode key. Default activates leader-‹name›-sub-map.

Type: string

Default: "leader-‹name›-sub-map"

Declared by:

<nixmacs/modules/keybindings/major-modes.nix>
keybindings.major-mode.<name>.name

Key for this keybinding.

Type: string

Default: "‹name›"

Declared by:

<nixmacs/modules/keybindings/major-modes.nix>
layers.agda.enable

Whether to enable agda layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/agda.nix>
layers.better-defaults.enable

Whether to enable better defaults.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/better-defaults.nix>
layers.c.enable

Whether to enable C/C++ layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/c.nix>
layers.completion.enable

Whether to enable completion layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/completion.nix>
layers.coq.enable

Whether to enable coq layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/coq.nix>
layers.fish.enable

Whether to enable fish layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/fish.nix>
layers.git.enable

Whether to enable git layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/git.nix>
layers.haskell.enable

Whether to enable haskell layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/haskell.nix>
layers.ivy.enable

Whether to enable ivy layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/ivy.nix>
layers.javascript.enable

Whether to enable javascript layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/javascript.nix>
layers.javascript.indent-level

Amount of indent in javascript modes.

Type: positive integer, meaning >0

Default: 2

Declared by:

<nixmacs/modules/layers/javascript.nix>
layers.latex.enable

Whether to enable LaTeX layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/latex.nix>
layers.latex.enable-folding

Enable fold mode for latex mode.

Type: boolean

Default: false

Declared by:

<nixmacs/modules/layers/latex.nix>
layers.lsp.enable

Whether to enable Language Server Protocol Layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/lsp.nix>
layers.lsp.ui

Whether to enable lsp-ui mode.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/lsp.nix>
layers.markdown.enable

Whether to enable Markdown Layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/markdown.nix>
layers.mu4e.enable

Whether to enable mu4e email client.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/mu4e.nix>
layers.nix.enable

Whether to enable Nix Layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/nix.nix>
layers.nixmacs.enable

Whether to enable nixmacs base layer.

Type: boolean

Default: true

Example: true

Declared by:

<nixmacs/modules/layers/nixmacs.nix>
layers.notmuch.enable

Whether to enable notmuch email interface.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/notmuch.nix>
layers.ocaml.enable

Whether to enable ocaml layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/ocaml.nix>
layers.org.enable

Whether to enable org layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/org.nix>
layers.org.agenda-files

List of paths to add to org-agenda-files or a file containing a list of files within it.

Type: (path) or list of (path)

Default: [ ]

Declared by:

<nixmacs/modules/layers/org.nix>
layers.python.enable

Whether to enable python layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/python.nix>
layers.rust.enable

Whether to enable rust layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/rust.nix>
layers.systemd.enable

Whether to enable systemd layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/systemd.nix>
layers.treemacs.enable

Whether to enable treemacs layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/treemacs.nix>
layers.yaml.enable

Whether to enable yaml layer.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/layers/yaml.nix>
settings.cancel-minibuffer-with-mouse

Whether to enable cancel minibuffer on mouse click.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/settings.nix>
settings.config-command.enable

Whether to enable show-config command.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/settings.nix>
settings.crux-C-a

Whether to enable C-a from Crux.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/settings.nix>
settings.debug.enable

Whether to enable debug mode.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/settings.nix>
settings.delete-trailing-whitespace

Whether to enable deleting trailing whitespace.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/settings.nix>
settings.electric-pair-mode

Whether to enable electric-pair-mode.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/settings.nix>
settings.global-hl-line

Whether to enable highlight line mode.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/settings.nix>
settings.global-variables

Variables to be set in init.el.

Type: attribute set of (int, float, bool, string, or null to represent a value in elisp )

Default: { }

Declared by:

<nixmacs/modules/settings.nix>
settings.line-numbers.enable

Whether to enable line numbers.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/settings.nix>
settings.minibuffer-inherit-input-mode

Whether to enable let minibuffer inherit parent buffer's input mode.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/settings.nix>
settings.recent-files-mode

Whether to enable recentf-mode.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/settings.nix>
settings.smooth-scrolling.enable

Whether to enable smooth scrolling.

Type: boolean

Default: false

Example: true

Declared by:

<nixmacs/modules/settings.nix>