{ config, lib, pkgs, ... }: { options.my.shell.multimedia.enable = lib.mkEnableOption "enable"; config = lib.mkIf config.my.shell.multimedia.enable { home-manager.users.jawz.programs.gallery-dl = { enable = true; settings = import ../../dotfiles/gallery-dl.nix; }; users.users.jawz.packages = let packages = builtins.attrValues { inherit (pkgs) yt-dlp # downloads videos from most video websites ffmpeg # not ffmpreg, the coolest video conversion tool! imagemagick # photoshop what?? ; }; ffpb = pkgs.python3Packages.buildPythonApplication ( let pname = "ffpb"; version = "0.4.1"; in { inherit pname version; src = pkgs.python3Packages.fetchPypi { inherit pname version; sha256 = "sha256-7eVqbLpMHS1sBw2vYS4cTtyVdnnknGtEI8190VlXflk="; }; doCheck = false; buildInputs = [ pkgs.python3Packages.setuptools ]; propagatedBuildInputs = [ pkgs.python3Packages.tqdm ]; } ); in packages ++ [ ffpb ]; }; }