photoncloud-monorepo/nix-nos/flake.nix

62 lines
1.6 KiB
Nix

{
description = "Nix-NOS: legacy compatibility and low-level network primitive modules for NixOS";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { self, nixpkgs }:
let
lib = nixpkgs.lib;
in
{
# Export NixOS modules
nixosModules.default = import ./modules;
# Development shell
devShells = lib.genAttrs [ "x86_64-linux" "aarch64-linux" ] (system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
{
default = pkgs.mkShell {
buildInputs = with pkgs; [
nixpkgs-fmt
nil
];
shellHook = ''
echo "Nix-NOS development shell (compatibility and network primitives only)"
echo "Run: nix flake check"
'';
};
}
);
# Package checks
checks = lib.genAttrs [ "x86_64-linux" "aarch64-linux" ] (system:
let
pkgs = nixpkgs.legacyPackages.${system};
# Basic module evaluation test
testEval = import "${nixpkgs}/nixos/lib/eval-config.nix" {
inherit system;
modules = [
self.nixosModules.default
{ nix-nos.enable = true; }
];
};
in
{
# Verify module loads without errors
module-eval = pkgs.runCommand "module-eval-test" {
inherit (testEval.config.nix-nos) enable version;
} ''
echo "Nix-NOS module loaded successfully"
echo "Version: $version"
touch $out
'';
}
);
};
}