This commit is contained in:
atagen 2024-08-28 14:23:28 +10:00
parent 914788cd30
commit 8003d9b2a6
10 changed files with 379 additions and 121 deletions

View file

@ -17,10 +17,7 @@
inputs.lix.follows = "lix";
};
src = {
url = "path:src";
flake = false;
};
src.url = "path:/home/bolt/code/meat";
};
outputs = {
@ -31,52 +28,27 @@
src,
...
}: let
supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
nixpkgsFor = forAllSystems (system:
import nixpkgs {
inherit system;
overlays = [
lix-module.overlays.default
nh.overlays.default
];
});
pkgs = import nixpkgs {
overlays = [
lix-module.overlays.default
nh.overlays.default
];
system = "x86_64-linux";
};
in {
packages = forAllSystems (system: let
pkgs = nixpkgsFor.${system};
in {
meat = pkgs.callPackage ./meat.nix {
inherit src;
};
});
# packages.meat = pkgs.callPackage ./meat.nix {
# inherit src;
# };
packages.meat = src.packages.x86_64-linux.default;
defaultPackage = forAllSystems (system: self.packages.${system}.meat);
defaultPackage = self.packages.meat;
nixosModules.meat = {
pkgs,
config,
...
}: {
options.programs.meat = with pkgs.lib; {
flake = mkOption {
type = with types; nullOr (either path str);
default = null;
description = "path to your system flake";
};
};
config = {
environment.systemPackages = [self.defaultPackage.${pkgs.system}];
environment.sessionVariables = let
cfg = config.programs.meat;
in {
FLAKE =
if (cfg.flake == null)
then throw "Please set the programs.meat.flake option to your system flake."
else config.programs.meat.flake;
};
};
overlays.meat = final: prev: {
meat = self.defaultPackage;
};
nixosModules.meat = import ./module.nix {
meatOverlay = self.overlays.meat;
};
};
}