50 lines
1.1 KiB
Nix
50 lines
1.1 KiB
Nix
{
|
|
# lib,
|
|
# pkgs,
|
|
inputs,
|
|
system,
|
|
addPkgs ? [],
|
|
bwrapperOpts ? {},
|
|
isCli ? false,
|
|
packageOverrides ? {},
|
|
unfreePkgs ? ["obsidian"],
|
|
...
|
|
}: let
|
|
pkgs = import inputs.nixpkgs {
|
|
config.allowUnfreePredicate = pkg:
|
|
builtins.elem (pkgs.lib.getName pkg) unfreePkgs;
|
|
|
|
inherit system;
|
|
overlays = [inputs.nix-bwrapper.overlays.bwrapper];
|
|
};
|
|
in
|
|
pkgs.mkBwrapper (pkgs.lib.attrsets.recursiveUpdate rec {
|
|
app = {
|
|
inherit addPkgs;
|
|
package = pkgs.obsidian.override packageOverrides;
|
|
id = "md.obsidian.Obsidian" + "_bwrapped";
|
|
};
|
|
# app.overwriteExec = !isCli;
|
|
# isFhsenv = true;
|
|
app.env = {
|
|
XDG_DATA_DIRS = "$XDG_DATA_DIRS";
|
|
};
|
|
fhsenv.opts.dieWithParent = false;
|
|
|
|
fhsenv.skipExtraInstallCmds = isCli;
|
|
sockets = {
|
|
x11 = !isCli;
|
|
wayland = !isCli;
|
|
pulseaudio = !isCli;
|
|
pipewire = !isCli;
|
|
};
|
|
mounts.readWrite = [
|
|
"$XDG_RUNTIME_DIR/app/${app.id}"
|
|
];
|
|
mounts.read = [
|
|
# "$HOME/.local/share/applications"
|
|
# "$HOME/.config/mimeapps.list"
|
|
];
|
|
}
|
|
bwrapperOpts)
|