ooknet/home/modules/theme/wallpaper/default.nix
ooks-io f5e87f2a79 refactor: major theme refactor
new profile catagory: theme. refactor modules for wallpaper, fonts, gtk,
and qt. adjusted modules that depend on old theming modules
2024-04-06 22:38:54 +13:00

34 lines
946 B
Nix

{ lib, config, inputs, pkgs, ... }:
let
inherit (inputs.nix-colors.lib-contrib { inherit pkgs; }) nixWallpaperFromScheme;
inherit (lib) types mkDefault mkIf mkOption mkEnableOption;
cfg = config.homeModules.theme.wallpaper;
in
{
options.homeModules.theme.wallpaper = {
enable = mkEnableOption "Enable wallpaper module";
path = mkOption {
type = types.path;
default = null;
description = "Wallpaper Path";
};
};
config = mkIf cfg.enable {
homeModules.theme.wallpaper.path =
let
largest = f: xs: builtins.head (builtins.sort (a: b: a > b) (map f xs));
largestWidth = largest (x: x.width) config.monitors;
largestHeight = largest (x: x.height) config.monitors;
in
mkDefault (nixWallpaperFromScheme
{
scheme = config.colorscheme;
width = largestWidth;
height = largestHeight;
logoScale = 4;
});
};
}