Home Manager

The following options can only be set in a Home Manager configuration.

If you combined Home Manager with your NixOS configuration, write these options within a Home Manager section, either for all users:

home-manager.sharedModules = [ { stylix.targets.xyz.enable = false; } ];

Or for a specific user:

home-manager.users.«name» = { stylix.targets.xyz.enable = false; };

Read more about per-user themes.

Home Manager options

stylix.autoEnable

Whether to enable targets by default.

When this is false, all targets are disabled unless explicitly enabled.

When this is true, most targets are enabled by default. A small number remain off by default, because they require further manual setup, or they are only applicable in specific circumstances which cannot be detected automatically.

Type

boolean

Default

true

Example

false

Source

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

null or absolute 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.

Source

stylix.cursor

Attributes defining the systemwide cursor. Set either all or none of these attributes.

Type

null or (submodule)

Default

null

Source

stylix.cursor.name

The cursor name within the package.

Type

null or string

Default

null

Source

stylix.cursor.package

Package providing the cursor theme.

Type

null or package

Default

null

Source

stylix.cursor.size

The cursor size.

Type

null or signed integer

Default

null

Source

stylix.enable

Whether to enable Stylix.

When this is false, all theming is disabled and all other options are ignored.

Type

boolean

Default

false

Example

true

Source

stylix.enableReleaseChecks

Whether to check that the Stylix release matches the releases of NixOS, Home Manager, and nix-darwin. Checks are only performed if the component in question is used.

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

Type

boolean

Default

true

Source

stylix.fonts.emoji

Emoji font.

Type

submodule

Default

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

Source

stylix.fonts.emoji.name

Name of the font within the package.

Type

string

Source

stylix.fonts.emoji.package

Package providing the font.

Type

package

Source

stylix.fonts.monospace

Monospace font.

Type

submodule

Default

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

Source

stylix.fonts.monospace.name

Name of the font within the package.

Type

string

Source

stylix.fonts.monospace.package

Package providing the font.

Type

package

Source

stylix.fonts.packages

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

Type

list of package

Source

stylix.fonts.sansSerif

Sans-serif font.

Type

submodule

Default

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

Source

stylix.fonts.sansSerif.name

Name of the font within the package.

Type

string

Source

stylix.fonts.sansSerif.package

Package providing the font.

Type

package

Source

stylix.fonts.serif

Serif font.

Type

submodule

Default

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

Source

stylix.fonts.serif.name

Name of the font within the package.

Type

string

Source

stylix.fonts.serif.package

Package providing the font.

Type

package

Source

stylix.fonts.sizes.applications

The font size used for applications.

This is measured in points. In a computing context, there should be 72 points per inch.

The CSS specification says there should be 96 reference pixels per inch. This means CSS uses a fixed ratio of 3 points to every 4 pixels, which is sometimes useful. However, reference pixels might not correspond to physical pixels, so this conversion may be invalid for other applications.

The measurements given in inches are likely to be incorrect unless you've manually set your DPI.

Type

unsigned integer, meaning >=0, or floating point number

Default

12

Source

stylix.fonts.sizes.desktop

The font size used for window titles, status bars, and other general elements of the desktop.

This is measured in points. In a computing context, there should be 72 points per inch.

The CSS specification says there should be 96 reference pixels per inch. This means CSS uses a fixed ratio of 3 points to every 4 pixels, which is sometimes useful. However, reference pixels might not correspond to physical pixels, so this conversion may be invalid for other applications.

The measurements given in inches are likely to be incorrect unless you've manually set your DPI.

Type

unsigned integer, meaning >=0, or floating point number

Default

10

Source

stylix.fonts.sizes.popups

The font size used for notifications, popups, and other overlay elements of the desktop.

This is measured in points. In a computing context, there should be 72 points per inch.

The CSS specification says there should be 96 reference pixels per inch. This means CSS uses a fixed ratio of 3 points to every 4 pixels, which is sometimes useful. However, reference pixels might not correspond to physical pixels, so this conversion may be invalid for other applications.

The measurements given in inches are likely to be incorrect unless you've manually set your DPI.

Type

unsigned integer, meaning >=0, or floating point number

Default

10

Source

stylix.fonts.sizes.terminal

The font size used for terminals and text editors.

This is measured in points. In a computing context, there should be 72 points per inch.

The CSS specification says there should be 96 reference pixels per inch. This means CSS uses a fixed ratio of 3 points to every 4 pixels, which is sometimes useful. However, reference pixels might not correspond to physical pixels, so this conversion may be invalid for other applications.

The measurements given in inches are likely to be incorrect unless you've manually set your DPI.

Type

unsigned integer, meaning >=0, or floating point number

Default

12

Source

stylix.iconTheme.dark

Dark icon theme name.

Type

null or string

Default

null

Source

stylix.iconTheme.enable

enable/disable icon theming.

Type

boolean

Default

false

Source

stylix.iconTheme.light

Light icon theme name.

Type

null or string

Default

null

Source

stylix.iconTheme.package

Package providing the icon theme.

Type

null or package

Default

null

Source

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

null or (absolute path or package convertible to it)

Default

null

Source

stylix.imageScalingMode

Scaling mode for the wallpaper image.

stretch : Stretch the image to cover the screen.

fill : Scale the image to fill the screen, potentially cropping it.

fit : Scale the image to fit the screen without being cropped.

center : Center the image without resizing it.

tile : Tile the image to cover the screen.

Type

one of "stretch", "fill", "fit", "center", "tile"

Default

"fill"

Source

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

Source

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

Source

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

Source

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

Source

stylix.override

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

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

Type

attribute set

Default

{ }

Source

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"

Source