init
This commit is contained in:
commit
2be8de47fa
87 changed files with 11501 additions and 0 deletions
95
modules/system/azahar-sandboxed.nix
Normal file
95
modules/system/azahar-sandboxed.nix
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
bwrapperPkgs = pkgs.extend inputs.nix-bwrapper.overlays.default;
|
||||
|
||||
pname = "azahar";
|
||||
version = "2123.4";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://github.com/azahar-emu/azahar/releases/download/2123.4/azahar.AppImage";
|
||||
sha256 = "0x9k5kamn7lr5frffzv5vdgxv65cwwb01pbf6dyb8p2dw63cq87a";
|
||||
};
|
||||
|
||||
appimageContents = pkgs.appimageTools.extractType2 {
|
||||
inherit pname version src;
|
||||
};
|
||||
|
||||
azahar = pkgs.appimageTools.wrapType2 {
|
||||
inherit pname version src;
|
||||
|
||||
extraInstallCommands = ''
|
||||
install -m 444 -D ${appimageContents}/usr/share/applications/azahar.desktop $out/share/applications/azahar.desktop
|
||||
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/scalable/apps/org.azahar_emu.Azahar.svg \
|
||||
$out/share/icons/hicolor/scalable/apps/azahar.svg
|
||||
|
||||
substituteInPlace $out/share/applications/azahar.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=azahar'
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
azahar-sandboxed = bwrapperPkgs.mkBwrapper {
|
||||
app = {
|
||||
package = azahar;
|
||||
id = "org.azahar_emu.azahar";
|
||||
env = {
|
||||
QT_QPA_PLATFORM = "wayland;xcb";
|
||||
XDG_CURRENT_DESKTOP = "KDE";
|
||||
};
|
||||
};
|
||||
|
||||
flatpak.enable = false;
|
||||
fhsenv.bwrap.additionalArgs = [
|
||||
"--dir /run/systemd/resolve"
|
||||
"--ro-bind-try /run/systemd/resolve /run/systemd/resolve"
|
||||
''--bind "$XDG_RUNTIME_DIR/app/org.azahar_emu.azahar/bus" "$XDG_RUNTIME_DIR/bus"''
|
||||
''--bind "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY"''
|
||||
''--bind "$XDG_RUNTIME_DIR/pipewire-0" "$XDG_RUNTIME_DIR/pipewire-0"''
|
||||
''--bind "$XDG_RUNTIME_DIR/pulse" "$XDG_RUNTIME_DIR/pulse"''
|
||||
];
|
||||
|
||||
mounts = {
|
||||
read = [
|
||||
"$HOME/.config/kdedefaults"
|
||||
"$HOME/.local/share/color-schemes"
|
||||
"$HOME/.config/fontconfig"
|
||||
"$HOME/.icons"
|
||||
"$HOME/.config/MangoHud"
|
||||
];
|
||||
readWrite = [
|
||||
"$HOME/Games/3DS"
|
||||
"$HOME/.config/azahar"
|
||||
"$HOME/.local/share/azahar"
|
||||
];
|
||||
};
|
||||
|
||||
dbus.enable = false;
|
||||
script.preCmds.stage2 = (import ./sandbox-utils.nix { inherit pkgs lib; }).mkDbusProxyScript {
|
||||
appId = "org.azahar_emu.azahar";
|
||||
enableSystemBus = false;
|
||||
proxyArgs = [
|
||||
"--filter"
|
||||
''--talk="org.freedesktop.Flatpak"''
|
||||
''--talk="org.kde.StatusNotifierWatcher"''
|
||||
''--talk="org.kde.KWin"''
|
||||
''--talk="org.gnome.Mutter.DisplayConfig"''
|
||||
''--talk="org.freedesktop.ScreenSaver"''
|
||||
''--talk="org.freedesktop.portal.Desktop"''
|
||||
''--talk="org.freedesktop.portal.OpenURI"''
|
||||
''--talk="org.freedesktop.secrets"''
|
||||
''--call="org.freedesktop.portal.*=*@/org/freedesktop/portal/desktop"''
|
||||
];
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue