Home Manager options

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.

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

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

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.047>;
}

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

enable/disable icon theming.

Type: boolean

Default: false

stylix.iconTheme.package

Package providing the icon theme.

Type: null or package

Default: null

stylix.iconTheme.dark

Dark icon theme name.

Type: null or string

Default: null

stylix.iconTheme.light

Light icon theme name.

Type: null or string

Default: null

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

stylix.imageScalingMode

Wallpaper scaling mode;

This is the scaling mode your wallpaper image will use assuming it doesnt fix your monitor perfectly

Type: one of “stretch”, “fill”, “fit”, “center”, “tile”

Default: "fill"

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 config.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.alacritty.enable

Whether to enable theming for Alacritty.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.avizo.enable

Whether to enable theming for Avizo.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.bat.enable

Whether to enable theming for Bat.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.bemenu.enable

Whether to enable theming for bemenu.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.bemenu.alternate

Whether to use alternating colours.

Type: boolean

Default: false

stylix.targets.bemenu.fontSize

Font size used for bemenu.

Type: null or signed integer

Default: 10

stylix.targets.bspwm.enable

Whether to enable theming for bspwm.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.btop.enable

Whether to enable theming for btop.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.dunst.enable

Whether to enable theming for Dunst.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.emacs.enable

Whether to enable theming for Emacs.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.feh.enable

Whether to enable theming for the desktop background using Feh.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.firefox.enable

Whether to enable theming for Firefox.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.firefox.profileNames

The Firefox profile names to apply styling on.

Type: list of string

Default: [ ]

stylix.targets.fish.enable

Whether to enable theming for Fish.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.foot.enable

Whether to enable theming for Foot.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.forge.enable

Whether to enable theming for Forge.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.fuzzel.enable

Whether to enable theming for Fuzzel.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.fzf.enable

Whether to enable theming for Fzf.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.gedit.enable

Whether to enable theming for GEdit.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.gitui.enable

Whether to enable theming for GitUI.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.gnome.enable

Whether to enable theming for GNOME.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.gtk.enable

Whether to enable theming for all GTK3, GTK4 and Libadwaita apps.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.gtk.extraCss

Extra code added to gtk-3.0/gtk.css and gtk-4.0/gtk.css.

Type: strings concatenated with “\n”

Default: ""

Example:

''
  // Remove rounded corners
  window.background { border-radius: 0; }
''

stylix.targets.helix.enable

Whether to enable theming for Helix.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.hyprland.enable

Whether to enable theming for Hyprland.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.hyprland.hyprpaper.enable

Whether to enable theming for Hyprpaper.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.hyprlock.enable

Whether to enable theming for Hyprlock.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.hyprpaper.enable

Whether to enable theming for Hyprpaper.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.i3.enable

Whether to enable theming for i3.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.k9s.enable

Whether to enable theming for k9s.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.kde.enable

Whether to enable theming for KDE.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.kitty.enable

Whether to enable theming for Kitty.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.kitty.variant256Colors

Whether to use the 256-color variant rather than the default combination of colors.

Type: boolean

Default: false

stylix.targets.kubecolor.enable

Whether to enable theming for kubecolor.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.lazygit.enable

Whether to enable theming for lazygit.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.librewolf.enable

Whether to enable theming for Librewolf.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.librewolf.profileNames

The Librewolf profile names to apply styling on.

Type: list of string

Default: [ ]

stylix.targets.mako.enable

Whether to enable theming for Mako.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.mangohud.enable

Whether to enable theming for mangohud.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.ncspot.enable

Whether to enable theming for Ncspot.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.neovim.enable

Whether to enable theming for Neovim.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.neovim.plugin

Plugin used for the colorscheme

Type: one of “base16-nvim”, “mini.base16”

Default: "mini.base16"

stylix.targets.neovim.transparentBackground.main

Whether to enable background transparency for the main Neovim window.

Type: boolean

Default: false

Example: true

stylix.targets.neovim.transparentBackground.signColumn

Whether to enable background transparency for the Neovim sign column.

Type: boolean

Default: false

Example: true

stylix.targets.nixvim.enable

Whether to enable theming for nixvim.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.nixvim.plugin

Plugin used for the colorscheme

Type: one of “base16-nvim”, “mini.base16”

Default: "mini.base16"

stylix.targets.nixvim.transparentBackground.main

Whether to enable background transparency for the main NeoVim window.

Type: boolean

Default: false

Example: true

stylix.targets.nixvim.transparentBackground.signColumn

Whether to enable background transparency for the NeoVim sign column.

Type: boolean

Default: false

Example: true

stylix.targets.nushell.enable

Whether to enable theming for Nushell.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.qutebrowser.enable

Whether to enable theming for Qutebrowser.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.river.enable

Whether to enable theming for River.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.rofi.enable

Whether to enable theming for Rofi.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.spicetify.enable

Whether to enable theming for Spicetify.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.sway.enable

Whether to enable theming for Sway.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.swaylock.enable

Whether to enable theming for Swaylock.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.swaylock.useImage

Whether to use your wallpaper image for the Swaylock background. If this is disabled, a plain color will be used instead.

Type: boolean

Default: true

stylix.targets.swaync.enable

Whether to enable theming for SwayNC.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.sxiv.enable

Whether to enable theming for Sxiv.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.tmux.enable

Whether to enable theming for Tmux.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.tofi.enable

Whether to enable theming for Tofi.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.vesktop.enable

Whether to enable theming for Vesktop.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.vim.enable

Whether to enable theming for Vim.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.vscode.enable

Whether to enable theming for VSCode.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.waybar.enable

Whether to enable theming for Waybar.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.waybar.enableCenterBackColors

enables background colors on the center of the bar

Type: boolean

Default: false

stylix.targets.waybar.enableLeftBackColors

enables background colors on the left side of the bar

Type: boolean

Default: false

stylix.targets.waybar.enableRightBackColors

enables background colors on the right side of the bar

Type: boolean

Default: false

stylix.targets.wezterm.enable

Whether to enable theming for wezterm.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.wob.enable

Whether to enable theming for wob.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.wofi.enable

Whether to enable theming for wofi.

Type: boolean

Default: false

Example: true

stylix.targets.wpaperd.enable

Whether to enable theming for wpaperd.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.xfce.enable

Whether to enable theming for Xfce.

Type: boolean

Default: false

Example: true

stylix.targets.xresources.enable

Whether to enable theming for Xresources.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.yazi.enable

Whether to enable theming for Yazi.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.zathura.enable

Whether to enable theming for Zathura.

Type: boolean

Default: same as stylix.autoEnable

Example: false

stylix.targets.zellij.enable

Whether to enable theming for zellij.

Type: boolean

Default: same as stylix.autoEnable

Example: false