Compare commits

...

5 commits

Author SHA1 Message Date
BuyMyMojo
fa5e9af38e
bump flake.lock 2025-03-27 20:12:23 +11:00
BuyMyMojo
062e3fa750
install shadps4-git 2025-03-27 20:12:14 +11:00
BuyMyMojo
d7d3cf6f1f
Finalise git fetching for shadps4-git (At least the manual version) 2025-03-27 20:11:53 +11:00
BuyMyMojo
5abf549e02
Fix up flake for shadps4-git 2025-03-27 19:37:39 +11:00
BuyMyMojo
8f83e22eab
Create a flake for shadps4-git 2025-03-27 18:36:35 +11:00
5 changed files with 203 additions and 8 deletions

View file

@ -97,11 +97,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1742669843, "lastModified": 1742889210,
"narHash": "sha256-G5n+FOXLXcRx+3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w=", "narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1e5b653dff12029333a6546c11e108ede13052eb", "rev": "698214a32beb4f4c8e3942372c694f40848b360d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -113,11 +113,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1742751704, "lastModified": 1742937945,
"narHash": "sha256-rBfc+H1dDBUQ2mgVITMGBPI1PGuCznf9rcWX/XIULyE=", "narHash": "sha256-lWc+79eZRyvHp/SqMhHTMzZVhpxkRvthsP1Qx6UCq0E=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f0946fa5f1fb876a9dc2e1850d9d3a4e3f914092", "rev": "d02d88f8de5b882ccdde0465d8fa2db3aa1169f7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -127,6 +127,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": {
"locked": {
"lastModified": 1742889210,
"narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "698214a32beb4f4c8e3942372c694f40848b360d",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"pnpm2nix": { "pnpm2nix": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
@ -151,7 +167,23 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"moonlight": "moonlight", "moonlight": "moonlight",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable" "nixpkgs-unstable": "nixpkgs-unstable",
"shadps4-git": "shadps4-git"
}
},
"shadps4-git": {
"inputs": {
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1,
"narHash": "sha256-40v+vomEF78ueMyMiz3GbMFJi4WOnzfbkGxiB+vFLSY=",
"path": "/nix/store/7w83b1vpap9c0x2gz3g2an6k5n9wkmdk-source/home-manager/programs/shadps4",
"type": "path"
},
"original": {
"path": "/nix/store/7w83b1vpap9c0x2gz3g2an6k5n9wkmdk-source/home-manager/programs/shadps4",
"type": "path"
} }
}, },
"systems": { "systems": {

View file

@ -16,6 +16,7 @@
inputs.nixpkgs.follows = "nixpkgs-unstable"; inputs.nixpkgs.follows = "nixpkgs-unstable";
}; };
shadps4-git.url = "./programs/shadps4";
}; };

View file

@ -33,7 +33,7 @@
# The home.packages option allows you to install Nix packages into your # The home.packages option allows you to install Nix packages into your
# environment. # environment.
home.packages = with unstable; [ home.packages = with unstable; with inputs; [
pkgs.nextcloud-client pkgs.nextcloud-client
pkgs.yubioath-flutter pkgs.yubioath-flutter
pkgs.xpipe pkgs.xpipe
@ -47,6 +47,7 @@
unstable.torzu unstable.torzu
pkgs.heroic-unwrapped pkgs.heroic-unwrapped
pkgs.ludusavi pkgs.ludusavi
inputs.shadps4-git.packages."x86_64-linux".default
# === Minecraft === # === Minecraft ===
pkgs.prismlauncher pkgs.prismlauncher

27
home-manager/programs/shadps4/flake.lock generated Normal file
View file

@ -0,0 +1,27 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1742889210,
"narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "698214a32beb4f4c8e3942372c694f40848b360d",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

View file

@ -0,0 +1,134 @@
{
description = "Current git build of shadps4";
inputs = {
# nixpkgs.url = "github:nixos/nixpkgs?rev=cfd19cdc54680956dc1816ac577abba6b58b901c"; # Same as https://github.com/shadps4-emu/shadPS4/blob/main/shell.nix
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
};
outputs =
{ self, nixpkgs }:
let
pkgs = import nixpkgs {
config.allowUnfree = true;
system = "x86_64-linux";
};
in
{
packages.x86_64-linux.default = pkgs.stdenv.mkDerivation {
name = "shadps4-git";
pname = "shadps4";
src = pkgs.fetchFromGitHub {
owner = "shadps4-emu";
repo = "shadPS4";
rev = "437af9320104011b32c34c85a6d888a78969b705";
hash = "sha256-yKaDoqQUGlcfHghqvzs9V8ZjPkO7E1imeTeyiMqGvJw=";
fetchSubmodules = true;
leaveDotGit = true;
};
nativeBuildInputs = [
pkgs.llvmPackages_18.clang
pkgs.cmake
pkgs.pkg-config
pkgs.git
pkgs.qt6.wrapQtAppsHook
];
buildInputs = [
pkgs.alsa-lib
pkgs.libpulseaudio
pkgs.openal
pkgs.openssl
pkgs.zlib
pkgs.libedit
pkgs.udev
pkgs.libevdev
pkgs.SDL2
pkgs.jack2
pkgs.sndio
pkgs.qt6.qtbase
pkgs.qt6.qttools
pkgs.qt6.qtmultimedia
pkgs.vulkan-headers
pkgs.vulkan-utility-libraries
pkgs.vulkan-tools
pkgs.ffmpeg
pkgs.fmt
pkgs.glslang
pkgs.libxkbcommon
pkgs.wayland
pkgs.xorg.libxcb
pkgs.xorg.xcbutil
pkgs.xorg.xcbutilkeysyms
pkgs.xorg.xcbutilwm
pkgs.sdl3
pkgs.stb
pkgs.qt6.qtwayland
pkgs.wayland-protocols
pkgs.libpng
];
# buildPhase = ''
# # === setup ===
# export QT_QPA_PLATFORM="wayland"
# export QT_PLUGIN_PATH="${pkgs.qt6.qtwayland}/lib/qt-6/plugins:${pkgs.qt6.qtbase}/lib/qt-6/plugins"
# export QML2_IMPORT_PATH="${pkgs.qt6.qtbase}/lib/qt-6/qml"
# export CMAKE_PREFIX_PATH="${pkgs.vulkan-headers}:$CMAKE_PREFIX_PATH"
# # OpenGL
# export LD_LIBRARY_PATH="${
# pkgs.lib.makeLibraryPath [
# pkgs.libglvnd
# pkgs.vulkan-tools
# ]
# }:$LD_LIBRARY_PATH"
# export LDFLAGS="-L${pkgs.llvmPackages_18.libcxx}/lib -lc++"
# export LC_ALL="C.UTF-8"
# export XAUTHORITY=${builtins.getEnv "XAUTHORITY"}
# # === setup ===
# # === build ===
# cmake -S . -B build/ -DENABLE_QT_GUI=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
# # cmake --build ./build --parallel $(nproc)
# # === build ===
# '';
# installPhase = ''
# cmake --install . --parallel $(nproc)
# '';
cmakeFlags = [
(nixpkgs.lib.cmakeBool "ENABLE_QT_GUI" true)
(nixpkgs.lib.cmakeBool "ENABLE_UPDATER" false)
];
# Still in development, help with debugging
# cmakeBuildType = "RelWithDebugInfo";
# dontStrip = true;
installPhase = ''
runHook preInstall
install -D -t $out/bin shadps4
install -Dm644 $src/.github/shadps4.png $out/share/icons/hicolor/512x512/apps/net.shadps4.shadPS4.png
install -Dm644 -t $out/share/applications $src/dist/net.shadps4.shadPS4.desktop
install -Dm644 -t $out/share/metainfo $src/dist/net.shadps4.shadPS4.metainfo.xml
runHook postInstall
'';
runtimeDependencies = [
pkgs.vulkan-loader
pkgs.xorg.libXi
];
};
};
}