Files
music-presence-nix/flake.nix

85 lines
2.5 KiB
Nix
Raw Normal View History

2025-11-25 15:20:34 -06:00
{
description = "Music Presence flake";
inputs = {
flake-schemas.url = "https://flakehub.com/f/DeterminateSystems/flake-schemas/*";
nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/*";
};
2026-01-17 16:04:07 -05:00
outputs =
{
self,
flake-schemas,
nixpkgs,
}:
2025-11-25 15:20:34 -06:00
let
supportedSystems = [ "x86_64-linux" ];
2026-01-17 16:04:07 -05:00
forEachSupportedSystem =
f:
nixpkgs.lib.genAttrs supportedSystems (
system:
f {
pkgs = import nixpkgs { inherit system; };
}
);
in
{
2025-11-25 15:20:34 -06:00
schemas = flake-schemas.schemas;
2026-01-17 16:04:07 -05:00
devShells = forEachSupportedSystem (
{ pkgs }:
{
default = pkgs.mkShell {
packages = with pkgs; [
curl
git
jq
wget
nixpkgs-fmt
];
};
}
);
2025-11-25 15:20:34 -06:00
2026-01-17 16:04:07 -05:00
packages = forEachSupportedSystem (
{ pkgs }:
{
default =
let
pname = "musicpresence";
version = "2.3.4";
2025-11-25 15:20:34 -06:00
2026-01-17 16:04:07 -05:00
src = pkgs.fetchurl {
url = "https://github.com/ungive/discord-music-presence/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
hash = "sha256-S8VHs81wbVv5Z1lncSIYJDUHRfUBl40WU+P3QTQROp0=";
};
2025-11-25 15:20:34 -06:00
2026-01-17 16:04:07 -05:00
appimageContents = pkgs.appimageTools.extract { inherit pname version src; };
in
pkgs.appimageTools.wrapType2 {
inherit pname version src;
2026-01-16 23:29:19 -05:00
2026-01-17 16:04:07 -05:00
nativeBuildInputs = with pkgs; [ makeWrapper ];
extraInstallCommands = ''
wrapProgram $out/bin/${pname} \
--set QT_QPA_PLATFORM xcb \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
install -Dm444 ${appimageContents}/musicpresence.desktop -t $out/share/applications
'';
2025-11-25 15:20:34 -06:00
2026-01-17 16:04:07 -05:00
passthru.updateScript = pkgs.nix-update-script { };
2025-11-25 15:20:34 -06:00
2026-01-17 16:04:07 -05:00
meta = {
description = "The Discord music status that works with any media player";
mainProgram = "musicpresence";
homepage = "https://github.com/ungive/discord-music-presence";
maintainers = [ "wymillerlinux" ];
platforms = [ "x86_64-linux" ];
changelog = "https://github.com/ungive/discord-music-presence/releases/tag/v${version}";
};
};
}
);
2025-11-25 15:20:34 -06:00
};
}