# This flake was initially generated by fh, the CLI for FlakeHub (version 0.1.22) { # A helpful description of your flake description = "Music Presence flake"; # Flake inputs inputs = { flake-schemas.url = "https://flakehub.com/f/DeterminateSystems/flake-schemas/*"; nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/*"; }; # Flake outputs that other flakes can use outputs = { self, flake-schemas, nixpkgs }: let # Helpers for producing system-specific outputs supportedSystems = [ "x86_64-linux" ]; forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f { pkgs = import nixpkgs { inherit system; }; }); in { # Schemas tell Nix about the structure of your flake's outputs schemas = flake-schemas.schemas; # Development environments devShells = forEachSupportedSystem ({ pkgs }: { default = pkgs.mkShell { # Pinned packages available in the environment 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 = ""; }; appimageContents = pkgs.appimageTools.extract { inherit pname version src; }; in pkgs.appimageTools.wrapType2 { inherit pname version src; extraInstallCommands = '' install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications substituteInPlace $out/share/applications/${pname}.desktop \ --replace-fail 'Exec=AppRun' 'Exec=${pname}' cp -r ${appimageContents}/usr/share/icons $out/share ''; 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}"; }; }; }); }; }