about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix16
-rw-r--r--pkgs/applications/graphics/yacreader/default.nix8
-rw-r--r--pkgs/applications/misc/electrum-grs/default.nix11
-rw-r--r--pkgs/applications/misc/passky-desktop/default.nix59
-rw-r--r--pkgs/applications/misc/phockup/default.nix35
-rw-r--r--pkgs/applications/networking/cluster/arkade/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/cmctl/default.nix7
-rwxr-xr-xpkgs/applications/networking/cluster/cmctl/update.sh41
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch-bower/default.nix4
-rw-r--r--pkgs/applications/office/beancount/beancount-ing-diba.nix31
-rw-r--r--pkgs/applications/science/math/polymake/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/patches/sphinx-fix-matplotlib-css-perms.patch21
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/default.nix38
14 files changed, 251 insertions, 32 deletions
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 6ddf060d5405..5643cad16cbe 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -48,6 +48,22 @@ let
         };
       };
 
+      _2gua.rainbow-brackets = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          publisher = "2gua";
+          name = "rainbow-brackets";
+          version = "0.0.6";
+          sha256 = "TVBvF/5KQVvWX1uHwZDlmvwGjOO5/lXbgVzB26U8rNQ=";
+        };
+        meta = with lib; {
+          description = "A Visual Studio Code extension providing rainbow brackets";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=2gua.rainbow-brackets";
+          homepage = "https://github.com/lcultx/rainbow-brackets";
+          license = licenses.mit;
+          maintainers = with maintainers; [ CompEng0001 ];
+        };
+      };
+
       _4ops.terraform = buildVscodeMarketplaceExtension {
         mktplcRef = {
           publisher = "4ops";
diff --git a/pkgs/applications/graphics/yacreader/default.nix b/pkgs/applications/graphics/yacreader/default.nix
index 0a25889c2dcd..990e279c5901 100644
--- a/pkgs/applications/graphics/yacreader/default.nix
+++ b/pkgs/applications/graphics/yacreader/default.nix
@@ -1,22 +1,22 @@
 { mkDerivation, lib, fetchFromGitHub, qmake, poppler, pkg-config, libunarr
-, libGLU, qtdeclarative, qtgraphicaleffects, qtmultimedia, qtquickcontrols
+, libGLU, qtdeclarative, qtgraphicaleffects, qtmultimedia, qtquickcontrols2
 , qtscript
 }:
 
 mkDerivation rec {
   pname = "yacreader";
-  version = "9.8.2";
+  version = "9.9.1";
 
   src = fetchFromGitHub {
     owner = "YACReader";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Xvf0xXtMs3x1fPgAvS4GJXrZgDZWhzIgrOF4yECr7/g=";
+    sha256 = "sha256-D+ZmFMg9ZixZNUAMjPHwz7gcwKjG49lm5hTEqftbIrY=";
   };
 
   nativeBuildInputs = [ qmake pkg-config ];
   buildInputs = [ poppler libunarr libGLU qtmultimedia qtscript ];
-  propagatedBuildInputs = [ qtquickcontrols qtgraphicaleffects qtdeclarative ];
+  propagatedBuildInputs = [ qtquickcontrols2 qtgraphicaleffects qtdeclarative ];
 
   meta = {
     description = "A comic reader for cross-platform reading and managing your digital comic collection";
diff --git a/pkgs/applications/misc/electrum-grs/default.nix b/pkgs/applications/misc/electrum-grs/default.nix
index d35941ccfb1b..e07e337477ae 100644
--- a/pkgs/applications/misc/electrum-grs/default.nix
+++ b/pkgs/applications/misc/electrum-grs/default.nix
@@ -9,7 +9,7 @@
 }:
 
 let
-  version = "4.2.0";
+  version = "4.3.1";
 
   libsecp256k1_name =
     if stdenv.isLinux then "libsecp256k1.so.0"
@@ -18,6 +18,7 @@ let
 
   libzbar_name =
     if stdenv.isLinux then "libzbar.so.0"
+    else if stdenv.isDarwin then "libzbar.0.dylib"
     else "libzbar${stdenv.hostPlatform.extensions.sharedLibrary}";
 
 in
@@ -30,7 +31,7 @@ python3.pkgs.buildPythonApplication {
     owner = "Groestlcoin";
     repo = "electrum-grs";
     rev = "refs/tags/v${version}";
-    sha256 = "15n6snrs1kgdqkhp4wgs0bxxdz6mzl8dvf8h7s0jzc6r4b74vv3n";
+    sha256 = "1h9r32wdn0p7br36r719x96c8gay83dijw80y2ks951mam16mkkb";
   };
 
   nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
@@ -63,7 +64,6 @@ python3.pkgs.buildPythonApplication {
   ];
 
   preBuild = ''
-    sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py
     substituteInPlace ./electrum_grs/ecc_fast.py \
       --replace ${libsecp256k1_name} ${secp256k1}/lib/libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}
   '' + (if enableQt then ''
@@ -74,16 +74,11 @@ python3.pkgs.buildPythonApplication {
   '');
 
   postInstall = lib.optionalString stdenv.isLinux ''
-    # Despite setting usr_share above, these files are installed under $out/nix ...
-    mv $out/${python3.sitePackages}/nix/store/*/share $out
-    rm -rf $out/${python3.sitePackages}/nix
-
     substituteInPlace $out/share/applications/electrum-grs.desktop \
       --replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum-grs %u"' \
                 "Exec=$out/bin/electrum-grs %u" \
       --replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum-grs --testnet %u"' \
                 "Exec=$out/bin/electrum-grs --testnet %u"
-
   '';
 
   postFixup = lib.optionalString enableQt ''
diff --git a/pkgs/applications/misc/passky-desktop/default.nix b/pkgs/applications/misc/passky-desktop/default.nix
new file mode 100644
index 000000000000..f247329158ac
--- /dev/null
+++ b/pkgs/applications/misc/passky-desktop/default.nix
@@ -0,0 +1,59 @@
+{ lib, stdenv, fetchurl, appimageTools, undmg }:
+
+let
+  pname = "passky-desktop";
+  version = "5.0.0";
+
+  srcs = {
+    x86_64-linux = fetchurl {
+      url = "https://github.com/Rabbit-Company/Passky-Desktop/releases/download/v${version}/Passky-${version}.AppImage";
+      sha256 = "19sy9y2bcxrf10ifszinh4yn32q3032h3d1qxm046zffzl069807";
+    };
+    x86_64-darwin = fetchurl {
+      url = "https://github.com/Rabbit-Company/Passky-Desktop/releases/download/v${version}/Passky-${version}.dmg";
+      sha256 = "sha256-lclJOaYe+2XeKhJb2WcOAzjBMzK3YEmlS4rXuRUJYU0=";
+    };
+  };
+  src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+  appimageContents = appimageTools.extract { inherit pname version src; };
+  meta = with lib; {
+    homepage = "https://passky.org";
+    downloadPage = "https://github.com/Rabbit-Company/Passky-Desktop/releases";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ akkesm ];
+    platforms = builtins.attrNames srcs;
+  };
+
+  linux = appimageTools.wrapType2 {
+    inherit pname version src meta;
+
+    extraInstallCommands = ''
+      mv $out/bin/${pname}-${version} $out/bin/${pname}
+
+      install -D ${appimageContents}/passky.desktop \
+        $out/share/applications/${pname}.desktop
+
+      substituteInPlace $out/share/applications/${pname}.desktop \
+        --replace 'Exec=AppRun' 'Exec=${pname}'
+
+      cp -r ${appimageContents}/usr/share/icons $out/share
+    '';
+  };
+
+  darwin = stdenv.mkDerivation {
+    inherit pname version src meta;
+
+    nativeBuildInputs = [ undmg ];
+
+    sourceRoot = ".";
+
+    installPhase = ''
+      mkdir -p $out/Applications
+      cp -r *.app $out/Applications
+    '';
+  };
+in
+if stdenv.isDarwin
+  then darwin
+  else linux
diff --git a/pkgs/applications/misc/phockup/default.nix b/pkgs/applications/misc/phockup/default.nix
new file mode 100644
index 000000000000..f93c2b78c4a1
--- /dev/null
+++ b/pkgs/applications/misc/phockup/default.nix
@@ -0,0 +1,35 @@
+{ lib, stdenv, python3, fetchFromGitHub, exiftool, makeWrapper }:
+let
+  pythonEnv = python3.withPackages (p: with p; [ tqdm ]);
+in
+stdenv.mkDerivation rec {
+  pname = "phockup";
+  version = "1.7.1";
+
+  src = fetchFromGitHub {
+    owner = "ivandokov";
+    repo = "phockup";
+    rev = version;
+    sha256 = "sha256-Ho9aZjBvSwFMur2NubhP4olPN31SNTEdQGCUV7nX0uE=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+
+    # based roughly on https://github.com/ivandokov/phockup#linux-without-snap
+    mkdir -p $out/bin $out/opt
+    mv * $out/opt
+    makeWrapper ${pythonEnv.interpreter} $out/bin/phockup --add-flags "$out/opt/phockup.py" --suffix PATH : ${lib.makeBinPath [ exiftool ]}
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Media sorting tool to organize photos and videos from your camera in folders by year, month and day";
+    homepage = "https://github.com/ivandokov/phockup";
+    license = licenses.mit;
+    maintainers = with maintainers; [ aanderse ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/arkade/default.nix b/pkgs/applications/networking/cluster/arkade/default.nix
index 4b8bbc31caf9..1c1d9b024e62 100644
--- a/pkgs/applications/networking/cluster/arkade/default.nix
+++ b/pkgs/applications/networking/cluster/arkade/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "arkade";
-  version = "0.8.41";
+  version = "0.8.42";
 
   src = fetchFromGitHub {
     owner = "alexellis";
     repo = "arkade";
     rev = version;
-    sha256 = "sha256-PcP/D/uq+zl8Utbv7TkFGoZGpIGOddzSqaqrpSp6Rgw=";
+    sha256 = "sha256-bq4tCizdi8TPRWpNaDmD817rOpnSr9aR4tkDWn48K2w=";
   };
 
   CGO_ENABLED = 0;
diff --git a/pkgs/applications/networking/cluster/cmctl/default.nix b/pkgs/applications/networking/cluster/cmctl/default.nix
index 3cef6be03c46..4a990caf3b50 100644
--- a/pkgs/applications/networking/cluster/cmctl/default.nix
+++ b/pkgs/applications/networking/cluster/cmctl/default.nix
@@ -7,8 +7,8 @@ buildGoModule rec {
   src = fetchFromGitHub {
     owner = "cert-manager";
     repo = "cert-manager";
-    rev = "v${version}";
-    hash = "sha256-Z1aJ18X4mfJPlCPBC7QgfdX5Tk4+PK8mYoJZhGwz9ec=";
+    rev = "4486c01f726f17d2790a8a563ae6bc6e98465505";
+    sha256 = "1rzm6dn88nc2c8kayg1y9r7gkmbx42s0ph93ji7z56gqqpbqjmk7";
   };
 
   vendorSha256 = "sha256-45+tZZAEHaLdTN1NQCueJVTx5x2IanwDl+Y9MELqdBE=";
@@ -19,6 +19,8 @@ buildGoModule rec {
     "-s" "-w"
     "-X github.com/cert-manager/cert-manager/cmd/ctl/pkg/build.name=cmctl"
     "-X github.com/cert-manager/cert-manager/cmd/ctl/pkg/build/commands.registerCompletion=true"
+    "-X github.com/cert-manager/cert-manager/pkg/util.AppVersion=v${version}"
+    "-X github.com/cert-manager/cert-manager/pkg/util.AppGitCommit=${src.rev}"
   ];
 
   nativeBuildInputs = [ installShellFiles ];
@@ -49,4 +51,3 @@ buildGoModule rec {
     maintainers = with maintainers; [ joshvanl superherointj ];
   };
 }
-
diff --git a/pkgs/applications/networking/cluster/cmctl/update.sh b/pkgs/applications/networking/cluster/cmctl/update.sh
new file mode 100755
index 000000000000..70b088a6880a
--- /dev/null
+++ b/pkgs/applications/networking/cluster/cmctl/update.sh
@@ -0,0 +1,41 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl gnugrep gnused jq
+
+set -x -eu -o pipefail
+
+NIXPKGS_PATH="$(git rev-parse --show-toplevel)"
+CMCTL_PATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
+
+OLD_VERSION="$(nix-instantiate --eval -E "with import $NIXPKGS_PATH {}; cmctl.version or (builtins.parseDrvName cmctl.name).version" | tr -d '"')"
+LATEST_TAG="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/cert-manager/cert-manager/releases" | jq '.[].tag_name' --raw-output | sed '/-/d' | sort --version-sort -r | head -n 1)"
+LATEST_VERSION="${LATEST_TAG:1}"
+
+if [ ! "$OLD_VERSION" = "$LATEST_VERSION" ]; then
+    SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/cert-manager/cert-manager/archive/refs/tags/${LATEST_TAG}.tar.gz)
+    TAG_SHA=$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""}  "https://api.github.com/repos/cert-manager/cert-manager/git/ref/tags/${LATEST_TAG}" | jq -r '.object.sha')
+    TAG_COMMIT_SHA=$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/cert-manager/cert-manager/git/tags/${TAG_SHA}" | jq '.object.sha' --raw-output)
+
+    setKV () {
+        sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" "${CMCTL_PATH}/default.nix"
+    }
+
+    setKV version ${LATEST_VERSION}
+    setKV sha256 "${SHA256}"
+    setKV rev ${TAG_COMMIT_SHA}
+    setKV vendorSha256 "0000000000000000000000000000000000000000000000000000" # The same as lib.fakeSha256
+
+    set +e
+    VENDOR_SHA256=$(nix-build --no-out-link -A cmctl $NIXPKGS_PATH 2>&1 >/dev/null | grep "got:" | cut -d':' -f2 | sed 's| ||g')
+    set -e
+
+    if [ -n "${VENDOR_SHA256:-}" ]; then
+        setKV vendorSha256 ${VENDOR_SHA256}
+    else
+        echo "Update failed. VENDOR_SHA256 is empty."
+        exit 1
+    fi
+
+    echo "updated cmctl to $LATEST_VERSION, please commit changes."
+else
+    echo "cmctl is already up-to-date at $OLD_VERSION"
+fi
diff --git a/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix b/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix
index 46115f4a56d7..235991396f57 100644
--- a/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "notmuch-bower";
-  version = "0.13";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "wangp";
     repo = "bower";
     rev = version;
-    sha256 = "0r5s16pc3ym5nd33lv9ljv1p1gpb7yysrdni4g7w7yvjrnwk35l6";
+    sha256 = "sha256-BNuJEVuzreI2AK/fqVMRHq8ZhPQjO33Y2FzkrWlfmm0=";
   };
 
   nativeBuildInputs = [ mercury pandoc ];
diff --git a/pkgs/applications/office/beancount/beancount-ing-diba.nix b/pkgs/applications/office/beancount/beancount-ing-diba.nix
new file mode 100644
index 000000000000..67c76f738119
--- /dev/null
+++ b/pkgs/applications/office/beancount/beancount-ing-diba.nix
@@ -0,0 +1,31 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, buildPythonApplication
+, poetry
+}:
+
+buildPythonApplication rec {
+  pname = "beancount-ing-diba";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "siddhantgoel";
+    repo = "beancount-ing-diba";
+    rev = "v${version}";
+    sha256 = "sha256-1cdXqdeTz38n0g13EXJ1/IF/gJJCe1uL/Z5NJz4DL+E=";
+  };
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    poetry
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/siddhantgoel/beancount-ing-diba";
+    description = "Beancount Importers for ING-DiBa (Germany) CSV Exports";
+    license = licenses.mit;
+    maintainers = with maintainers; [ matthiasbeyer ];
+  };
+}
diff --git a/pkgs/applications/science/math/polymake/default.nix b/pkgs/applications/science/math/polymake/default.nix
index d132a98dcb9a..073275e410b7 100644
--- a/pkgs/applications/science/math/polymake/default.nix
+++ b/pkgs/applications/science/math/polymake/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "polymake";
-  version = "4.6";
+  version = "4.7";
 
   src = fetchurl {
     # "The minimal version is a packager friendly version which omits
     # the bundled sources of cdd, lrs, libnormaliz, nauty and jReality."
     url = "https://polymake.org/lib/exe/fetch.php/download/polymake-${version}-minimal.tar.bz2";
-    sha256 = "sha256-QjpE3e8R6uqEV6sV3V2G3beovMbJuxF3b54pWNfc+dA=";
+    sha256 = "sha256-1qv+3gIsbM1xHh02S3ybkcvVkKS3OZDNNWfJt2nybmE=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/science/math/sage/patches/sphinx-fix-matplotlib-css-perms.patch b/pkgs/applications/science/math/sage/patches/sphinx-fix-matplotlib-css-perms.patch
new file mode 100644
index 000000000000..764ecffa2377
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/sphinx-fix-matplotlib-css-perms.patch
@@ -0,0 +1,21 @@
+diff --git a/src/sage_docbuild/ext/multidocs.py b/src/sage_docbuild/ext/multidocs.py
+index f91c7753ca..edeb81ff2e 100644
+--- a/src/sage_docbuild/ext/multidocs.py
++++ b/src/sage_docbuild/ext/multidocs.py
+@@ -284,6 +284,16 @@ def init_subdoc(app):
+         if not app.config.multidoc_first_pass:
+             app.connect('env-updated', fetch_citation)
+ 
++            def fix_matplotlib_css_permissions(app: Sphinx, env):
++                css_file = os.path.join(app.builder.outdir, '_static', 'plot_directive.css')
++                try:
++                    os.chmod(css_file, 0o644)
++                except:
++                    pass
++
++            # executed after matplotlib's _copy_css_file
++            app.connect('build-finished', fix_matplotlib_css_permissions, priority=600)
++
+         # Monkey patch copy_static_files to make a symlink to "../"
+         def link_static_files():
+             """
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index 514cbb66ea7d..8da3c0358f45 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -81,6 +81,10 @@ stdenv.mkDerivation rec {
     # Parallelize docubuild using subprocesses, fixing an isolation issue. See
     # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE
     ./patches/sphinx-docbuild-subprocesses.patch
+
+    # Docbuilding copies files from the Nix store and expects them to be writable.
+    # Remove when https://github.com/matplotlib/matplotlib/pull/23805 lands.
+    ./patches/sphinx-fix-matplotlib-css-perms.patch
   ];
 
   # Since sage unfortunately does not release bugfix releases, packagers must
diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix
index 34246f13b0c5..b9be0a2b6eb1 100644
--- a/pkgs/applications/video/obs-studio/plugins/default.nix
+++ b/pkgs/applications/video/obs-studio/plugins/default.nix
@@ -1,18 +1,34 @@
 { callPackage, libsForQt5, pkgsi686Linux }:
 
+# When adding new plugins:
+# - Respect alphabetical order. On diversion, file a PR.
+# - Plugin name should reflect upstream's name. Including or excluding "obs" prefix/suffix.
+# - Add plugin to it's own directory (because of future patches).
+
 {
-  obs-gstreamer = callPackage ./obs-gstreamer.nix {};
-  obs-move-transition = callPackage ./obs-move-transition.nix {};
-  obs-multi-rtmp = libsForQt5.callPackage ./obs-multi-rtmp.nix {};
-  obs-ndi = libsForQt5.callPackage ./obs-ndi.nix {};
-  obs-websocket = libsForQt5.callPackage ./obs-websocket.nix {};
-  wlrobs = callPackage ./wlrobs.nix {};
-  looking-glass-obs = callPackage ./looking-glass-obs.nix {};
-  obs-nvfbc = callPackage ./obs-nvfbc.nix {};
-  obs-pipewire-audio-capture = callPackage ./obs-pipewire-audio-capture.nix {};
+  looking-glass-obs = callPackage ./looking-glass-obs.nix { };
+
+  obs-backgroundremoval = callPackage ./obs-backgroundremoval.nix { };
+
+  obs-gstreamer = callPackage ./obs-gstreamer.nix { };
+
+  obs-hyperion = callPackage ./obs-hyperion/default.nix { };
+
+  obs-move-transition = callPackage ./obs-move-transition.nix { };
+
+  obs-multi-rtmp = libsForQt5.callPackage ./obs-multi-rtmp.nix { };
+
+  obs-ndi = libsForQt5.callPackage ./obs-ndi.nix { };
+
+  obs-nvfbc = callPackage ./obs-nvfbc.nix { };
+
+  obs-pipewire-audio-capture = callPackage ./obs-pipewire-audio-capture.nix { };
+
   obs-vkcapture = callPackage ./obs-vkcapture.nix {
     obs-vkcapture32 = pkgsi686Linux.obs-studio-plugins.obs-vkcapture;
   };
-  obs-backgroundremoval = callPackage ./obs-backgroundremoval.nix {};
-  obs-hyperion = callPackage ./obs-hyperion/default.nix {};
+
+  obs-websocket = libsForQt5.callPackage ./obs-websocket.nix { };
+
+  wlrobs = callPackage ./wlrobs.nix { };
 }