42 lines
1.0 KiB
Nix
42 lines
1.0 KiB
Nix
![]() |
{
|
||
|
lib,
|
||
|
stdenv,
|
||
|
writeShellScriptBin,
|
||
|
}: let
|
||
|
launcher = writeShellScriptBin "launch-webapp" ''
|
||
|
#!/usr/bin/env bash
|
||
|
|
||
|
browser=$(xdg-settings get default-web-browser)
|
||
|
|
||
|
case "$browser" in
|
||
|
google-chrome*) browser_bin="google-chrome" ;;
|
||
|
brave-browser*) browser_bin="brave-browser" ;;
|
||
|
microsoft-edge*) browser_bin="microsoft-edge" ;;
|
||
|
opera*) browser_bin="opera" ;;
|
||
|
vivaldi*) browser_bin="vivaldi" ;;
|
||
|
*) browser_bin="chromium" ;;
|
||
|
esac
|
||
|
|
||
|
exec_cmd="/etc/profiles/per-user/$USER/bin/$browser_bin"
|
||
|
exec setsid uwsm app -- "$exec_cmd" --app="$1" ''${@:2}
|
||
|
'';
|
||
|
in
|
||
|
stdenv.mkDerivation {
|
||
|
pname = "launch-webapp";
|
||
|
version = "0.1.0";
|
||
|
|
||
|
dontUnpack = true;
|
||
|
|
||
|
installPhase = ''
|
||
|
mkdir -p $out/bin
|
||
|
ln -s ${launcher}/bin/launch-webapp $out/bin/launch-webapp
|
||
|
'';
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "Launches a web app using your default browser in app mode.";
|
||
|
license = licenses.mit;
|
||
|
platforms = platforms.linux;
|
||
|
maintainers = [];
|
||
|
};
|
||
|
}
|