refactor: update flake.nix to use devshell.nix and package.nix

This commit is contained in:
Martin Wimpress 2024-05-02 13:31:01 +01:00 committed by Martin Wimpress
parent f3fff84952
commit ef1cff7ec8
1 changed files with 29 additions and 45 deletions

View File

@ -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 {};
});
};
}