nt/flake.nix

60 lines
1.3 KiB
Nix
Raw Normal View History

2025-11-01 13:20:13 +10:00
{
2026-01-24 19:01:29 +10:00
description = "NixTypes (nt)";
2025-11-01 13:20:13 +10:00
2026-01-27 17:51:17 +10:00
inputs = {
systems.url = "github:nix-systems/default";
# NOTE: nixpkgs is only used in devshells
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
# NOTE: nix-unit is only used in checks
nix-unit = {
url = "github:nix-community/nix-unit";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
systems,
nixpkgs,
nix-unit,
}: let
# TODO: implement mix.extend and mix.isolate
inherit
(mix)
extend
# isolate
newMixture
;
# inputs accessible to all modules
2026-01-28 10:40:50 +10:00
inputs = {
2026-01-27 17:51:17 +10:00
inherit mix;
flake = self;
# XXX: TODO: implement mix.extend instead of this
deps = {
inherit nixpkgs nix-unit;
systems = import systems;
};
2026-01-27 17:51:17 +10:00
};
# flake dependencies
# NOTE: the NixTypes library has no dependencies
# NOTE: but the developer tooling (for me) does
deps = {
inherit systems nixpkgs nix-unit;
};
2026-01-25 13:08:05 +10:00
bootstrap = import ./nt/primitives/bootstrap;
2026-01-28 10:40:50 +10:00
mix = import ./nt/mix/bootstrap.nix {this = bootstrap;};
2026-01-24 23:27:10 +10:00
in
2026-01-28 10:40:50 +10:00
newMixture inputs (mixture: {
2026-01-27 17:51:17 +10:00
includes.public = [
# XXX: TODO: implement mix.extend
# (extend ./flake deps)
./flake
2026-01-27 17:51:17 +10:00
./nt
];
});
2025-11-01 13:20:13 +10:00
}