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";
description = "Quickemu";
# Flake inputs
inputs = { inputs = {
flake-schemas.url = "https://flakehub.com/f/DeterminateSystems/flake-schemas/*.tar.gz"; flake-schemas.url = "https://flakehub.com/f/DeterminateSystems/flake-schemas/*.tar.gz";
nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1.*.tar.gz"; nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1.*.tar.gz";
}; };
# Flake outputs that other flakes can use outputs = {
outputs = { self, flake-schemas, nixpkgs }: self,
let flake-schemas,
# Helpers for producing system-specific outputs nixpkgs,
supportedSystems = [ "x86_64-linux" "aarch64-linux" ]; }: let
forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f { forAllSystems = function:
pkgs = import nixpkgs { inherit system; }; 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 { in {
# Schemas tell Nix about the structure of your flake's outputs # Schemas tell Nix about the structure of your flake's outputs
schemas = flake-schemas.schemas; schemas = flake-schemas.schemas;
# Development environments overlays.default = final: prev: {
devShells = forEachSupportedSystem ({ pkgs }: { quickemu = final.callPackage ./package.nix {};
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
];
}; };
packages = forAllSystems (pkgs: rec {
quickemu = pkgs.callPackage ./package.nix {};
default = quickemu;
});
devShells = forAllSystems (pkgs: {
default = pkgs.callPackage ./devshell.nix {};
}); });
}; };
} }