Reorganized

This commit is contained in:
Jan-Bulthuis committed 2025-05-09 15:27:44 +02:00
1 parent c3c61ce654
commit 760815da50
145 files changed
-1444

No files matched your search

@@ -0,0 +1,12 @@
{ ... }:
{
imports = [
./emulators/pcsx2.nix
./emulators/retroarch.nix
./emulators/ryujinx.nix
./launchers/es-de.nix
./launchers/modrinth.nix
./launchers/steam.nix
];
}
@@ -0,0 +1,22 @@
{
lib,
config,
pkgs,
...
}:
with lib;
let
cfg = config.modules.pcsx2;
in
{
options.modules.pcsx2 = {
enable = mkEnableOption "pcsx2";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
pcsx2
];
};
}
@@ -0,0 +1,42 @@
{
lib,
config,
pkgs,
...
}:
with lib;
let
cfg = config.modules.retroarch;
in
{
options.modules.retroarch = {
enable = mkEnableOption "RetroArch";
};
config = mkIf cfg.enable {
modules.unfree.allowedPackages = [
"libretro-fbalpha2012"
"libretro-fbneo"
"libretro-fmsx"
"libretro-genesis-plus-gx"
"libretro-mame2000"
"libretro-mame2003"
"libretro-mame2003-plus"
"libretro-mame2010"
"libretro-mame2015"
"libretro-opera"
"libretro-picodrive"
"libretro-snes9x"
"libretro-snes9x2002"
"libretro-snes9x2005"
"libretro-snes9x2005-plus"
"libretro-snes9x2010"
];
home.packages = with pkgs; [
# retroarch-full
retroarch-free
];
};
}
@@ -0,0 +1,25 @@
{
lib,
config,
pkgs,
...
}:
with lib;
let
cfg = config.modules.ryujinx;
in
{
options.modules.ryujinx = {
enable = mkEnableOption "ryujinx";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
ryubing
];
# TODO: Make more general
wayland.windowManager.river.settings.rule-add."-app-id"."'Ryujinx'" = "fullscreen";
};
}
@@ -0,0 +1,47 @@
{
lib,
config,
pkgs,
system,
...
}:
with lib;
let
cfg = config.modules.es-de;
in
{
options.modules.es-de = {
enable = mkEnableOption "Emulation Station Desktop Edition";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
emulationstation-de
];
home.sessionVariables = {
ESDE_APPDATA_DIR = "$HOME/.config/ES-DE";
};
# TODO: Remove exception once no longer required by es-de
nixpkgs.config.permittedInsecurePackages = [
"freeimage-3.18.0-unstable-2024-04-18"
];
# TODO: Remove once emulationstation-de fixes the issue
# TODO: If not fixed, at least pin the specific commit properly
# nixpkgs.overlays =
# let
# pkgs-stable = import (fetchTarball {
# url = "https://github.com/NixOS/nixpkgs/archive/nixos-24.11.tar.gz";
# sha256 = "1wr1xzkw7v8biqqjcr867gbpqf3kibkgly36lcnhw0glvkr1i986";
# }) { inherit system; };
# in
# [
# (final: prev: {
# libgit2 = pkgs-stable.libgit2;
# })
# ];
};
}
@@ -0,0 +1,27 @@
{
lib,
config,
pkgs,
...
}:
with lib;
let
cfg = config.modules.modrinth;
in
{
options.modules.modrinth = {
enable = mkEnableOption "modrinth";
};
config = mkIf cfg.enable {
modules.unfree.allowedPackages = [
"modrinth-app"
"modrinth-app-unwrapped"
];
home.packages = with pkgs; [
modrinth-app
];
};
}
@@ -0,0 +1,16 @@
{
config,
lib,
...
}:
with lib;
{
options.modules.steam = {
enable = mkEnableOption "steam";
};
config = mkIf config.modules.steam.enable {
# Steam must be installed systemwide as of time of writing
};
}
@@ -0,0 +1,20 @@
{
steam =
{ pkgs, ... }:
{
modules.unfree.allowedPackages = [
"steam"
"steam-original"
"steam-unwrapped"
];
programs.steam.enable = true;
# Make steam create desktop entries in a subfolder
programs.steam.package = pkgs.steam.override {
extraBwrapArgs = [
"--bind $HOME/.local/share/applications/Steam $HOME/.local/share/applications"
];
};
};
}