29 lines
720 B
Nix
29 lines
720 B
Nix
{
|
|
lib,
|
|
config,
|
|
inputs,
|
|
pkgs,
|
|
osConfig,
|
|
...
|
|
}: let
|
|
inherit (inputs.nix-colors.lib-contrib {inherit pkgs;}) nixWallpaperFromScheme;
|
|
inherit (lib) mkDefault mkIf;
|
|
|
|
monitors = osConfig.ooknet.host.hardware.monitors;
|
|
cfg = config.ooknet.wallpaper;
|
|
in {
|
|
config = mkIf cfg.enable {
|
|
ooknet.wallpaper.path = let
|
|
largest = f: xs: builtins.head (builtins.sort (a: b: a > b) (map f xs));
|
|
largestWidth = largest (x: x.width) monitors;
|
|
largestHeight = largest (x: x.height) monitors;
|
|
in
|
|
mkDefault (nixWallpaperFromScheme
|
|
{
|
|
scheme = config.colorscheme;
|
|
width = largestWidth;
|
|
height = largestHeight;
|
|
logoScale = 4;
|
|
});
|
|
};
|
|
}
|