modules/desktop: add nixpak-tricks
This commit is contained in:
parent
31b42cfd44
commit
a28f6eb487
2 changed files with 33 additions and 0 deletions
|
@ -6,6 +6,7 @@
|
|||
in {
|
||||
imports = [
|
||||
./package-sets.nix
|
||||
./nixpak-tricks.nix
|
||||
];
|
||||
|
||||
services.xserver = {
|
||||
|
|
32
modules/desktop/nixpak-tricks.nix
Normal file
32
modules/desktop/nixpak-tricks.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
# tricks xdg-document-portal into not using the document portal for pointless things
|
||||
# note that we report read-write even if the access is supposed to be read-only,
|
||||
# because ticking the checkbox in the dialog every time is annoying, ro status
|
||||
# is enforced by the sandbox anyway
|
||||
# example call: flatpak info --file-access=/srv/file.txt com.nixpak.Whatever
|
||||
documentPortalFileAccessTrick = pkgs.writeShellScriptBin "flatpak" ''
|
||||
[[ "$1" == "info" ]] || exit 1
|
||||
case "$3" in
|
||||
org.chromium.Chromium)
|
||||
case "''${2#--file-access=}" in
|
||||
$HOME/Downloads*) echo read-write;;
|
||||
*) echo hidden;;
|
||||
esac;;
|
||||
io.bassi.Amberol)
|
||||
case "''${2#--file-access=}" in
|
||||
$HOME/Music*) echo read-write;;
|
||||
/srv/data/music*) echo read-write;;
|
||||
*) echo hidden;;
|
||||
esac;;
|
||||
*)
|
||||
echo hidden;;
|
||||
esac
|
||||
'';
|
||||
in
|
||||
{
|
||||
environment.systemPackages = [
|
||||
documentPortalFileAccessTrick
|
||||
];
|
||||
}
|
Loading…
Reference in a new issue