diff --git a/flake.nix b/flake.nix index 7c8e5dc..1f3a8eb 100644 --- a/flake.nix +++ b/flake.nix @@ -6,60 +6,79 @@ nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/*"; }; - outputs = { self, flake-schemas, 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 { + 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="; + devShells = forEachSupportedSystem ( + { pkgs }: + { + default = pkgs.mkShell { + packages = with pkgs; [ + curl + git + jq + wget + nixpkgs-fmt + ]; }; + } + ); - appimageContents = pkgs.appimageTools.extract { inherit pname version src; }; - in pkgs.appimageTools.wrapType2 { - inherit pname version src; + packages = forEachSupportedSystem ( + { pkgs }: + { + default = + let + pname = "musicpresence"; + version = "2.3.4"; - 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 - ''; + 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="; + }; - passthru.updateScript = pkgs.nix-update-script { }; + appimageContents = pkgs.appimageTools.extract { inherit pname version src; }; + in + pkgs.appimageTools.wrapType2 { + inherit pname version src; - 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}"; - }; - }; - }); + 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}"; + }; + }; + } + ); }; }