-
Notifications
You must be signed in to change notification settings - Fork 0
/
flake.nix
82 lines (68 loc) · 2.09 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
{
description = "A very basic flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.05";
agenix.url = "github:ryantm/agenix";
lanzaboote = {
url = "github:nix-community/lanzaboote/v0.4.1";
inputs.nixpkgs.follows = "nixpkgs";
};
NixOS-WSL = {
url = "github:nix-community/NixOS-WSL";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, nixpkgs-stable, agenix, lanzaboote, NixOS-WSL, ... } @ inputs:
let
inherit (self) outputs;
in
rec {
inherit nixpkgs;
inherit nixpkgs-stable;
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt;
overlays.default = final: prev: (import ./overlays inputs) final prev;
# Tower
nixosConfigurations."zeus" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit outputs; };
modules = [
lanzaboote.nixosModules.lanzaboote
./machines/all
./machines/zeus/configuration.nix
];
};
# Laptop
nixosConfigurations."prometheus" = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = { inherit outputs; };
modules = [
lanzaboote.nixosModules.lanzaboote
./machines/all
./machines/prometheus/configuration.nix
{
environment.systemPackages = [ agenix.packages."x86_64-linux".default ];
}
];
};
# WSL
nixosConfigurations."morpheus" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit outputs; };
modules = [
NixOS-WSL.nixosModules.wsl
./machines/all
./machines/wsl/configuration.nix
];
};
# NUC
nixosConfigurations."nuc" = nixpkgs-stable.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = { inherit outputs; };
modules = [
./machines/all
./machines/nuc/configuration.nix
];
};
};
}