fork
Configure Feed
Select the types of activity you want to include in your feed.
nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
fork
Configure Feed
Select the types of activity you want to include in your feed.
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5
6 cmake,
7 pkg-config,
8
9 bluez,
10 libnotify,
11 opencv,
12 qt6,
13
14 # Running with TTS support causes the program to freeze for a few seconds every time at startup,
15 # so it is disabled by default
16 textToSpeechSupport ? false,
17}:
18
19stdenv.mkDerivation (finalAttrs: {
20 pname = "actiona";
21 version = "3.11.1";
22
23 src = fetchFromGitHub {
24 owner = "Jmgr";
25 repo = "actiona";
26 tag = "v${finalAttrs.version}";
27 hash = "sha256-sJlzrrpmo2CbzChCtiyxqDtjoN58BN4Ptjm4sH83zAw=";
28 fetchSubmodules = true;
29 };
30
31 patches = [
32 # Meet Qt 6.10 requirement for explicit find_package of private targets
33 ./fix-qt6-10-private-targets.diff
34 ]
35 ++ lib.optionals (!textToSpeechSupport) [
36 # Removes TTS support
37 ./disable-tts.patch
38 ];
39
40 strictDeps = true;
41
42 nativeBuildInputs = [
43 cmake
44 pkg-config
45 qt6.wrapQtAppsHook
46 ];
47
48 buildInputs = [
49 bluez
50 libnotify
51 # NOTE: Specifically not using lib.getOutput here because it would select the out output of opencv, which changes
52 # semantics since make-derivation uses lib.getDev on the dependency arrays, which won't touch derivations with
53 # specified outputs.
54 (opencv.cxxdev or opencv)
55 qt6.qtbase
56 qt6.qtmultimedia
57 qt6.qttools
58 qt6.qt5compat
59 ]
60 ++ lib.optionals textToSpeechSupport [ qt6.qtspeech ];
61
62 meta = {
63 description = "Cross-platform automation tool";
64 homepage = "https://github.com/Jmgr/actiona";
65 license = lib.licenses.gpl3Only;
66 mainProgram = "actiona";
67 maintainers = with lib.maintainers; [ tomasajt ];
68 platforms = lib.platforms.linux;
69 };
70})