Compare commits
5 Commits
ash/talk-d
...
renovate/l
| Author | SHA1 | Date | |
|---|---|---|---|
| 6bd5df6bf0 | |||
| 718d81a88a | |||
| 827da51214 | |||
| 068f912dc3 | |||
| 8f292893a3 |
@@ -51,6 +51,7 @@ jobs:
|
||||
custom-beads
|
||||
custom-gastown
|
||||
custom-perles
|
||||
custom-nextcloud-talk-desktop
|
||||
qt-pinned-jellyfin-media-player
|
||||
qt-pinned-stremio
|
||||
nix-deck-kernel
|
||||
|
||||
72
flake.lock
generated
72
flake.lock
generated
@@ -7,11 +7,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773070962,
|
||||
"narHash": "sha256-kHZXx+kygpVholOBsuQocCtksHo5ZWYskP64qK2Kjh0=",
|
||||
"lastModified": 1774147838,
|
||||
"narHash": "sha256-AqpdisbN6sFU2135/+B+FxJUUVknifzT7Gijc3dl2KQ=",
|
||||
"owner": "steveyegge",
|
||||
"repo": "beads",
|
||||
"rev": "9604d30b7c746f9f04f6dea5f82996f71bb66073",
|
||||
"rev": "1402021b8bf36595fabad628317d3d27b4c88aa0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -23,11 +23,11 @@
|
||||
"doomemacs": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1772615218,
|
||||
"narHash": "sha256-z+3c0AGkrMf1xZ+pq57aVp4Zo4KsqFMIjEVzSZinghc=",
|
||||
"lastModified": 1774080407,
|
||||
"narHash": "sha256-FYbalilgDFjIVwK+D6DjDos1IMmMGA20lRf8k6Ykm1Y=",
|
||||
"owner": "doomemacs",
|
||||
"repo": "doomemacs",
|
||||
"rev": "d23bbe87721c61f4d5a605f2914b32780bb89949",
|
||||
"rev": "d8d75443d39d95f3c5256504eb838e0acc62ef44",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -46,11 +46,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772706147,
|
||||
"narHash": "sha256-C0UMYQg3KBU6+L8TLfQ/s60O6/Tiu/JpN8C/WiIH9DU=",
|
||||
"lastModified": 1774256052,
|
||||
"narHash": "sha256-7OLaUBQCOCt4XXbjHq9xqBopOJJpbV6Cl8mWdMLzazc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay",
|
||||
"rev": "54af2ae96631311dc4d2686a07e4f472fb36f516",
|
||||
"rev": "c4b7915a9467aa611c7346d2322514cdf8c1ba45",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -88,11 +88,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773088127,
|
||||
"narHash": "sha256-gJFayiBYrF0Q99AOQH29uq0Mli8KRfwReYeAh5H5evY=",
|
||||
"lastModified": 1774219978,
|
||||
"narHash": "sha256-nP0hblGmLrkEopkd2OuNfmAii06AhiWsfnBtT3qEqxI=",
|
||||
"owner": "steveyegge",
|
||||
"repo": "gastown",
|
||||
"rev": "8da798be0663af74be7960844b90038e51769203",
|
||||
"rev": "fc4feb81b72b284e70060112e7b92c9f04f86dd7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -128,11 +128,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772633058,
|
||||
"narHash": "sha256-SO7JapRy2HPhgmqiLbfnW1kMx5rakPMKZ9z3wtRLQjI=",
|
||||
"lastModified": 1774274588,
|
||||
"narHash": "sha256-dnHvv5EMUgTzGZmA+3diYjQU2O6BEpGLEOgJ1Qe9LaY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "080657a04188aca25f8a6c70a0fb2ea7e37f1865",
|
||||
"rev": "cf9686ba26f5ef788226843bc31fda4cf72e373b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -149,11 +149,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772633327,
|
||||
"narHash": "sha256-jl+DJB2DUx7EbWLRng+6HNWW/1/VQOnf0NsQB4PlA7I=",
|
||||
"lastModified": 1774292006,
|
||||
"narHash": "sha256-RI5sjkDEwIiD2eZHd7iM6ZqPoPWZvn3KdBiMumA3IYI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "5a75730e6f21ee624cbf86f4915c6e7489c74acc",
|
||||
"rev": "3cea83bf84abeb72581bdee380fa526d7fcd7e5b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -171,11 +171,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772517207,
|
||||
"narHash": "sha256-qxHfxqbigqBTn//U4leIS5he22Wp1GS0+zmwGV7Pozs=",
|
||||
"lastModified": 1774168156,
|
||||
"narHash": "sha256-+pwZSARdlM2RQQ6V0q76+WMKW9aNIcxkSOIThcz/f0A=",
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"rev": "7ca1501c2d80900b5967baea4d42581f84b388dd",
|
||||
"rev": "939caad56508542d0f19cab963e2bc693f5f2831",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -213,11 +213,11 @@
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772716420,
|
||||
"narHash": "sha256-T3UEKNTGqBl44AQ0+0OIpiWMXeQ8+4QW/akSc4yeL2A=",
|
||||
"lastModified": 1774265710,
|
||||
"narHash": "sha256-ar8pFUSAxXhV7DpVRjNvgviWuqOqWPAImb4MM7lSh5Y=",
|
||||
"owner": "marienz",
|
||||
"repo": "nix-doom-emacs-unstraightened",
|
||||
"rev": "be3ecb81a85be302e27d46ff32a1e251e444327d",
|
||||
"rev": "f6022b9192e034a817373692ede18a9319cf9730",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -250,11 +250,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1772598333,
|
||||
"narHash": "sha256-YaHht/C35INEX3DeJQNWjNaTcPjYmBwwjFJ2jdtr+5U=",
|
||||
"lastModified": 1774244481,
|
||||
"narHash": "sha256-4XfMXU0DjN83o6HWZoKG9PegCvKvIhNUnRUI19vzTcQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "fabb8c9deee281e50b1065002c9828f2cf7b2239",
|
||||
"rev": "4590696c8693fea477850fe379a01544293ca4e2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -266,11 +266,11 @@
|
||||
},
|
||||
"nixpkgs-qt": {
|
||||
"locked": {
|
||||
"lastModified": 1772598333,
|
||||
"narHash": "sha256-YaHht/C35INEX3DeJQNWjNaTcPjYmBwwjFJ2jdtr+5U=",
|
||||
"lastModified": 1774244481,
|
||||
"narHash": "sha256-4XfMXU0DjN83o6HWZoKG9PegCvKvIhNUnRUI19vzTcQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "fabb8c9deee281e50b1065002c9828f2cf7b2239",
|
||||
"rev": "4590696c8693fea477850fe379a01544293ca4e2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -282,11 +282,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1772624091,
|
||||
"narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=",
|
||||
"lastModified": 1774106199,
|
||||
"narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "80bdc1e5ce51f56b19791b52b2901187931f5353",
|
||||
"rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -299,11 +299,11 @@
|
||||
"perles": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1772661365,
|
||||
"narHash": "sha256-kMlvIpfGMBkN5D1W0O1fcqUiH3dyobcH0GRRLCX7GGo=",
|
||||
"lastModified": 1773694696,
|
||||
"narHash": "sha256-8euoE/QViymgSEEzdMwF72Ui1/Bbikh3K0oC0cRo8tw=",
|
||||
"owner": "zjrosen",
|
||||
"repo": "perles",
|
||||
"rev": "326ff1938dfe073daab7939762ce2f44c2ee74a1",
|
||||
"rev": "0871cb7626d7d7b67ad90d6ca1e3bb1cf257f988",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -285,6 +285,7 @@
|
||||
"custom-mcrcon-rbw" = pkgs.custom.mcrcon-rbw;
|
||||
"custom-tea-rbw" = pkgs.custom.tea-rbw;
|
||||
"custom-rclone-torbox-setup" = pkgs.custom.rclone-torbox-setup;
|
||||
"custom-nextcloud-talk-desktop" = pkgs.custom.nextcloud-talk-desktop;
|
||||
"qt-pinned-jellyfin-media-player" = pkgsQt.jellyfin-media-player;
|
||||
"qt-pinned-stremio" = pkgsQt.stremio;
|
||||
# Flake input packages (beads, gastown) - these get version from input rev
|
||||
|
||||
@@ -20,7 +20,7 @@ in
|
||||
pkgs.element-desktop
|
||||
# Re-enabled in 25.11 after security issues were resolved
|
||||
pkgs.fluffychat
|
||||
pkgs.nextcloud-talk-desktop
|
||||
pkgs.custom.nextcloud-talk-desktop
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,4 +6,5 @@
|
||||
mcrcon-rbw = pkgs.callPackage ./mcrcon-rbw {};
|
||||
rclone-torbox-setup = pkgs.callPackage ./rclone-torbox-setup {};
|
||||
pi-coding-agent = pkgs.callPackage ./pi-coding-agent {};
|
||||
nextcloud-talk-desktop = pkgs.callPackage ./nextcloud-talk-desktop {};
|
||||
}
|
||||
|
||||
60
packages/nextcloud-talk-desktop/default.nix
Normal file
60
packages/nextcloud-talk-desktop/default.nix
Normal file
@@ -0,0 +1,60 @@
|
||||
# Patched Nextcloud Talk Desktop with Wayland screen sharing support
|
||||
# Applies the core change from upstream draft PR #1022:
|
||||
# https://github.com/nextcloud/talk-desktop/pull/1022
|
||||
#
|
||||
# Patches the webpack bundle in app.asar to add setDisplayMediaRequestHandler
|
||||
# with useSystemPicker: true, enabling native PipeWire/portal-based
|
||||
# screen sharing on Wayland (Sway, Hyprland, etc.)
|
||||
{ lib
|
||||
, nextcloud-talk-desktop
|
||||
, nodejs
|
||||
, asar
|
||||
}:
|
||||
|
||||
nextcloud-talk-desktop.overrideAttrs (old: {
|
||||
pname = "nextcloud-talk-desktop-patched";
|
||||
|
||||
nativeBuildInputs = (old.nativeBuildInputs or []) ++ [ asar nodejs ];
|
||||
|
||||
# Patch the asar after the main installPhase creates the output
|
||||
postFixup = (old.postFixup or "") + ''
|
||||
echo "Patching app.asar for Wayland screen sharing..."
|
||||
ASAR_PATH="$out/opt/Nextcloud Talk-linux-x64/resources/app.asar"
|
||||
|
||||
WORK=$(mktemp -d)
|
||||
asar extract "$ASAR_PATH" "$WORK/app"
|
||||
|
||||
# In the webpack bundle:
|
||||
# session = l, desktopCapturer = a, app = n
|
||||
# We inject setDisplayMediaRequestHandler right after n.whenReady().then((async()=>{
|
||||
# useSystemPicker: true makes Electron use the native system picker
|
||||
# (PipeWire/xdg-desktop-portal on Wayland)
|
||||
node -e "
|
||||
const fs = require('fs');
|
||||
const p = '$WORK/app/.webpack/main/index.js';
|
||||
let c = fs.readFileSync(p, 'utf8');
|
||||
|
||||
if (c.includes('setDisplayMediaRequestHandler')) {
|
||||
console.log('Already patched');
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
const marker = 'n.whenReady().then((async()=>{';
|
||||
const idx = c.indexOf(marker);
|
||||
if (idx === -1) {
|
||||
console.error('ERROR: Could not find whenReady marker in webpack bundle');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// Inject after the marker
|
||||
const injection = 'l.defaultSession.setDisplayMediaRequestHandler(async(e,t)=>{const s=await a.getSources({types:[\"screen\",\"window\"]});s.length>0?t({video:s[0]}):t({})},{useSystemPicker:!0});';
|
||||
|
||||
c = c.slice(0, idx + marker.length) + injection + c.slice(idx + marker.length);
|
||||
fs.writeFileSync(p, c, 'utf8');
|
||||
console.log('Successfully patched main bundle for Wayland screen sharing');
|
||||
"
|
||||
|
||||
asar pack "$WORK/app" "$ASAR_PATH"
|
||||
rm -rf "$WORK"
|
||||
'';
|
||||
})
|
||||
Reference in New Issue
Block a user