containers

type

attribute set of submodule

containers.<name>.enableDockerSupport

Whether support for the Docker daemon should be added to this declarative container. Note, this will disable a number of important isolation features of this container and should only be enabled if you fully trust the container to access your system as a whole.

type

boolean

example

{
  containers.<name>.enableDockerSupport = true;
}

default

{
  containers.<name>.enableDockerSupport = false;
}

gtk.enableBase16Theme

Enable Base16 theme.

type

boolean

example

{
  gtk.enableBase16Theme = false;
}

default

{
  gtk.enableBase16Theme = true;
}

programs.bat.enableBase16Theme

Enable Base16 theme.

type

boolean

example

{
  programs.bat.enableBase16Theme = false;
}

default

{
  programs.bat.enableBase16Theme = true;
}

programs.emacs.init.enable

Whether to enable Emacs configuration.

type

boolean

example

{
  programs.emacs.init.enable = true;
}

default

{
  programs.emacs.init.enable = false;
}

programs.emacs.init.packageQuickstart

Whether to enable package-quickstart. This will make sure that package.el is activated and all autoloads are available. If disabled you can save quite a few milliseconds on the startup time, but you will most likely have to tweak the command option of various packages. As an example, running (emacs-init-time) on an Emacs configuration with this option enabled reported ~300ms. Disabling the option dropped the init time to ~200ms.

type

boolean

default

{
  programs.emacs.init.packageQuickstart = true;
}

programs.emacs.init.earlyInit

Configuration lines to add in early-init.el.

type

strings concatenated with "\n"

default

{
  programs.emacs.init.earlyInit = "";
}

programs.emacs.init.postlude

Configuration lines to add in the end of init.el.

type

strings concatenated with "\n"

default

{
  programs.emacs.init.postlude = "";
}

programs.emacs.init.prelude

Configuration lines to add in the beginning of init.el.

type

strings concatenated with "\n"

default

{
  programs.emacs.init.prelude = "";
}

programs.emacs.init.recommendedGcSettings

Whether to enable recommended garbage collection settings. This will reduce garbage collection frequency during startup and while the minibuffer is active.

type

boolean

example

{
  programs.emacs.init.recommendedGcSettings = true;
}

default

{
  programs.emacs.init.recommendedGcSettings = false;
}

programs.emacs.init.startupTimer

Whether to enable Emacs startup duration timer.

type

boolean

example

{
  programs.emacs.init.startupTimer = true;
}

default

{
  programs.emacs.init.startupTimer = false;
}

programs.emacs.init.usePackage

Attribute set of use-package configurations.

type

attribute set of submodule

example

{
  programs.emacs.init.usePackage = {
    _type = "literalExpression";
    text = ''
      {
        dhall-mode = {
          mode = [ ''"\\.dhall\\'"'' ];
        };
      }
      
    '';
  };
}

default

{
  programs.emacs.init.usePackage = {};
}

programs.emacs.init.usePackage.<name>.enable

Whether to enable Emacs package ‹name›.

type

boolean

example

{
  programs.emacs.init.usePackage.<name>.enable = true;
}

default

{
  programs.emacs.init.usePackage.<name>.enable = false;
}

programs.emacs.init.usePackage.<name>.package

The package to use for this module. Either the package name within the Emacs package set or a function taking the Emacs package set and returning a package.

type

name of package or function from epkgs to package

default

{
  programs.emacs.init.usePackage.<name>.package = "‹name›";
}

programs.emacs.init.usePackage.<name>.after

The entries to use for .

type

list of string

default

{
  programs.emacs.init.usePackage.<name>.after = [];
}

programs.emacs.init.usePackage.<name>.bind

The entries to use for .

type

attribute set of string

example

{
  programs.emacs.init.usePackage.<name>.bind = {
    M-<down> = "drag-stuff-down";
    M-<up> = "drag-stuff-up";
  };
}

default

{
  programs.emacs.init.usePackage.<name>.bind = {};
}

programs.emacs.init.usePackage.<name>.bindKeyMap

The entries to use for .

type

attribute set of string

example

{
  programs.emacs.init.usePackage.<name>.bindKeyMap = {
    "C-c p" = "projectile-command-map";
  };
}

default

{
  programs.emacs.init.usePackage.<name>.bindKeyMap = {};
}

programs.emacs.init.usePackage.<name>.bindLocal

The entries to use for local keymaps in .

type

attribute set of attribute set of string

example

{
  programs.emacs.init.usePackage.<name>.bindLocal = {
    helm-command-map = {
      "C-c h" = "helm-execute-persistent-action";
    };
  };
}

default

{
  programs.emacs.init.usePackage.<name>.bindLocal = {};
}

programs.emacs.init.usePackage.<name>.chords

The entries to use for .

type

attribute set of string

example

{
  programs.emacs.init.usePackage.<name>.chords = {
    jj = "ace-jump-char-mode";
    jk = "ace-jump-word-mode";
  };
}

default

{
  programs.emacs.init.usePackage.<name>.chords = {};
}

programs.emacs.init.usePackage.<name>.command

The entries to use for .

type

list of string

default

{
  programs.emacs.init.usePackage.<name>.command = [];
}

programs.emacs.init.usePackage.<name>.config

Code to place in the section.

type

strings concatenated with "\n"

default

{
  programs.emacs.init.usePackage.<name>.config = "";
}

programs.emacs.init.usePackage.<name>.defer

The setting.

type

boolean or positive integer, meaning >0

default

{
  programs.emacs.init.usePackage.<name>.defer = false;
}

programs.emacs.init.usePackage.<name>.defines

The entries to use for .

type

list of string

default

{
  programs.emacs.init.usePackage.<name>.defines = [];
}

programs.emacs.init.usePackage.<name>.demand

The setting.

type

boolean

default

{
  programs.emacs.init.usePackage.<name>.demand = false;
}

programs.emacs.init.usePackage.<name>.diminish

The entries to use for .

type

list of string

default

{
  programs.emacs.init.usePackage.<name>.diminish = [];
}

programs.emacs.init.usePackage.<name>.extraConfig

Additional lines to place in the use-package configuration.

type

strings concatenated with "\n"

default

{
  programs.emacs.init.usePackage.<name>.extraConfig = "";
}

programs.emacs.init.usePackage.<name>.extraPackages

Extra packages to add to .

type

list of package

default

{
  programs.emacs.init.usePackage.<name>.extraPackages = [];
}

programs.emacs.init.usePackage.<name>.functions

The entries to use for .

type

list of string

default

{
  programs.emacs.init.usePackage.<name>.functions = [];
}

programs.emacs.init.usePackage.<name>.hook

The entries to use for .

type

list of string

default

{
  programs.emacs.init.usePackage.<name>.hook = [];
}

programs.emacs.init.usePackage.<name>.init

The entries to use for .

type

strings concatenated with "\n"

default

{
  programs.emacs.init.usePackage.<name>.init = "";
}

programs.emacs.init.usePackage.<name>.mode

The entries to use for .

type

list of string

default

{
  programs.emacs.init.usePackage.<name>.mode = [];
}

programs.emacs.init.usePackageVerbose

Whether to enable verbose use-package mode.

type

boolean

example

{
  programs.emacs.init.usePackageVerbose = true;
}

default

{
  programs.emacs.init.usePackageVerbose = false;
}

programs.gnome-terminal.enableBase16Theme

Enable Base16 theme.

type

boolean

example

{
  programs.gnome-terminal.enableBase16Theme = false;
}

default

{
  programs.gnome-terminal.enableBase16Theme = true;
}

programs.jq.enableBase16Theme

Enable Base16 theme.

type

boolean

example

{
  programs.jq.enableBase16Theme = false;
}

default

{
  programs.jq.enableBase16Theme = true;
}

programs.rofi.enableBase16Theme

Enable Base16 theme.

type

boolean

example

{
  programs.rofi.enableBase16Theme = false;
}

default

{
  programs.rofi.enableBase16Theme = true;
}

services.dunst.enableBase16Theme

Enable Base16 theme.

type

boolean

example

{
  services.dunst.enableBase16Theme = false;
}

default

{
  services.dunst.enableBase16Theme = true;
}

services.polybar.enableBase16Theme

Enable Base16 theme.

type

boolean

example

{
  services.polybar.enableBase16Theme = false;
}

default

{
  services.polybar.enableBase16Theme = true;
}

services.screen-locker.enableBase16Theme

Enable Base16 theme.

type

boolean

example

{
  services.screen-locker.enableBase16Theme = false;
}

default

{
  services.screen-locker.enableBase16Theme = true;
}

services.xscreensaver.enableBase16Theme

Enable Base16 theme.

type

boolean

example

{
  services.xscreensaver.enableBase16Theme = false;
}

default

{
  services.xscreensaver.enableBase16Theme = true;
}

theme.base16.colors.base00

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base00 = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.colors.base01

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base01 = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.colors.base02

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base02 = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.colors.base03

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base03 = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.colors.base04

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base04 = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.colors.base05

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base05 = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.colors.base06

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base06 = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.colors.base07

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base07 = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.colors.base08

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base08 = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.colors.base09

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base09 = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.colors.base0A

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base0A = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.colors.base0B

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base0B = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.colors.base0C

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base0C = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.colors.base0D

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base0D = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.colors.base0E

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base0E = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.colors.base0F

Color value. Either a hexadecimal or decimal RGB triplet must be given. If a hexadecimal triplet is given then the decimal triplet is automatically populated, and vice versa. That is, the example could be equivalently written

{ hex.r = "b1"; hex.g = "2a"; hex.b = "2a"; }

And "red dec: ${dec.r}, red hex: ${hex.r}, rgb hex: ${hex.rgb}" would expand to red dec: 177, red hex: b1, rgb hex: b12a2a.

type

submodule

example

{
  theme.base16.colors.base0F = {
    dec = {
      b = 42;
      g = 42;
      r = 177;
    };
  };
}

theme.base16.kind

Whether theme is dark or light. The default value is determined by a basic heuristic, if an incorrect value is found then this option must be set explicitly.

type

one of "dark", "light"

example

{
  theme.base16.kind = "dark";
}

default

{
  theme.base16.kind = {
    _type = "literalExpression";
    text = ''
      "light", if sum of RGB components of base00 color ≥ 382,
      "dark", otherwise
      
    '';
  };
}

theme.base16.name

The theme name.

type

string

example

{
  theme.base16.name = "My-Fine-Theme";
}