{ description = "A very basic flake"; inputs = { flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: { overlay = final: prev: let qutebrowser-desktop-file = final.writeText "qutebrowser.desktop" '' [Desktop Entry] Categories=Network;WebBrowser; Comment= Exec=qutebrowser %U GenericName=Web Browser MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https Name=Qutebrowser Terminal=false Type=Application ''; in { qutebrowser-desktop = final.runCommand "qutebrowser.desktop" {} '' mkdir -p $out/share/applications cp ${qutebrowser-desktop-file} $out/share/applications/qutebrowser.desktop ''; }; } // flake-utils.lib.eachDefaultSystem ( system: let pkgs = import nixpkgs { system = system; overlays = [ self.overlay ]; }; in rec { packages.qutebrowser-desktop = pkgs.qutebrowser-desktop; defaultPackage = packages.qutebrowser-desktop; }); }