{ yandex-music-with , isHm ? false }: { lib, pkgs, config, ... }: let cfg = config.programs.yandex-music; in { imports = [{ nixpkgs.overlays = [ (final: prev: { yandex-music = yandex-music-with prev; }) ]; }]; options = { programs.yandex-music = { enable = lib.mkEnableOption "yandex music application"; tray.enable = lib.mkEnableOption "tray icon for yandex music application"; electronArguments = lib.mkOption { description = "Extra electron arguments"; example = "--no-sandbox --trace-warnings"; type = lib.types.str; default = ""; }; package = lib.mkOption { description = "Finalized package of yandex music application"; type = lib.types.package; default = pkgs.yandex-music.override { trayEnabled = cfg.tray.enable; electronArguments = cfg.electronArguments; }; }; }; }; config = lib.mkIf cfg.enable ( if isHm then { home.packages = [ cfg.package ]; } else { environment.systemPackages = [ cfg.package ]; } ); }