2024-05-22 14:29:45 +02:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
...
|
2024-05-26 02:36:36 +02:00
|
|
|
}: let
|
2024-07-06 13:39:24 +02:00
|
|
|
cfg = config.modules.themes.stylix;
|
|
|
|
inherit (config.modules.themes.stylix) scheme image;
|
|
|
|
inherit (config.modules.themes.stylix.cursor) size;
|
|
|
|
inherit (config.modules.themes.stylix.fontsizes) terminal popups;
|
2024-06-01 19:31:05 +02:00
|
|
|
inherit (config.modules.other.system) username;
|
2024-05-04 01:33:33 +02:00
|
|
|
in {
|
2024-07-06 13:39:24 +02:00
|
|
|
options.modules.themes.stylix = {
|
|
|
|
enable = lib.mkEnableOption "stylix";
|
|
|
|
scheme = lib.mkOption {
|
|
|
|
description = " Color Scheme";
|
|
|
|
type = lib.types.str;
|
|
|
|
};
|
|
|
|
image = lib.mkOption {
|
|
|
|
description = "Image";
|
|
|
|
type = lib.types.path;
|
|
|
|
};
|
|
|
|
cursor = {
|
|
|
|
size = lib.mkOption {
|
|
|
|
description = "Cursor Size";
|
|
|
|
type = lib.types.int;
|
|
|
|
};
|
|
|
|
package = lib.mkOption {
|
|
|
|
description = "Cursor Package";
|
|
|
|
type = lib.types.package;
|
|
|
|
};
|
|
|
|
name = lib.mkOption {
|
|
|
|
description = "Cursor Name";
|
|
|
|
type = lib.type.str;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
fontsizes = {
|
|
|
|
terminal = lib.mkOption {
|
|
|
|
description = "Terminal font size";
|
|
|
|
type = lib.types.int;
|
|
|
|
};
|
|
|
|
popups = lib.mkOption {
|
|
|
|
description = "Popup font size";
|
|
|
|
type = lib.types.int;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-05-26 02:36:36 +02:00
|
|
|
config = lib.mkIf cfg.enable {
|
|
|
|
stylix = {
|
2024-07-06 13:39:24 +02:00
|
|
|
enable = true;
|
|
|
|
base16Scheme = scheme;
|
|
|
|
inherit image;
|
2024-05-26 02:36:36 +02:00
|
|
|
polarity = "dark";
|
|
|
|
autoEnable = true;
|
|
|
|
cursor = {
|
2024-07-06 13:39:24 +02:00
|
|
|
inherit size;
|
|
|
|
#size = 16;
|
2024-05-26 02:36:36 +02:00
|
|
|
package = pkgs.bibata-cursors;
|
|
|
|
name = "Bibata-Modern-Classic";
|
|
|
|
};
|
|
|
|
fonts = {
|
|
|
|
sizes = {
|
2024-07-06 13:39:24 +02:00
|
|
|
inherit terminal popups;
|
2024-05-15 00:14:59 +02:00
|
|
|
};
|
2024-05-26 02:36:36 +02:00
|
|
|
monospace = {
|
|
|
|
package =
|
|
|
|
pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
|
|
|
name = "JetBrainsMono";
|
2024-05-14 00:18:53 +02:00
|
|
|
};
|
2024-05-26 02:36:36 +02:00
|
|
|
serif = {
|
|
|
|
package = pkgs.noto-fonts;
|
|
|
|
name = "Noto Serif";
|
2024-05-04 01:33:33 +02:00
|
|
|
};
|
2024-05-26 02:36:36 +02:00
|
|
|
sansSerif = {
|
|
|
|
package = pkgs.lexend;
|
|
|
|
name = "Lexend";
|
|
|
|
};
|
|
|
|
emoji = {
|
|
|
|
package = pkgs.noto-fonts-emoji;
|
|
|
|
name = "Noto Color Emoji";
|
2024-05-15 00:14:59 +02:00
|
|
|
};
|
|
|
|
};
|
2024-05-26 02:36:36 +02:00
|
|
|
opacity = {
|
|
|
|
applications = 0.9;
|
|
|
|
popups = 0.9;
|
|
|
|
desktop = 0.9;
|
|
|
|
terminal = 0.85;
|
|
|
|
};
|
|
|
|
targets = {
|
|
|
|
console.enable = true;
|
|
|
|
fish.enable = true;
|
2024-06-01 19:31:05 +02:00
|
|
|
grub.enable = false;
|
2024-05-26 02:36:36 +02:00
|
|
|
grub.useImage = true;
|
|
|
|
gtk.enable = true;
|
|
|
|
lightdm.enable = true;
|
|
|
|
nixos-icons.enable = true;
|
|
|
|
nixvim.enable = true;
|
|
|
|
plymouth.logoAnimated = true;
|
|
|
|
};
|
2024-05-04 01:33:33 +02:00
|
|
|
};
|
2024-05-15 00:14:59 +02:00
|
|
|
};
|
2024-05-04 01:33:33 +02:00
|
|
|
}
|