grafana-alloy: don't build the frontend twice
[NixPkgs.git] / nixos / modules / services / x11 / desktop-managers / retroarch.nix
blob3ee7b7795f6c9f206623e699d908ef0b55b46a3d
1 { config, lib, pkgs, ... }:
3 with lib;
5 let cfg = config.services.xserver.desktopManager.retroarch;
7 in {
8   options.services.xserver.desktopManager.retroarch = {
9     enable = mkEnableOption "RetroArch";
11     package = mkPackageOption pkgs "retroarch" {
12       example = "retroarch-full";
13     };
15     extraArgs = mkOption {
16       type = types.listOf types.str;
17       default = [ ];
18       example = [ "--verbose" "--host" ];
19       description = "Extra arguments to pass to RetroArch.";
20     };
21   };
23   config = mkIf cfg.enable {
24     services.xserver.desktopManager.session = [{
25       name = "RetroArch";
26       start = ''
27         ${cfg.package}/bin/retroarch -f ${escapeShellArgs cfg.extraArgs} &
28         waitPID=$!
29       '';
30     }];
32     environment.systemPackages = [ cfg.package ];
33   };
35   meta.maintainers = with maintainers; [ j0hax ];