pkgs: rec { predicate = pkg: ( builtins.elem (pkgs.lib.getName pkg) unfree.packages || builtins.all ( license: license.free || builtins.elem license.shortName unfree.licenses ) (if builtins.isList pkg.meta.license then pkg.meta.license else [ pkg.meta.license ]) ); unfree = { packages = [ "antigravity" "cursor" "discord" "obsidian" "spotify" "steam" "steam-unwrapped" "vscode-extension-mhutchie-git-graph" "zoom" "zoom-us" "nvidia-x11" "nvidia-settings" ]; licenses = [ "CUDA EULA" "cuDNN EULA" "cuTENSOR EULA" "NVidia OptiX EULA" ]; }; # insecure = [ ]; }