Add a role for sm64ex for the deck.

This commit is contained in:
Tom Alexander 2025-02-13 20:54:51 -05:00
parent b0186dc85b
commit 20e247f8ed
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE
3 changed files with 52 additions and 0 deletions

View File

@ -10,6 +10,7 @@
./roles/2ship2harkinian
./roles/graphics
./roles/shipwright
./roles/sm64ex
./roles/steam_rom_manager
./util/unfree_polyfill
];

View File

@ -12,6 +12,7 @@
me.graphical = true;
me.ship2harkinian.enable = true;
me.shipwright.enable = true;
me.sm64ex.enable = true;
me.steam_rom_manager.enable = false; # Steam rom manager UI does not render. I think it wants to be in an AppImage.
};
}

View File

@ -0,0 +1,50 @@
{
config,
lib,
pkgs,
...
}:
{
imports = [ ];
options.me = {
sm64ex.enable = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
description = "Whether we want to install sm64ex.";
};
};
config = lib.mkIf config.me.sm64ex.enable (
lib.mkMerge [
(lib.mkIf config.me.graphical {
allowedUnfree = [ "sm64ex" ];
home.packages = with pkgs; [
(config.lib.nixGL.wrap sm64ex)
];
# nixpkgs.overlays = [
# (final: prev: {
# sm4ex = prev.sm64ex.override {
# baseRom.name = "SuperMario64.z64";
# };
# })
# ];
# TODO perhaps install ~/.local/share/sm64ex/sm64config.txt
home.persistence."/home/deck/.persist" = {
directories = [
{
directory = ".local/share/sm64ex";
method = "symlink";
}
];
};
})
]
);
}