Files
oott/flake.nix
T

45 lines
1.1 KiB
Nix
Raw Normal View History

2026-01-24 12:16:24 -05:00
{
2026-01-24 15:30:10 -05:00
description = "OOTT - An easy to setup and use network device monitoring service";
2026-01-24 12:16:24 -05:00
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
};
outputs = {
self,
nixpkgs,
2026-01-25 10:37:47 -05:00
nix,
2026-01-24 12:16:24 -05:00
}: let
# System types to support.
supportedSystems = ["x86_64-linux"];
# Helper function to generate an attrset '{ x86_64-linux = f "x86_64-linux"; ... }'.
2026-01-25 10:37:47 -05:00
forEachSystem = nixpkgs.lib.genAttrs supportedSystems;
# Package overlays to include
overlayList = [self.overlays.default];
2026-01-24 12:16:24 -05:00
# Nixpkgs instantiated for supported system types.
2026-01-25 10:37:47 -05:00
pkgsBySystem = forEachSystem (system:
import nixpkgs {
inherit system;
overlays = overlayList;
});
2026-01-24 12:16:24 -05:00
version = "0.0.1";
pname = "oott";
2026-01-25 10:37:47 -05:00
in rec {
2026-01-24 19:26:09 -05:00
# A Nixpkgs overlay that provides a 'oott' package.
2026-01-25 10:37:47 -05:00
overlays.default = final: prev: {oott = final.callPackage ./package.nix {};};
2026-01-24 19:26:09 -05:00
# Package definition
2026-01-25 10:37:47 -05:00
packages = forEachSystem (system: {
${pname} = pkgsBySystem.${system}.${pname};
default = pkgsBySystem.${system}.${pname};
2026-01-24 12:16:24 -05:00
});
2026-01-24 14:43:46 -05:00
2026-01-25 10:37:47 -05:00
# Modules definition
nixosModules = import ./modules.nix {overlays = overlayList;};
2026-01-24 12:16:24 -05:00
};
}