metanix/flake.nix
2025-07-20 11:27:26 -05:00

38 lines
1.2 KiB
Nix

{
description = "Metanix infra logic flake";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs = { self, nixpkgs }:
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
data = import ./meta.nix;
metanix = import ./lib/metanix.nix { inherit data; lib = pkgs.lib; };
in
{
# You get a devShell so you can :repl in peace
devShells.${system}.default = pkgs.mkShell {
buildInputs = [ pkgs.nix pkgs.git ];
};
# Simple command to dump the system index to stdout
apps.${system}.print-index = {
type = "app";
program = pkgs.writeShellScript "print-index" ''
nix eval --impure --expr '
let
data = import ./meta.nix;
lib = import ${nixpkgs}/lib;
metanix = import ./lib/metanix.nix { inherit data lib; };
in
builtins.toJSON metanix.buildSystemIndex
'
'';
};
# Or expose it as a Nix eval-friendly output
packages.${system}.default = pkgs.writeText "system-index.json"
(builtins.toJSON metanix.buildSystemIndex);
};
}