{ description = "openlens"; inputs = { nixpkgs = { url = "nixpkgs/nixos-unstable"; }; flake-utils = { url = "github:numtide/flake-utils"; }; }; outputs = { self, nixpkgs, flake-utils, ... }@inputs: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; in { packages = { open-lens = let pname = "open-lens"; version = "6.1.19"; name = "${pname}-${version}"; src = builtins.fetchurl { url = "https://github.com/MuhammedKalkan/OpenLens/releases/download/v${version}/OpenLens-${version}.AppImage"; sha256 = "sha256:0jf67awkz4vaz2f4gxvwsbz06kf9gn3zbr6dz96lw6qnzqjp4f0a"; name = "${pname}.AppImage"; }; appimageContents = pkgs.appimageTools.extractType2 { inherit name src; }; in pkgs.appimageTools.wrapType2 { inherit name src; extraInstallCommands = '' mv $out/bin/${name} $out/bin/${pname} install -m 444 -D ${appimageContents}/open-lens.desktop $out/share/applications/${pname}.desktop install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/open-lens.png \ $out/share/icons/hicolor/512x512/apps/${pname}.png substituteInPlace $out/share/applications/${pname}.desktop \ --replace 'Icon=open-lens' 'Icon=${pname}' \ --replace 'Exec=AppRun' 'Exec=${pname}' ''; meta = { homepage = ""; description = ""; longDescription = '' ''; }; }; apps = { # asdm = { # type = "app"; # program = "${self.packages.${system}.mpc}/bin/mpc"; # }; }; }; } ); }