picture-frame/flake.nix
2023-11-08 23:14:57 -07:00

49 lines
1.3 KiB
Nix

{
description = "A simple Go project built with Nix";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/master";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
let
supportedSystems = with flake-utils.lib.system; [ x86_64-linux i686-linux aarch64-linux ];
in
{
overlays.default = final: prev: {
picture-frame = {
inherit (final.callPackage ./server { }) server smartcrop;
firmware = final.callPackage ./firmware { };
};
};
}
//
flake-utils.lib.eachSystem supportedSystems (system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [ self.overlays.default ];
};
in
{
packages = with pkgs.picture-frame; {
inherit server firmware smartcrop;
default = server;
};
devShell = pkgs.callPackage ./shell.nix { };
checks.build = pkgs.picture-frame.server;
checks.service = import ./server/service-test.nix {
inherit nixpkgs system;
service = self.nixosModules.service;
};
}
)
//
{
nixosModules.default = self.nixosModules.service;
nixosModules.service = import ./server/service.nix { overlay = self.overlays.default; };
};
}