63 lines
1.4 KiB
Nix
63 lines
1.4 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
inputs,
|
|
...
|
|
}:
|
|
|
|
{
|
|
options.modules.stylix = {
|
|
enable = lib.mkEnableOption "Whether to enable Stylix, a theme manager for NixOS";
|
|
setupCursors = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = true;
|
|
description = "Whether to setup cursors by default";
|
|
};
|
|
|
|
lightWallpaper = lib.mkOption {
|
|
type = lib.types.path;
|
|
description = "Path to light theme desktop wallpaper";
|
|
};
|
|
|
|
darkWallpaper = lib.mkOption {
|
|
type = lib.types.path;
|
|
description = "Path to dark theme desktop wallpaper";
|
|
};
|
|
};
|
|
|
|
imports = [
|
|
inputs.stylix.homeManagerModules.stylix
|
|
];
|
|
|
|
config = lib.mkIf config.modules.stylix.enable {
|
|
stylix = {
|
|
enable = true;
|
|
polarity = lib.mkDefault "light";
|
|
|
|
image = lib.mkDefault config.modules.stylix.lightWallpaper;
|
|
base16Scheme = lib.mkDefault "${pkgs.base16-schemes}/share/themes/atelier-cave.yaml";
|
|
|
|
cursor = lib.mkIf config.modules.stylix.setupCursors {
|
|
name = "Bibata-Modern-Classic";
|
|
package = pkgs.bibata-cursors;
|
|
size = 24;
|
|
};
|
|
};
|
|
|
|
specialisation = {
|
|
light.configuration.stylix = {
|
|
polarity = "light";
|
|
image = config.modules.stylix.lightWallpaper;
|
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-cave-light.yaml";
|
|
};
|
|
|
|
dark.configuration.stylix = {
|
|
polarity = "dark";
|
|
image = config.modules.stylix.darkWallpaper;
|
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-cave.yaml";
|
|
};
|
|
};
|
|
};
|
|
}
|