hmMod/extends: add retroarch settings enable & cores
parent
6924bcefa2
commit
a49fa9acb2
@ -0,0 +1,43 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.programs.retroarch;
|
||||
in
|
||||
{
|
||||
options.programs.retroarch = {
|
||||
|
||||
enable = lib.mkEnableOption "RetroArch as user program";
|
||||
|
||||
package = lib.mkPackageOption pkgs "retroarch" {
|
||||
example = lib.literalExpression "pkgs.retroarchFull";
|
||||
};
|
||||
|
||||
cores = lib.mkOption {
|
||||
description = "List of cores to install.";
|
||||
type = lib.types.listOf lib.types.package;
|
||||
default = [ ];
|
||||
example = lib.literalExpression "with pkgs.libretro; [ twenty-fortyeight ]";
|
||||
};
|
||||
|
||||
finalPackage = lib.mkOption {
|
||||
description = "RetroArch package with the cores selected";
|
||||
type = lib.types.package;
|
||||
readOnly = true;
|
||||
default = if cfg.cores == [ ] then cfg.package else cfg.package.override { inherit (cfg) cores; };
|
||||
defaultText = ''
|
||||
with config.programs.retroarch;
|
||||
package.override { inherit cores; }
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
config = {
|
||||
|
||||
home.packages = lib.singleton cfg.finalPackage;
|
||||
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue