49 lines
1.3 KiB
Nix
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; };
|
|
};
|
|
}
|