diff --git a/flake.lock b/flake.lock index 9525a9c..80f706e 100644 --- a/flake.lock +++ b/flake.lock @@ -193,6 +193,22 @@ "type": "github" } }, + "plover": { + "flake": false, + "locked": { + "lastModified": 1652639506, + "narHash": "sha256-2sS5jnpIHV2j23vDMS4ka2neRTcEyLH+zs7Og+Ysjvg=", + "owner": "openstenoproject", + "repo": "plover", + "rev": "486a032f7bd50d1df3ddff47f407e77a4cfe0bc6", + "type": "github" + }, + "original": { + "owner": "openstenoproject", + "repo": "plover", + "type": "github" + } + }, "root": { "inputs": { "clean-s3-cache": "clean-s3-cache", @@ -205,7 +221,8 @@ "miifox-net": "miifox-net", "nasin-nanpa": "nasin-nanpa", "nixpkgs": "nixpkgs_2", - "nixpkgs-go116": "nixpkgs-go116" + "nixpkgs-go116": "nixpkgs-go116", + "plover": "plover" } }, "utils": { diff --git a/flake.nix b/flake.nix index 7114b8f..7fba4ca 100644 --- a/flake.nix +++ b/flake.nix @@ -22,6 +22,8 @@ kreative-open-relay.flake = false; nasin-nanpa.url = "github:ETBCOR/nasin-nanpa"; nasin-nanpa.flake = false; + plover.url = "github:openstenoproject/plover"; + plover.flake = false; }; outputs = { @@ -52,6 +54,7 @@ ./matrix/mautrix-whatsapp ./fonts/kreative.nix ./fonts/nasin-nanpa.nix + ./misc/plover.nix ]); hydraJobs = { diff --git a/misc/plover.nix b/misc/plover.nix new file mode 100644 index 0000000..e99ccf8 --- /dev/null +++ b/misc/plover.nix @@ -0,0 +1,38 @@ +{ + inputs, + pkgs, +}: +with pkgs; rec { + plover-plugins-manager = with python3Packages; + buildPythonPackage rec { + pname = "plover-plugins-manager"; + version = "0.7.0"; + src = fetchFromGitHub { + owner = "benoit-pierre"; + repo = "plover_plugins_manager"; + rev = "0.7.0"; + sha256 = "sha256-+ASEFxjIeqOwwIwojOltA4nAG/HMz+px+wMXuCOc+Dw="; + }; + propagatedBuildInputs = [plover setuptools]; + }; + plover = with python3Packages; + qt5.mkDerivationWith buildPythonPackage rec { + pname = "plover"; + version = inputs.plover.lastModifiedDate; + + src = inputs.plover; + + # I'm not sure why we don't find PyQt5 here but there's a similar + # sed on many of the platforms Plover builds for + postPatch = "sed -i /PyQt5/d setup.cfg"; + + checkInputs = [pytest mock]; + propagatedBuildInputs = [babel pyqt5 xlib pyserial appdirs wcwidth setuptools]; + + dontWrapQtApps = true; + + preFixup = '' + makeWrapperArgs+=("''${qtWrapperArgs[@]}") + ''; + }; +}