1 { pkgs ? import <nixpkgs> { }, lint ? false }:
2 pkgs.python3Packages.callPackage ({ autopep8, buildPythonPackage, ffmpeg-full
3 , gobject-introspection, gtk4, lib, makeDesktopItem, makeWrapper, mypy, pylint
4 , pygobject3, wrapGAppsHook4, }:
5 buildPythonPackage rec {
9 src = lib.cleanSource ./.;
12 checkPhase = "./test.sh";
14 nativeBuildInputs = [ gobject-introspection makeWrapper wrapGAppsHook4 ];
15 nativeCheckInputs = [ mypy ] ++ lib.optionals lint [ autopep8 pylint ];
16 buildInputs = [ gtk4 ];
17 pythonPath = [ pygobject3 ];
20 wrapProgram "$out/bin/srec" --prefix PATH : ${ffmpeg-full}/bin
21 cp -r $desktopItem/share $out
24 desktopItem = makeDesktopItem {
28 comment = "Record video and audio";
30 genericName = "Record Screen";
31 categories = [ "AudioVideo" "Video" ];
35 description = "A simple GUI for screen recording";
36 homepage = "https://git.scottworley.com/srec";
37 license = pkgs.lib.licenses.gpl3;
38 maintainers = with pkgs.lib.maintainers; [ chkno ];