From ef1cff7ec8f2e5c7f3632afe09c3553f8174b832 Mon Sep 17 00:00:00 2001 From: Martin Wimpress Date: Thu, 2 May 2024 13:31:01 +0100 Subject: [PATCH] refactor: update flake.nix to use devshell.nix and package.nix --- flake.nix | 74 ++++++++++++++++++++++--------------------------------- 1 file changed, 29 insertions(+), 45 deletions(-) diff --git a/flake.nix b/flake.nix index 7bd0ea1..adf9c51 100644 --- a/flake.nix +++ b/flake.nix @@ -1,54 +1,38 @@ -# This flake was initially generated by fh, the CLI for FlakeHub (version 0.1.10) { - # A helpful description of your flake - description = "Quickemu"; - - # Flake inputs + description = "Quickemu flake"; inputs = { flake-schemas.url = "https://flakehub.com/f/DeterminateSystems/flake-schemas/*.tar.gz"; - nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1.*.tar.gz"; }; - # Flake outputs that other flakes can use - outputs = { self, flake-schemas, nixpkgs }: - let - # Helpers for producing system-specific outputs - supportedSystems = [ "x86_64-linux" "aarch64-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; + outputs = { + self, + flake-schemas, + nixpkgs, + }: let + forAllSystems = function: + nixpkgs.lib.genAttrs [ + "x86_64-linux" + # TODO: Add support for these platforms in quickemu and quickget + # "aarch64-linux" + # "x86_64-darwin" + # "aarch64-darwin" + ] (system: function nixpkgs.legacyPackages.${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; [ - cdrtools - curl - lsb-release - git - gnugrep - gnused - jq - nixpkgs-fmt - procps - python3 - qemu - socat - swtpm - unzip - usbutils - util-linux - wget - xdg-user-dirs - xorg.xrandr - zsync - ]; - }; - }); + overlays.default = final: prev: { + quickemu = final.callPackage ./package.nix {}; }; + + packages = forAllSystems (pkgs: rec { + quickemu = pkgs.callPackage ./package.nix {}; + default = quickemu; + }); + + devShells = forAllSystems (pkgs: { + default = pkgs.callPackage ./devshell.nix {}; + }); + }; }