mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-30 22:57:55 +00:00
nixos/programs/retroarch: init
This commit is contained in:
parent
4617721161
commit
8c346a81fa
@ -4,6 +4,7 @@
|
||||
./programs/distrobox.nix
|
||||
./programs/gnome-session
|
||||
./programs/pop-launcher.nix
|
||||
./programs/retroarch.nix
|
||||
./programs/sessiond
|
||||
./programs/wezterm.nix
|
||||
./services/archivebox.nix
|
||||
|
51
modules/nixos/programs/retroarch.nix
Normal file
51
modules/nixos/programs/retroarch.nix
Normal file
@ -0,0 +1,51 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.programs.retroarch;
|
||||
|
||||
finalPkg = cfg.package.override {
|
||||
inherit (cfg) cores settings;
|
||||
};
|
||||
in
|
||||
{
|
||||
options.programs.retroarch = {
|
||||
enable = lib.mkEnableOption "configuring Retroarch";
|
||||
|
||||
package = lib.mkPackageOption pkgs "retroarch" { };
|
||||
|
||||
cores = lib.mkOption {
|
||||
type = with lib.types; listOf package;
|
||||
default = [ ];
|
||||
description = ''
|
||||
List of Retroarch cores to be included with the package.
|
||||
'';
|
||||
example = lib.literalExpression ''
|
||||
with pkgs.libretro; [
|
||||
ppsspp
|
||||
desmume
|
||||
pcsx2
|
||||
]
|
||||
'';
|
||||
};
|
||||
|
||||
settings = lib.mkOption {
|
||||
type = with lib.types; attrsOf anything;
|
||||
default = { };
|
||||
description = ''
|
||||
Additional settings to be configured with the Retroarch nixpkgs
|
||||
wrapper.
|
||||
'';
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
assets_directory = "''${pkgs.retroarch-assets}/share/retroarch-assets";
|
||||
joypad_autoconfig_dir = "''${pkgs.retroarch-joypad-autoconfig}/share/libretro/autoconfig";
|
||||
libretro_info_path = "''${pkgs.libretro-core-info}/share/retroarch/cores";
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ finalPkg ];
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user