66 lines
2.2 KiB
Nix
66 lines
2.2 KiB
Nix
{
|
|
description = "Music Presence flake";
|
|
|
|
inputs = {
|
|
flake-schemas.url = "https://flakehub.com/f/DeterminateSystems/flake-schemas/*";
|
|
nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/*";
|
|
};
|
|
|
|
outputs = { self, flake-schemas, nixpkgs }:
|
|
let
|
|
supportedSystems = [ "x86_64-linux" ];
|
|
forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f {
|
|
pkgs = import nixpkgs { inherit system; };
|
|
});
|
|
in {
|
|
schemas = flake-schemas.schemas;
|
|
|
|
devShells = forEachSupportedSystem ({ pkgs }: {
|
|
default = pkgs.mkShell {
|
|
packages = with pkgs; [
|
|
curl
|
|
git
|
|
jq
|
|
wget
|
|
nixpkgs-fmt
|
|
];
|
|
};
|
|
});
|
|
|
|
packages = forEachSupportedSystem ({ pkgs }: {
|
|
default = let
|
|
pname = "musicpresence";
|
|
version = "2.3.4";
|
|
|
|
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=";
|
|
};
|
|
|
|
appimageContents = pkgs.appimageTools.extract { inherit pname version src; };
|
|
in pkgs.appimageTools.wrapType2 {
|
|
inherit pname version src;
|
|
|
|
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
|
|
'';
|
|
|
|
passthru.updateScript = pkgs.nix-update-script { };
|
|
|
|
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}";
|
|
};
|
|
};
|
|
});
|
|
};
|
|
}
|