-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflake.nix
More file actions
83 lines (76 loc) · 2.63 KB
/
Copy pathflake.nix
File metadata and controls
83 lines (76 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
{
description = "Hellas Node";
# The binary cache is opt-in for downstream users: nix prompts on first use
# (or accepts it with `--accept-flake-config`).
nixConfig = {
extra-substituters = [ "https://cache.hellas.ai" ];
extra-trusted-public-keys = [ "cache.hellas.ai-1:PYolh95U/Ms5fKE+NQTcNZUHyEv4QikaNocg9I9iy0g=" ];
};
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
rust-overlay.url = "github:oxalica/rust-overlay";
# Public, pinned HIP 7.15+ ROCm package set.
nix-strix-halo = {
url = "github:hellas-ai/nix-strix-halo/e24b2efcfaee1cefd326ff65ff7a955a908fd5ee";
};
};
outputs =
{
self,
nixpkgs,
rust-overlay,
nix-strix-halo,
}:
let
systems = [
"x86_64-linux"
"aarch64-linux"
"aarch64-darwin"
];
hydraSystems = [
"x86_64-linux"
"aarch64-linux"
];
forAllSystems = nixpkgs.lib.genAttrs systems;
forHydraSystems = nixpkgs.lib.genAttrs hydraSystems;
perSystem = forAllSystems (
system:
import ./nix {
inherit
self
system
nixpkgs
rust-overlay
;
}
);
in
{
packages = forAllSystems (system: perSystem.${system}.packages);
apps = forAllSystems (system: perSystem.${system}.apps);
devShells = forAllSystems (system: perSystem.${system}.devShells);
checks = forAllSystems (system: perSystem.${system}.checks);
nixosTests = forAllSystems (system: perSystem.${system}.nixosTests);
ci = forAllSystems (system: perSystem.${system}.ci);
hydraJobs = forHydraSystems (system: perSystem.${system}.hydraJobs);
# CI-only Windows cross build and on-Windows smoke test; see nix/default.nix.
windowsJobs.x86_64-linux = perSystem.x86_64-linux.windowsJobs;
formatter = forAllSystems (system: perSystem.${system}.formatter);
overlays.default = final: _prev: {
hellas = self.packages.${final.system};
hellasLib = import ./nix/lib {
pkgs = final;
inherit nix-strix-halo;
};
};
nixosModules = {
hellas = import ./nix/modules/nixos.nix { inherit self; };
validators = import ./nix/modules/validators.nix { inherit self; };
default = self.nixosModules.hellas;
};
darwinModules.hellas = import ./nix/modules/darwin.nix { inherit self; };
darwinModules.default = self.darwinModules.hellas;
homeManagerModules.hellas = import ./nix/modules/home-manager.nix { inherit self; };
homeManagerModules.default = self.homeManagerModules.hellas;
};
}