new profile catagory: theme. refactor modules for wallpaper, fonts, gtk, and qt. adjusted modules that depend on old theming modules
34 lines
946 B
Nix
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;
|
|
});
|
|
};
|
|
}
|
|
|