{ config, pkgs, lib, inputs, ... }: let cfg = config.aesthetics.themes.melatonin; wallpapers = inputs.wallpapers.packages.${pkgs.stdenv.hostPlatform.system}.default; in { options.aesthetics.themes.melatonin.enable = lib.mkEnableOption "melatonin theme"; config = lib.mkMerge [ ( lib.mkIf cfg.enable { aesthetics = { wallpaper = "${wallpapers}/neutral/landscape/yosemite-valley.jpg"; wallpapersDir = "${wallpapers}/neutral"; scheme = { base00 = "152233"; base01 = "253850"; base02 = "415d81"; base03 = "5b7aa2"; base04 = "84a3cb"; base05 = "c8d7eb"; base06 = "b9cce5"; base07 = "dce7f6"; base08 = "d87595"; base09 = "dd9f6b"; base0A = "c88953"; base0B = "90a254"; base0C = "55aa9b"; base0D = "5ba1d0"; base0E = "a586d9"; base0F = "a06f42"; }; font = { name = "CodeNewRoman Nerd Font"; package = pkgs.nerd-fonts.code-new-roman; }; # font = { # name = "Kirsch Nerd Font"; # size = "22"; # package = inputs.kirsch.packages.x86_64-linux.kirsch-nerd; # }; }; home.pointerCursor = { package = pkgs.qogir-icon-theme; name = "Qogir-Dark"; size = 22; }; gtk.iconTheme = { package = pkgs.zafiro-icons; name = "Zafiro-icons-Dark"; }; } ) ( lib.mkIf config.aesthetics.targets.helix.enable { aesthetics.targets.helix.theme = "melatonin"; home.file."helix-melatonin-theme" = { target = ".config/helix/themes/melatonin.toml"; source = ./helix-theme.toml; }; } ) ]; }