{ lib, pkgs, namespace, ... }: with lib; let inherit (lib.${namespace}) mkOpt; # Default fallback wallpaper (included in the system) defaultWallpaper = pkgs.runCommand "default-wallpaper" { } '' mkdir -p $out cp ${pkgs.nixos-artwork.wallpapers.nineish-dark-gray}/share/backgrounds/nixos/nix-wallpaper-nineish-dark-gray.png $out/default.jpg ''; in { options.${namespace}.desktop.hyprland = { enable = mkEnableOption "enable hyprland desktop environment"; # These options are convenience aliases that feed into mjallen.wallpaper.* # when the hyprland wallpaper sub-module is active. wallpaperSource = mkOpt (types.enum [ "bing" "nasa" ]) "bing" "Source for the wallpaper (bing or nasa)"; wallpaper = mkOpt types.path "/var/lib/wallpapers/current.jpg" "Path to the active wallpaper file"; wallpaperDir = mkOpt types.path "/var/lib/wallpapers" "Path to the wallpaper directory"; defaultWallpaper = mkOpt types.path "${defaultWallpaper}/default.jpg" "Default wallpaper"; }; }