forked from Open-TEE/Open-TEE
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
116 lines (114 loc) · 3.89 KB
/
flake.nix
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# SPDX-FileCopyrightText: 2023 Technology Innovation Institute (TII)
#
# SPDX-License-Identifier: Apache-2.0
{
description = "Open-TEE - GP emulator";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
flake-root.url = "github:srid/flake-root";
treefmt-nix = {
url = "github:numtide/treefmt-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
# For preserving compatibility with non-Flake users
flake-compat = {
url = "github:nix-community/flake-compat";
flake = false;
};
};
outputs = inputs @ {flake-parts, ...}:
flake-parts.lib.mkFlake
{
inherit inputs;
} {
systems = [
"x86_64-linux"
#"aarch64-linux"
];
imports = [
./nix
];
};
}
# let
# # to work with older version of flakes
# lastModifiedDate = self.lastModifiedDate or self.lastModified or "19700101";
# # Generate a user-friendly version number.
# version = builtins.substring 0 8 lastModifiedDate;
# # System types to support.
# supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
# # Helper function to generate an attrset '{ x86_64-linux = f "x86_64-linux"; ... }'.
# forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
# # Nixpkgs instantiated for supported system types.
# nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; overlays = [ self.overlay ]; });
# in
# {
# # A Nixpkgs overlay.
# overlay = final: prev: {
# hello = with final; stdenv.mkDerivation rec {
# pname = "hello";
# inherit version;
# src = ./.;
# nativeBuildInputs = [ autoreconfHook ];
# };
# };
# # Provide some binary packages for selected system types.
# packages = forAllSystems (system:
# {
# inherit (nixpkgsFor.${system}) hello;
# });
# # The default package for 'nix build'. This makes sense if the
# # flake provides only one package or there is a clear "main"
# # package.
# defaultPackage = forAllSystems (system: self.packages.${system}.hello);
# # A NixOS module, if applicable (e.g. if the package provides a system service).
# nixosModules.hello =
# { pkgs, ... }:
# {
# nixpkgs.overlays = [ self.overlay ];
# environment.systemPackages = [ pkgs.hello ];
# #systemd.services = { ... };
# };
# # Tests run by 'nix flake check' and by Hydra.
# checks = forAllSystems
# (system:
# with nixpkgsFor.${system};
# {
# inherit (self.packages.${system}) hello;
# # Additional tests, if applicable.
# test = stdenv.mkDerivation {
# pname = "hello-test";
# inherit version;
# buildInputs = [ hello ];
# dontUnpack = true;
# buildPhase = ''
# echo 'running some integration tests'
# [[ $(hello) = 'Hello Nixers!' ]]
# '';
# installPhase = "mkdir -p $out";
# };
# }
# // lib.optionalAttrs stdenv.isLinux {
# # A VM test of the NixOS module.
# vmTest =
# with import (nixpkgs + "/nixos/lib/testing-python.nix") {
# inherit system;
# };
# makeTest {
# nodes = {
# client = { ... }: {
# imports = [ self.nixosModules.hello ];
# };
# };
# testScript =
# ''
# start_all()
# client.wait_for_unit("multi-user.target")
# client.succeed("hello")
# '';
# };
# }
# );
# };
# }