{ config, lib, pkgs, ... }: { options.my.apps.piano.enable = lib.mkEnableOption "piano learning and music theory apps"; config = lib.mkIf config.my.apps.piano.enable { users.users = let users = if lib.isString config.my.toggleUsers.apps then [ config.my.toggleUsers.apps ] else config.my.toggleUsers.apps; packages = builtins.attrValues { inherit (pkgs) neothesia linthesia timidity ; }; in lib.mkMerge (map (user: { ${user}.packages = packages; }) users); }; }