Compare commits
5 commits
135cd0642b
...
7eeff4c125
| Author | SHA1 | Date | |
|---|---|---|---|
| 7eeff4c125 | |||
| 16d3391714 | |||
| fcba25620b | |||
| 68994153d0 | |||
| 62cf076375 |
5 changed files with 40 additions and 76 deletions
|
|
@ -2,20 +2,6 @@
|
||||||
home-manager.users.toast = {
|
home-manager.users.toast = {
|
||||||
home = {
|
home = {
|
||||||
packages = [pkgs.cemu];
|
packages = [pkgs.cemu];
|
||||||
file = {
|
|
||||||
"Games/Isos/Wii U/Kirby and the Rainbow Paintbrush.wux".source = (
|
|
||||||
pkgs.fetchurl {
|
|
||||||
url = "http://dl.everest.tailscale/Wii%20U/Kirby%20and%20the%20Rainbow%20Paintbrush.wux";
|
|
||||||
hash = "sha256-taPGf709N2p3GlqqT92+SbOeD7QNKFUfB9X5urWVQps=";
|
|
||||||
}
|
|
||||||
);
|
|
||||||
"Games/Isos/Wii U/Mario Kary 8.wux".source = (
|
|
||||||
pkgs.fetchurl {
|
|
||||||
url = "http://dl.everest.tailscale/Wii%20U/Mario%20Kart%208.wux";
|
|
||||||
hash = "sha256-O6lOkLUKPZi+FiEWJQQEeiEXOo+GTUecoSpGjE811k0=";
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,44 +3,15 @@
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
ps2-isos = pkgs.symlinkJoin {
|
|
||||||
name = "ps2-isos";
|
|
||||||
paths =
|
|
||||||
lib.lists.forEach [
|
|
||||||
(pkgs.fetchzip {
|
|
||||||
url = "https://myrient.erista.me/files/Redump/Sony%20-%20PlayStation%202/007%20-%20Nightfire%20%28USA%29.zip";
|
|
||||||
hash = "sha256-66Ey0SqC3Tk02Af+xR6rpxYSkO0n83NWYPCt4M3CUWo=";
|
|
||||||
})
|
|
||||||
(pkgs.fetchzip {
|
|
||||||
url = "https://myrient.erista.me/files/Redump/Sony%20-%20PlayStation%202/TimeSplitters%202%20%28USA%29.zip";
|
|
||||||
hash = "sha256-UPED4/MF9fjTOgiIJy+CSbuO9cJr3CsR/gEquY6GfsU=";
|
|
||||||
})
|
|
||||||
]
|
|
||||||
compress;
|
|
||||||
};
|
|
||||||
|
|
||||||
compress = iso:
|
|
||||||
pkgs.runCommand "compressed-ps2-isos" {} ''
|
|
||||||
mkdir $out
|
|
||||||
cd ${iso}
|
|
||||||
for file in ./*
|
|
||||||
do
|
|
||||||
${pkgs.mame-tools}/bin/chdman createdvd -i "$file" -o "$out/''${file%.iso}.chd"
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
pcsx2-bios = pkgs.fetchzip {
|
pcsx2-bios = pkgs.fetchzip {
|
||||||
url = "https://myrient.erista.me/files/Redump/Sony%20-%20PlayStation%202%20-%20BIOS%20Images/ps2-0200a-20040614.zip";
|
url = "https://myrient.erista.me/files/Redump/Sony%20-%20PlayStation%202%20-%20BIOS%20Images/ps2-0200a-20040614.zip";
|
||||||
hash = "sha256-wMvswgmsKl+cJl49VlVW84tvU5Jzd+2dl07SOiUDtwA=";
|
hash = "sha256-wMvswgmsKl+cJl49VlVW84tvU5Jzd+2dl07SOiUDtwA=";
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
home-manager.users.toast = {
|
home-manager.users.toast = {
|
||||||
home = {
|
home.packages = with pkgs; [
|
||||||
packages = with pkgs; [
|
|
||||||
pcsx2
|
pcsx2
|
||||||
];
|
];
|
||||||
file."Games/Isos/PS2".source = ps2-isos;
|
|
||||||
};
|
|
||||||
xdg.configFile = {
|
xdg.configFile = {
|
||||||
#PCSX2 silently overwrites the symlink so I need to force it's creation
|
#PCSX2 silently overwrites the symlink so I need to force it's creation
|
||||||
"PCSX2/inis/PCSX2.ini".force = true;
|
"PCSX2/inis/PCSX2.ini".force = true;
|
||||||
|
|
@ -150,10 +121,10 @@ in {
|
||||||
};
|
};
|
||||||
home-manager.users.toast.xdg.configFile = {
|
home-manager.users.toast.xdg.configFile = {
|
||||||
"PCSX2/.stignore".text = ''
|
"PCSX2/.stignore".text = ''
|
||||||
cahe
|
cache
|
||||||
bios
|
bios
|
||||||
gamesettings
|
gamesettings
|
||||||
inis/PCSX2.int*
|
inis/PCSX2.ini*
|
||||||
inis/debuggersettings
|
inis/debuggersettings
|
||||||
inputprofiles
|
inputprofiles
|
||||||
logs
|
logs
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,4 @@
|
||||||
{pkgs, ...}: let
|
{pkgs, ...}: {
|
||||||
snes-roms = [
|
|
||||||
# ActRaiser
|
|
||||||
(pkgs.fetchzip {
|
|
||||||
url = "https://myrient.erista.me/files/No-Intro/Nintendo%20-%20Super%20Nintendo%20Entertainment%20System/ActRaiser%20%28USA%29.zip";
|
|
||||||
hash = "sha256-yxIL5Pqlp8xsx7wvNO1MlB8ffDjS0xpE+yrEfMj61As=";
|
|
||||||
})
|
|
||||||
# Kirby Super Star
|
|
||||||
(pkgs.fetchzip {
|
|
||||||
url = "https://myrient.erista.me/files/No-Intro/Nintendo%20-%20Super%20Nintendo%20Entertainment%20System/Kirby%20Super%20Star%20%28USA%29.zip";
|
|
||||||
hash = "sha256-NX5OjCthf4ZiAhamclRBRk8GiMjZX3JLeShm8sQdDfc=";
|
|
||||||
})
|
|
||||||
# Super Mario Kart
|
|
||||||
(pkgs.fetchzip {
|
|
||||||
url = "https://myrient.erista.me/files/No-Intro/Nintendo%20-%20Super%20Nintendo%20Entertainment%20System/Super%20Mario%20Kart%20%28USA%29.zip";
|
|
||||||
hash = "sha256-RLBxPBmBrXCuPdnWE07KamBNgGJ5IntQVUPeij+2HUI=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
in {
|
|
||||||
home-manager.users.toast = {
|
home-manager.users.toast = {
|
||||||
home = {
|
home = {
|
||||||
packages = [
|
packages = [
|
||||||
|
|
@ -62,15 +44,6 @@ in {
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
];
|
];
|
||||||
file."Games/Roms/SNES/" = {
|
|
||||||
onChange = ''
|
|
||||||
${pkgs.retroarch}/bin/retroarch --scan "/home/toast/Games/Roms/SNES"
|
|
||||||
'';
|
|
||||||
source = pkgs.symlinkJoin {
|
|
||||||
name = "snes-roms";
|
|
||||||
paths = [snes-roms];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
# Retroarch is dumb since it doesn't generate some folders (but it does for others)
|
# Retroarch is dumb since it doesn't generate some folders (but it does for others)
|
||||||
systemd.user.tmpfiles.rules = [
|
systemd.user.tmpfiles.rules = [
|
||||||
|
|
@ -78,6 +51,28 @@ in {
|
||||||
"d /%h/.local/share/retroarch/saves"
|
"d /%h/.local/share/retroarch/saves"
|
||||||
"d /%h/.local/share/retroarch/states"
|
"d /%h/.local/share/retroarch/states"
|
||||||
];
|
];
|
||||||
|
systemd.user.paths = {
|
||||||
|
snes-roms = {
|
||||||
|
Unit.Description = "Monitor SNES rom path for changes";
|
||||||
|
Path = {
|
||||||
|
PathChanged = "/%h/Games/SNES";
|
||||||
|
Unit = "update-retroarch-library.service";
|
||||||
|
};
|
||||||
|
Install.WantedBy = ["default.target"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systemd.user.services.update-retroarch-library = {
|
||||||
|
Service = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = pkgs.writeShellScript "scan-snes-games" ''
|
||||||
|
${pkgs.libnotify}/bin/notify-send -a RetroArch \
|
||||||
|
-i retroarch \
|
||||||
|
"SNES games changed!" \
|
||||||
|
"Scanning $TRIGGER_PATH..."
|
||||||
|
${pkgs.retroarch}/bin/retroarch --scan "/home/toast/Games/SNES"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Sync saves and some other stuff
|
# Sync saves and some other stuff
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,12 @@
|
||||||
devices = ["server" "pc" "winmax2" "steamdeck"];
|
devices = ["server" "pc" "winmax2" "steamdeck"];
|
||||||
path = "~/.local/share/Steam/steamapps/compatdata/1761390/pfx/drive_c/users/steamuser/AppData/Roaming/EDEN/";
|
path = "~/.local/share/Steam/steamapps/compatdata/1761390/pfx/drive_c/users/steamuser/AppData/Roaming/EDEN/";
|
||||||
};
|
};
|
||||||
|
"games" = {
|
||||||
|
label = "Games";
|
||||||
|
id = "mwzph-gf2df";
|
||||||
|
devices = ["server" "pc" "winmax2" "steamdeck"];
|
||||||
|
path = "~/Games";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
home-manager.users.toast.home.file."steam-201810-ignore" = {
|
home-manager.users.toast.home.file."steam-201810-ignore" = {
|
||||||
target = ".local/share/Steam/steamapps/compatdata/201810/pfx/drive_c/users/steamuser/Saved Games/MachineGames/Wolfenstein The New Order/.stignore";
|
target = ".local/share/Steam/steamapps/compatdata/201810/pfx/drive_c/users/steamuser/Saved Games/MachineGames/Wolfenstein The New Order/.stignore";
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,12 @@
|
||||||
devices = ["server" "pc" "winmax2" "steamdeck"];
|
devices = ["server" "pc" "winmax2" "steamdeck"];
|
||||||
path = "${config.services.syncthing.dataDir}/project-eden-saves";
|
path = "${config.services.syncthing.dataDir}/project-eden-saves";
|
||||||
};
|
};
|
||||||
|
"games" = {
|
||||||
|
label = "Games";
|
||||||
|
id = "jxuou-2yjnu";
|
||||||
|
devices = ["steamdeck" "server" "pc" "winmax2"];
|
||||||
|
path = "${config.services.syncthing.dataDir}/games";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
systemd.services.syncthing.serviceConfig = {
|
systemd.services.syncthing.serviceConfig = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue