NixOS options

The following options can only be set in a NixOS configuration.

stylix.autoEnable

Whether to automatically enable styling for installed targets.

Type: boolean

Default: true

stylix.base16Scheme

A scheme following the base16 standard.

This can be a path to a file, a string of YAML, or an attribute set.

Type: path or strings concatenated with “\n” or (attribute set)

Default: The colors used in the theming.

Those are automatically selected from the background image by default, but could be overridden manually.

stylix.cursor.package

Package providing the cursor theme.

Type: package

Default: <derivation vanilla-dmz-0.4.5>

stylix.cursor.name

The cursor name within the package.

Type: string

Default: "Vanilla-DMZ"

stylix.cursor.size

The cursor size.

Type: signed integer

Default: 32

stylix.fonts.packages

A list of all the font packages that will be installed.

Type: list of package (read only)

stylix.fonts.emoji

Emoji font.

Type: submodule

Default:

{
  name = "Noto Color Emoji";
  package = <derivation noto-fonts-color-emoji-2.042>;
}

stylix.fonts.emoji.package

Package providing the font.

Type: package

stylix.fonts.emoji.name

Name of the font within the package.

Type: string

stylix.fonts.monospace

Monospace font.

Type: submodule

Default:

{
  name = "DejaVu Sans Mono";
  package = <derivation dejavu-fonts-2.37>;
}

stylix.fonts.monospace.package

Package providing the font.

Type: package

stylix.fonts.monospace.name

Name of the font within the package.

Type: string

stylix.fonts.sansSerif

Sans-serif font.

Type: submodule

Default:

{
  name = "DejaVu Sans";
  package = <derivation dejavu-fonts-2.37>;
}

stylix.fonts.sansSerif.package

Package providing the font.

Type: package

stylix.fonts.sansSerif.name

Name of the font within the package.

Type: string

stylix.fonts.serif

Serif font.

Type: submodule

Default:

{
  name = "DejaVu Serif";
  package = <derivation dejavu-fonts-2.37>;
}

stylix.fonts.serif.package

Package providing the font.

Type: package

stylix.fonts.serif.name

Name of the font within the package.

Type: string

stylix.fonts.sizes.applications

The font size used by applications.

Type: unsigned integer, meaning >=0

Default: 12

stylix.fonts.sizes.desktop

The font size used in window titles/bars/widgets elements of the desktop.

Type: unsigned integer, meaning >=0

Default: 10

stylix.fonts.sizes.popups

The font size for notifications/popups and in general overlay elements of the desktop.

Type: unsigned integer, meaning >=0

Default: 10

stylix.fonts.sizes.terminal

The font size for terminals/text editors.

Type: unsigned integer, meaning >=0

Default: 12

stylix.homeManagerIntegration.autoImport

Whether to enable Stylix automatically for every user.

This only applies to users for which Home Manager is set up within the NixOS configuration.

Type: boolean

Default: true when Home Manager is present.

stylix.homeManagerIntegration.followSystem

When this option is true, Home Manager will follow the system theme by default, rather than requiring a theme to be set.

This will only affect Home Manager configurations which are built within the NixOS configuration.

Type: boolean

Default: true

stylix.image

Wallpaper image.

This is set as the background of your desktop environment, if possible, and used to generate a colour scheme if you don’t set one manually.

Type: path or package convertible to it

Default: null

stylix.opacity.applications

The opacity of the windows of applications, the amount of applications supported is currently limited

Type: floating point number

Default: 1.0

stylix.opacity.desktop

The opacity of the windows of bars/widgets, the amount of applications supported is currently limited

Type: floating point number

Default: 1.0

stylix.opacity.popups

The opacity of the windows of notifications/popups, the amount of applications supported is currently limited

Type: floating point number

Default: 1.0

stylix.opacity.terminal

The opacity of the windows of terminals, this works across all terminals supported by stylix

Type: floating point number

Default: 1.0

stylix.override

An override that will be applied to stylix.base16Scheme when generating lib.stylix.colors.

Takes anything that a scheme generated by base16nix can take as argument to override.

Type: attribute set

Default: { }

stylix.polarity

Use this option to force a light or dark theme.

By default we will select whichever is ranked better by the genetic algorithm. This aims to get good contrast between the foreground and background, as well as some variety in the highlight colours.

Type: one of “either”, “light”, “dark”

Default: "either"

stylix.targets.chromium.enable

Whether to style Chromium, Google Chrome and Brave.

Type: boolean

Default: true if stylix.autoEnable == true and the target is installed, otherwise false.

stylix.targets.console.enable

Whether to style the Linux kernel console.

Type: boolean

Default: true if stylix.autoEnable == true and the target is installed, otherwise false.

stylix.targets.feh.enable

Whether to style the desktop background using Feh.

Type: boolean

Default: true if stylix.autoEnable == true and the target is installed, otherwise false.

stylix.targets.fish.enable

Whether to style Fish.

Type: boolean

Default: true if stylix.autoEnable == true and the target is installed, otherwise false.

stylix.targets.gnome.enable

Whether to style GNOME and GDM

Type: boolean

Default: false

stylix.targets.grub.enable

Whether to style GRUB.

Type: boolean

Default: true if stylix.autoEnable == true and the target is installed, otherwise false.

stylix.targets.grub.useImage

Whether to use your wallpaper image as the GRUB background.

Type: boolean

Default: false

stylix.targets.gtk.enable

Whether to style all GTK3, GTK4 and Libadwaita apps.

Type: boolean

Default: true if stylix.autoEnable == true and the target is installed, otherwise false.

stylix.targets.kmscon.enable

Whether to style the kmscon virtual console.

Type: boolean

Default: true if stylix.autoEnable == true and the target is installed, otherwise false.

stylix.targets.lightdm.enable

Whether to style LightDM.

Type: boolean

Default: true if stylix.autoEnable == true and the target is installed, otherwise false.

stylix.targets.nixos-icons.enable

Whether to style the NixOS logo.

Type: boolean

Default: true if stylix.autoEnable == true and the target is installed, otherwise false.

stylix.targets.nixvim.enable

Whether to style nixvim.

Type: boolean

Default: true if stylix.autoEnable == true and the target is installed, otherwise false.

stylix.targets.nixvim.transparent_bg.main

Whether to enable background transparency for the main NeoVim window.

Type: boolean

Default: false

Example: true

stylix.targets.nixvim.transparent_bg.sign_column

Whether to enable background transparency for the NeoVim sign column.

Type: boolean

Default: false

Example: true

stylix.targets.plymouth.enable

Whether to style the Plymouth boot screen.

Type: boolean

Default: true if stylix.autoEnable == true and the target is installed, otherwise false.

Logo to be used on the boot screen.

Type: path or package

Default: NixOS logo

stylix.targets.plymouth.logoAnimated

Whether to apply a spinning animation to the logo.

Disabling this allows the use of logos which don’t have rotational symmetry.

Type: boolean

Default: true