-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflake.nix
More file actions
67 lines (59 loc) · 2.5 KB
/
flake.nix
File metadata and controls
67 lines (59 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{
description = "PairUX - Collaborative screen sharing with remote control";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachSystem [ "x86_64-linux" ] (system:
let
pkgs = nixpkgs.legacyPackages.${system};
pname = "pairux";
version = "0.6.7";
src = pkgs.fetchurl {
url = "https://github.com/profullstack/pairux.com/releases/download/v${version}/PairUX-${version}-x86_64.AppImage";
sha256 = "44cd2d7c5d6b5374ef2fd3b40bcca5756f72731cabbfafed9663b845ad6cb152";
};
appimageContents = pkgs.appimageTools.extractType2 { inherit pname version src; };
in
{
packages = {
default = pkgs.appimageTools.wrapType2 {
inherit pname version src;
extraPkgs = pkgs: with pkgs; [
xdg-utils
xdg-desktop-portal
ydotool
];
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/pairux.desktop $out/share/applications/pairux.desktop
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/pairux.png \
$out/share/icons/hicolor/512x512/apps/pairux.png 2>/dev/null || true
substituteInPlace $out/share/applications/pairux.desktop \
--replace 'Exec=AppRun' 'Exec=pairux' 2>/dev/null || true
'';
meta = with pkgs.lib; {
description = "Collaborative screen sharing with remote control";
longDescription = ''
PairUX is a collaborative screen sharing application with simultaneous
remote mouse and keyboard control. Like Screenhero, but open source.
Perfect for pair programming, remote support, and collaboration.
'';
homepage = "https://pairux.com";
changelog = "https://github.com/profullstack/pairux.com/releases/tag/v${version}";
license = licenses.mit;
maintainers = [ ];
platforms = [ "x86_64-linux" ];
mainProgram = "pairux";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
};
};
pairux = self.packages.${system}.default;
};
apps.default = {
type = "app";
program = "${self.packages.${system}.default}/bin/pairux";
};
}
);
}