1{
2 self,
3 inputs,
4 ...
5}: {
6 flake = {
7 diskoConfigurations = {
8 btrfs-subvolumes = ../disko/btrfs-subvolumes;
9 luks-btrfs-subvolumes = ../disko/luks-btrfs-subvolumes;
10 lvm-ext4 = ../disko/lvm-ext4;
11 btrfs-vps = ../disko/btrfs-vps;
12 };
13
14 nixosModules = {
15 hardware = ../hardware;
16 locale-en-gb = ../locale/en-gb;
17 nixos = ../nixos;
18 snippets = ../snippets;
19 users = ../users;
20 };
21
22 nixosConfigurations = let
23 modules = self.nixosModules;
24 in
25 inputs.nixpkgs.lib.genAttrs [
26 "morgana"
27 "nanpi"
28 "jezebel"
29 ] (
30 host:
31 inputs.nixpkgs.lib.nixosSystem {
32 modules = [
33 ../../hosts/${host}
34 inputs.agenix.nixosModules.default
35 inputs.copyparty.nixosModules.default
36 inputs.disko.nixosModules.disko
37 inputs.home-manager.nixosModules.home-manager
38 inputs.lanzaboote.nixosModules.lanzaboote
39 inputs.tangled-core.nixosModules.knot
40 modules.hardware
41 modules.nixos
42 modules.snippets
43 modules.users
44
45 {
46 home-manager = {
47 useGlobalPkgs = true;
48 useUserPackages = true;
49 extraSpecialArgs = {inherit inputs self;};
50 backupFileExtension = "backup";
51 };
52
53 nixpkgs = {
54 overlays = [
55 self.inputs.nur.overlays.default
56 self.inputs.copyparty.overlays.default
57 ];
58 config.allowUnfree = true;
59 };
60 }
61 ];
62 specialArgs = {inherit self;};
63 }
64 );
65 };
66}