Files
nixpkgs/pkgs/applications/emulators/libretro/README.md
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

41 lines
870 B
Markdown

# Libretro
[libretro cores](https://docs.libretro.com/guides/core-list/) and related
packages.
## Adding new cores
The basic steps to add a new core are:
1. Add a new core using `mkLibretroCore` function (use one of the existing
cores as an example)
2. Add your new core to [`default.nix`](./default.nix) file
3. Try to build your core with `nix-build -A libretro.<core>`
## Using RetroArch with cores
To create a custom RetroArch derivation with the cores you want (instead of
using `retroarch-full` that includes all cores), you can use `.withCores` like
this:
```nix
{ pkgs, ... }:
let
retroarchWithCores = (
pkgs.retroarch.withCores (
cores: with cores; [
bsnes
mgba
quicknes
]
)
);
in
{
environment.systemPackages = [ retroarchWithCores ];
}
```
For advanced customization, see `wrapRetroArch` wrapper.