python312Packages.shiv: 1.0.7 -> 1.0.8 (#364744)
[NixPkgs.git] / nixos / modules / services / x11 / desktop-managers / retroarch.nix
blob445de823e03f9bcdb5ff9e7e4d3b4ce803c2c3fe
2   config,
3   lib,
4   pkgs,
5   ...
6 }:
8 with lib;
10 let
11   cfg = config.services.xserver.desktopManager.retroarch;
15   options.services.xserver.desktopManager.retroarch = {
16     enable = mkEnableOption "RetroArch";
18     package = mkPackageOption pkgs "retroarch" {
19       example = "retroarch-full";
20     };
22     extraArgs = mkOption {
23       type = types.listOf types.str;
24       default = [ ];
25       example = [
26         "--verbose"
27         "--host"
28       ];
29       description = "Extra arguments to pass to RetroArch.";
30     };
31   };
33   config = mkIf cfg.enable {
34     services.xserver.desktopManager.session = [
35       {
36         name = "RetroArch";
37         start = ''
38           ${cfg.package}/bin/retroarch -f ${escapeShellArgs cfg.extraArgs} &
39           waitPID=$!
40         '';
41       }
42     ];
44     environment.systemPackages = [ cfg.package ];
45   };
47   meta.maintainers = with maintainers; [ j0hax ];