my nixos flake :3 (git.koi.rip mirror) git.koi.rip/koi/flake
nixos catppuccin linux dotfiles neovim
0

Configure Feed

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

discord: switch to external arrpc

june (Jun 22, 2026, 7:44 PM +0200) cede2a76 c31c7281

+81 -82
-1
home/external/zsh/profile.zsh
··· 1 1 if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then 2 - systemctl --user start user-desktop.target & 3 2 exec niri-session 4 3 fi 5 4
+2 -1
home/programs/graphical/vesktop.nix
··· 6 6 programs.vesktop = { 7 7 enable = true; 8 8 settings = { 9 - arRPC = true; 9 + arRPC = false; 10 10 splashBackground = "#${colors.base}"; 11 11 splashColor = "#${colors.text}"; 12 12 splashTheming = true; ··· 19 19 "https://everviolet.github.io/discord/themes/evergarden-${config.evergarden.variant}-${config.evergarden.accent}.theme.css" 20 20 ]; 21 21 plugins = { 22 + "WebRichPresence (arRPC)".enabled = true; 22 23 AlwaysExpandRoles.enabled = true; 23 24 AlwaysTrust = { 24 25 enabled = true;
+13
home/services/discord/arrpc.nix
··· 1 + { 2 + services.arrpc = { 3 + enable = true; 4 + systemdTarget = "graphical-session.target"; 5 + }; 6 + 7 + systemd.user.services.arRPC = { 8 + Unit.Wants = [ 9 + "jellyfin-rpc.service" 10 + "vita-presence.service" 11 + ]; 12 + }; 13 + }
+1 -1
home/services/discord/default.nix
··· 1 1 { 2 2 imports = [ 3 + ./arrpc.nix 3 4 ./jellyfin-rpc.nix 4 - ./user-desktop.nix 5 5 ./vita-presence.nix 6 6 ]; 7 7 }
+2 -5
home/services/discord/jellyfin-rpc.nix
··· 7 7 systemd.user.services.jellyfin-rpc = { 8 8 Unit = { 9 9 Description = "jellyfin discord RPC"; 10 - After = [ "network.target" ]; 10 + After = [ "arRPC.service" ]; 11 11 }; 12 12 13 13 Service = { 14 - ExecStart = "${pkgs.jellyfin-rpc}/bin/jellyfin-rpc -c /run/user/%U/agenix/jellyfin-rpc"; 14 + ExecStart = "${pkgs.jellyfin-rpc}/bin/jellyfin-rpc -c %t/agenix/jellyfin-rpc"; 15 15 Restart = "on-failure"; 16 16 RestartSec = 60; 17 17 }; 18 - 19 - # started by user-desktop.target 20 - # Install.WantedBy = [ "default.target" ]; 21 18 }; 22 19 }
-11
home/services/discord/user-desktop.nix
··· 1 - { 2 - systemd.user.targets.user-desktop = { 3 - Unit = { 4 - Description = "started with desktop session"; 5 - Wants = [ 6 - "jellyfin-rpc.service" 7 - "vita-presence.service" 8 - ]; 9 - }; 10 - }; 11 - }
-56
home/services/discord/vita-presence-package.nix
··· 1 - { 2 - lib, 3 - cmake, 4 - llvmPackages_18, 5 - rapidjson, 6 - fetchFromGitHub, 7 - }: 8 - let 9 - inherit (llvmPackages_18) stdenv; 10 - in 11 - stdenv.mkDerivation { 12 - pname = "vita-presence"; 13 - version = "0-unstable-2022-07-10"; 14 - 15 - src = fetchFromGitHub { 16 - owner = "TheMightyV"; 17 - repo = "vita-presence-the-server"; 18 - rev = "b41266f661846d3325aca902c430989bffd0f599"; 19 - hash = "sha256-qePJpRxtlZadzEVjcYb1Hbk/jr0hvnNSqBzg7C111Fo="; 20 - fetchSubmodules = true; 21 - }; 22 - 23 - nativeBuildInputs = [ cmake ]; 24 - buildInputs = [ rapidjson ]; 25 - 26 - cmakeFlags = [ "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" ]; 27 - 28 - postPatch = '' 29 - # fix invalid clang-format config errors 30 - rm lib/discord-rpc/.clang-format 31 - 32 - # disable output 33 - substituteInPlace src/main.cpp \ 34 - --replace-fail \ 35 - 'console_clear_screen();' \ 36 - 'break;' 37 - ''; 38 - 39 - installPhase = '' 40 - runHook preInstall 41 - 42 - mkdir -p $out/bin 43 - cp vita-presence-the-server $out/bin/ 44 - 45 - runHook postInstall 46 - ''; 47 - 48 - meta = { 49 - description = "VitaPresence server implementation"; 50 - homepage = "https://github.com/TheMightyV/vita-presence-the-server"; 51 - license = lib.licenses.gpl3Plus; 52 - maintainers = [ lib.maintainers.koi ]; 53 - platforms = lib.platforms.linux; 54 - mainProgram = "vita-presence-the-server"; 55 - }; 56 - }
+63 -7
home/services/discord/vita-presence.nix
··· 1 1 { pkgs, ... }: 2 2 let 3 3 name = "vita-presence-the-server"; 4 - package = pkgs.callPackage ./vita-presence-package.nix { }; 4 + 5 + package = pkgs.callPackage ( 6 + { 7 + lib, 8 + cmake, 9 + llvmPackages_18, 10 + rapidjson, 11 + fetchFromGitHub, 12 + }: 13 + let 14 + inherit (llvmPackages_18) stdenv; 15 + in 16 + stdenv.mkDerivation { 17 + pname = "vita-presence"; 18 + version = "0-unstable-2022-07-10"; 19 + 20 + src = fetchFromGitHub { 21 + owner = "TheMightyV"; 22 + repo = name; 23 + rev = "b41266f661846d3325aca902c430989bffd0f599"; 24 + hash = "sha256-qePJpRxtlZadzEVjcYb1Hbk/jr0hvnNSqBzg7C111Fo="; 25 + fetchSubmodules = true; 26 + }; 27 + 28 + nativeBuildInputs = [ cmake ]; 29 + buildInputs = [ rapidjson ]; 30 + 31 + cmakeFlags = [ "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" ]; 32 + 33 + postPatch = '' 34 + # fix invalid clang-format config errors 35 + rm lib/discord-rpc/.clang-format 36 + 37 + # disable output 38 + substituteInPlace src/main.cpp \ 39 + --replace-fail \ 40 + 'console_clear_screen();' \ 41 + 'break;' 42 + ''; 43 + 44 + installPhase = '' 45 + runHook preInstall 46 + 47 + mkdir -p $out/bin 48 + cp ${name} $out/bin/ 49 + 50 + runHook postInstall 51 + ''; 52 + 53 + meta = { 54 + description = "VitaPresence server implementation"; 55 + homepage = "https://github.com/TheMightyV/${name}"; 56 + license = lib.licenses.gpl3Plus; 57 + maintainers = [ lib.maintainers.koi ]; 58 + platforms = lib.platforms.linux; 59 + mainProgram = name; 60 + }; 61 + } 62 + ) { }; 63 + 5 64 config = pkgs.runCommand "vita-presence-config" { } '' 6 - mkdir -p $out 7 - cat > $out/${name}.ini <<'EOF' 65 + mkdir -p $out 66 + cat > $out/${name}.ini <<EOF 8 67 [General] 9 68 appID = 1509590848625578226 10 69 vitaIP = 192.168.55.180 ··· 17 76 systemd.user.services.vita-presence = { 18 77 Unit = { 19 78 Description = "VitaPresence server"; 20 - After = [ "network.target" ]; 79 + After = [ "arRPC.service" ]; 21 80 }; 22 81 23 82 Service = { ··· 26 85 Restart = "on-failure"; 27 86 RestartSec = 120; 28 87 }; 29 - 30 - # started by user-desktop.target 31 - # Install.WantedBy = [ "default.target" ]; 32 88 }; 33 89 }