feat: add calibre and game virtualization

This commit is contained in:
Jay Looney 2025-10-08 11:14:36 -05:00
parent 82f1d9d5c9
commit d7202a1af1
3 changed files with 84 additions and 0 deletions

View file

@ -0,0 +1,57 @@
{ config, lib, pkgs, ... }:
let
retroarchWithCores = (
pkgs.retroarch.withCores (
cores: with cores; [
# Multi-Emulators
mame # Atari / Nintendo / Sega / etc.
# Sega
genesis-plus-gx # Sega Genesis
# Nintendo
mesen # NES
bsnes # Super Nintendo
mupen64plus # Nintendo 64 - Maybe simple64 some day.
dolphin # GameCube
mgba # GameBoy / Color / Advance
melonds # Nintendo DS
citra # Nintendo 3DS
# Sony
swanstation #duckstation # PlayStation
beetle-psx-hw
pcsx2 # PlayStation 2 -- Is actually "LRPS2"
#rpcs3 # PlayStation 3
ppsspp # PlayStation Portable
# Commodore
vice-x64 # C64
]
)
);
in
{
environment.systemPackages = [
retroarchWithCores
#pkgs.emulationstation-de
pkgs.gnome-bluetooth
];
hardware.xone.enable = true; # Xbox Controller Driver
hardware.enableAllFirmware = true;
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings = {
General = {
Experimental = true;
FastConnectable = true;
};
Policy = {
AutoEnable = true;
};
};
};
}

View file

@ -0,0 +1,27 @@
{ config, lib, pkgs, ... }:
{
imports = [];
options = {
zw-calibre = {
enable = lib.mkEnableOption "Enable Calibre";
};
};
config = {
config.allowUnfreePredigate = pkg: builtins.elem (lib.getName pkg) [
"calibre"
"unrar"
];
environment.systemPackages = with pkgs; [
(calibre.override {
unrarSupport = true;
})
unrar
];
services.udisks2.enable = true;
};
# NOTE: Consider adding https://github.com/nydragon/calibre-plugins
}