diff --git a/flake.lock b/flake.lock index d0fb9ed..3c888c5 100644 --- a/flake.lock +++ b/flake.lock @@ -557,6 +557,7 @@ "twemoji-but-good": "twemoji-but-good", "view-raw": "view-raw", "who-reacted": "who-reacted", + "wine-discord-ipc-bridge": "wine-discord-ipc-bridge", "zelk": "zelk", "zsh-abbr": "zsh-abbr", "zsh-history-substring-search": "zsh-history-substring-search" @@ -765,6 +766,22 @@ "type": "github" } }, + "wine-discord-ipc-bridge": { + "flake": false, + "locked": { + "lastModified": 1637884098, + "narHash": "sha256-D6H1RsrxhW25g6xKYjt831AKRBx4bLRHOWEk3HzM4zo=", + "owner": "0e4ef622", + "repo": "wine-discord-ipc-bridge", + "rev": "3f6432a2a2b6e929a361fc59e1fbfbb9d79d59a6", + "type": "github" + }, + "original": { + "owner": "0e4ef622", + "repo": "wine-discord-ipc-bridge", + "type": "github" + } + }, "zelk": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index f963dfd..68b3284 100644 --- a/flake.nix +++ b/flake.nix @@ -28,6 +28,7 @@ spotify-adblock = { url = "github:abba23/spotify-adblock"; flake = false; }; tree-sitter-glimmer = { url = "github:alexlafroscia/tree-sitter-glimmer"; flake = false; }; tree-sitter-jsonc = { url = "gitlab:WhyNotHugo/tree-sitter-jsonc"; flake = false; }; + wine-discord-ipc-bridge = { url = "github:0e4ef622/wine-discord-ipc-bridge"; flake = false; }; # shells rust-overlay.url = "github:oxalica/rust-overlay"; diff --git a/packages/default.nix b/packages/default.nix index 20d7831..9aa0d51 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -10,4 +10,5 @@ spotify-adblock = callPackage ./spotify-adblock { inherit inputs; }; tree-sitter-glimmer = callPackage ./tree-sitter-glimmer { inherit inputs; }; tree-sitter-jsonc = callPackage ./tree-sitter-jsonc { inherit inputs; }; + wine-discord-ipc-bridge = callPackage ./wine-discord-ipc-bridge { inherit inputs; }; } diff --git a/packages/wine-discord-ipc-bridge/default.nix b/packages/wine-discord-ipc-bridge/default.nix new file mode 100644 index 0000000..5e7ff2c --- /dev/null +++ b/packages/wine-discord-ipc-bridge/default.nix @@ -0,0 +1,15 @@ +{ + inputs, + pkgsCross, + stdenv +}: +stdenv.mkDerivation { + name = "wine-discord-ipc-bridge.exe"; + src = inputs.wine-discord-ipc-bridge; + + buildInputs = [ pkgsCross.mingw32.buildPackages.gcc ]; + + installPhase = '' + cp winediscordipcbridge.exe $out + ''; +} diff --git a/scripts/ipcbridge b/scripts/ipcbridge new file mode 100644 index 0000000..a51c26f --- /dev/null +++ b/scripts/ipcbridge @@ -0,0 +1,3 @@ +#!/usr/bin/env sh + +PROTON_REMOTE_DEBUG_CMD="{{BRIDGE_EXEC}}" PRESSURE_VESSEL_FILESYSTEMS_RW="$XDG_RUNTIME_DIR/discord-ipc-0" "$@" diff --git a/users/rin/default.nix b/users/rin/default.nix index 53ba603..bac55df 100644 --- a/users/rin/default.nix +++ b/users/rin/default.nix @@ -45,6 +45,10 @@ url = "https://github.com/0e4ef622/wine-discord-ipc-bridge/releases/download/v0.0.1/winediscordipcbridge.exe"; sha256 = "1swn9spxpq6blm74kjmfz4ipq6a8qjzccvb2msb25pf5b1z7jnns"; }; + home.file.".local/bin/ipcbridge" = { + executable = true; + text = lib.strings.replaceStrings ["{{BRIDGE_EXEC}}"] [pkgs.me.wine-discord-ipc-bridge.outPath] (builtins.readFile ../../scripts/ipcbridge); + }; home.file.".local/bin/osu" = { executable = true; source = ../../scripts/osu;