This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

games: add all Haunted PS1 demo discs

- Demo Disc 2020 (Feb 2020)
- Demo Disc 2021 (Mar 2021)
- Spectral Mall (Aug 2022)
- Flipside Frights (Jan 2025)

Refactored to use shared mk-haunted-ps1.nix builder.
All games run via umu-launcher with GE-Proton.

+161 -95
+4 -2
games/flake-module.nix
··· 8 8 perSystem = 9 9 { pkgs, ... }: 10 10 let 11 - gameDirs = builtins.attrNames ( 12 - lib.filterAttrs (_: type: type == "directory") (builtins.readDir ./.) 11 + gameDirs = builtins.filter (name: name != "lib") ( 12 + builtins.attrNames ( 13 + lib.filterAttrs (_: type: type == "directory") (builtins.readDir ./.) 14 + ) 13 15 ); 14 16 15 17 buildGame = name:
+15
games/haunted-ps1-demo-disc-2020/default.nix
··· 1 + { callPackage }: 2 + 3 + let 4 + mkHauntedPs1 = callPackage ../lib/mk-haunted-ps1.nix { }; 5 + in 6 + mkHauntedPs1 { 7 + pname = "haunted-ps1-demo-disc-2020"; 8 + zipName = "demodisc2020-win.zip"; 9 + sha256 = "14d18l0kcbjim2rczg9lcmvgs46n6bs7pisfg33qnarwiv40v5f3"; 10 + exeName = "Haunted PS1 Demo Disc/Haunted PS1 Demo Disc.exe"; 11 + downloadUrl = "https://hauntedps1.itch.io/demodisc2020"; 12 + downloadName = "demodisc2020-win.zip (2.8 GB)"; 13 + desktopName = "Haunted PS1 Demo Disc 2020"; 14 + description = "A collection of PS1-style horror game demos from the Haunted PS1 community (2020 edition)"; 15 + }
+11 -93
games/haunted-ps1-demo-disc-2021/default.nix
··· 1 - { 2 - lib, 3 - stdenv, 4 - requireFile, 5 - unzip, 6 - makeWrapper, 7 - umu-launcher, 8 - makeDesktopItem, 9 - copyDesktopItems, 10 - }: 1 + { callPackage }: 11 2 12 3 let 13 - pname = "haunted-ps1-demo-disc-2021"; 14 - version = "1.0"; 15 - 16 - # Download from: https://hauntedps1.itch.io/demodisc2021 17 - # You need an itch.io account (free) to download 18 - # After downloading, add to nix store with: 19 - # nix-store --add-fixed sha256 ~/Downloads/demodisc2021-win.zip 20 - src = requireFile { 21 - name = "demodisc2021-win.zip"; 22 - sha256 = "0392n5pgilpk0lgwr35w6jl6hq9h800y8lkpb729vjhw4c7ywsmm"; 23 - message = '' 24 - To use this package, you need to download the Haunted PS1 Demo Disc 2021. 25 - 26 - 1. Go to https://hauntedps1.itch.io/demodisc2021 27 - 2. Create a free itch.io account or log in 28 - 3. Click the "Download" button for "Demo Disc 2021 [Windows]" (4.7 GB) 29 - 4. Once downloaded, add it to the Nix store: 30 - 31 - nix-store --add-fixed sha256 ~/Downloads/demodisc2021-win.zip 32 - 33 - Then try building again. 34 - ''; 35 - }; 36 - 37 - desktopItem = makeDesktopItem { 38 - name = pname; 39 - desktopName = "Haunted PS1 Demo Disc 2021"; 40 - comment = "A collection of PS1-style horror game demos"; 41 - exec = pname; 42 - icon = pname; 43 - categories = [ "Game" ]; 44 - }; 45 - 4 + mkHauntedPs1 = callPackage ../lib/mk-haunted-ps1.nix { }; 46 5 in 47 - stdenv.mkDerivation { 48 - inherit pname version src; 49 - 50 - nativeBuildInputs = [ 51 - unzip 52 - makeWrapper 53 - copyDesktopItems 54 - ]; 55 - 56 - desktopItems = [ desktopItem ]; 57 - 58 - dontBuild = true; 59 - 60 - unpackPhase = '' 61 - runHook preUnpack 62 - unzip -q "$src" 63 - runHook postUnpack 64 - ''; 65 - 66 - installPhase = '' 67 - runHook preInstall 68 - 69 - # Install all game files 70 - mkdir -p "$out/share/${pname}" 71 - cp -r * "$out/share/${pname}/" 72 - 73 - # Create wrapper script using umu-run (Proton launcher) 74 - mkdir -p "$out/bin" 75 - cat > "$out/bin/${pname}" <<'WRAPPER' 76 - #!/bin/sh 77 - export WINEPREFIX="''${WINEPREFIX:-$HOME/.local/share/haunted-ps1-demo-disc-2021/prefix}" 78 - export GAMEID="haunted-ps1-demo-disc-2021" 79 - export PROTONPATH="GE-Proton" 80 - exec UMUPATH "$out/share/haunted-ps1-demo-disc-2021/HauntedDemoDisc2021.exe" "$@" 81 - WRAPPER 82 - substituteInPlace "$out/bin/${pname}" \ 83 - --replace-fail "UMUPATH" "${umu-launcher}/bin/umu-run" \ 84 - --replace-fail '$out' "$out" 85 - chmod +x "$out/bin/${pname}" 86 - 87 - runHook postInstall 88 - ''; 89 - 90 - meta = { 91 - description = "A collection of 25 PS1-style horror game demos from the Haunted PS1 community"; 92 - homepage = "https://hauntedps1.itch.io/demodisc2021"; 93 - license = lib.licenses.unfree; 94 - platforms = [ "x86_64-linux" ]; 95 - mainProgram = pname; 96 - }; 6 + mkHauntedPs1 { 7 + pname = "haunted-ps1-demo-disc-2021"; 8 + zipName = "demodisc2021-win.zip"; 9 + sha256 = "0392n5pgilpk0lgwr35w6jl6hq9h800y8lkpb729vjhw4c7ywsmm"; 10 + exeName = "HauntedDemoDisc2021.exe"; 11 + downloadUrl = "https://hauntedps1.itch.io/demodisc2021"; 12 + downloadName = "Demo Disc 2021 [Windows]"; 13 + desktopName = "Haunted PS1 Demo Disc 2021"; 14 + description = "A collection of 25 PS1-style horror game demos from the Haunted PS1 community"; 97 15 }
+15
games/haunted-ps1-flipside-frights/default.nix
··· 1 + { callPackage }: 2 + 3 + let 4 + mkHauntedPs1 = callPackage ../lib/mk-haunted-ps1.nix { }; 5 + in 6 + mkHauntedPs1 { 7 + pname = "haunted-ps1-flipside-frights"; 8 + zipName = "demo-disc-flipside-frights-windows.zip"; 9 + sha256 = "0g14mjj309mf5sk9bcgkwnk9xr9zyw3zcbrv12kpwl65wjcw38v5"; 10 + exeName = "Demo Disc - Flipside Frights/DD04.exe"; 11 + downloadUrl = "https://hauntedps1.itch.io/demo-disc-flipside-frights"; 12 + downloadName = "demo-disc-flipside-frights-windows.zip (7.4 GB)"; 13 + desktopName = "Haunted PS1 Demo Disc: Flipside Frights"; 14 + description = "The latest Haunted PS1 demo disc featuring 24 horror game demos (2025)"; 15 + }
+15
games/haunted-ps1-spectral-mall/default.nix
··· 1 + { callPackage }: 2 + 3 + let 4 + mkHauntedPs1 = callPackage ../lib/mk-haunted-ps1.nix { }; 5 + in 6 + mkHauntedPs1 { 7 + pname = "haunted-ps1-spectral-mall"; 8 + zipName = "demodisc2022-win.zip"; 9 + sha256 = "09c41dc0014myrlkpcichv34f4yvayqwns2cm5k9g1q880dhsmfz"; 10 + exeName = "HPS1 Demo Disk Spectral Mall.exe"; 11 + downloadUrl = "https://hauntedps1.itch.io/demo-disc-spectral-mall"; 12 + downloadName = "The Haunted PS1 Demo Disc: Spectral Mall [Windows] (5.4 GB)"; 13 + desktopName = "Haunted PS1 Demo Disc: Spectral Mall"; 14 + description = "A PS1-style horror game demo disc set in a haunted mall"; 15 + }
+101
games/lib/mk-haunted-ps1.nix
··· 1 + # Shared builder for Haunted PS1 demo disc games 2 + { 3 + lib, 4 + stdenv, 5 + requireFile, 6 + unzip, 7 + makeWrapper, 8 + umu-launcher, 9 + makeDesktopItem, 10 + copyDesktopItems, 11 + }: 12 + 13 + { 14 + pname, 15 + version ? "1.0", 16 + zipName, 17 + sha256, 18 + exeName, 19 + downloadUrl, 20 + downloadName, 21 + desktopName, 22 + description, 23 + }: 24 + 25 + let 26 + src = requireFile { 27 + name = zipName; 28 + inherit sha256; 29 + message = '' 30 + To use this package, you need to download ${desktopName}. 31 + 32 + 1. Go to ${downloadUrl} 33 + 2. Create a free itch.io account or log in 34 + 3. Click the "Download" button for "${downloadName}" 35 + 4. Once downloaded, add it to the Nix store: 36 + 37 + nix-store --add-fixed sha256 ~/Downloads/${zipName} 38 + 39 + Then try building again. 40 + ''; 41 + }; 42 + 43 + desktopItem = makeDesktopItem { 44 + name = pname; 45 + inherit desktopName; 46 + comment = description; 47 + exec = pname; 48 + icon = pname; 49 + categories = [ "Game" ]; 50 + }; 51 + 52 + in 53 + stdenv.mkDerivation { 54 + inherit pname version src; 55 + 56 + nativeBuildInputs = [ 57 + unzip 58 + makeWrapper 59 + copyDesktopItems 60 + ]; 61 + 62 + desktopItems = [ desktopItem ]; 63 + 64 + dontBuild = true; 65 + 66 + unpackPhase = '' 67 + runHook preUnpack 68 + unzip -q "$src" 69 + runHook postUnpack 70 + ''; 71 + 72 + installPhase = '' 73 + runHook preInstall 74 + 75 + # Install all game files 76 + mkdir -p "$out/share/${pname}" 77 + cp -r * "$out/share/${pname}/" 78 + 79 + # Create wrapper script using umu-run (Proton launcher) 80 + mkdir -p "$out/bin" 81 + cat > "$out/bin/${pname}" <<WRAPPER 82 + #!/bin/sh 83 + export WINEPREFIX="\''${WINEPREFIX:-\$HOME/.local/share/${pname}/prefix}" 84 + export GAMEID="${pname}" 85 + export PROTONPATH="GE-Proton" 86 + exec ${umu-launcher}/bin/umu-run "\$out/share/${pname}/${exeName}" "\$@" 87 + WRAPPER 88 + substituteInPlace "$out/bin/${pname}" --replace-fail '$out' "$out" 89 + chmod +x "$out/bin/${pname}" 90 + 91 + runHook postInstall 92 + ''; 93 + 94 + meta = { 95 + inherit description; 96 + homepage = downloadUrl; 97 + license = lib.licenses.unfree; 98 + platforms = [ "x86_64-linux" ]; 99 + mainProgram = pname; 100 + }; 101 + }