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-ca = ../locale/en-ca;
17 locale-en-gb = ../locale/en-gb;
18 nixos = ../nixos;
19 snippets = ../snippets;
20 users = ../users;
21 };
22
23 nixosConfigurations = let
24 modules = self.nixosModules;
25 in
26 inputs.nixpkgs.lib.genAttrs [
27 "morgana"
28 "nanpi"
29 "jezebel"
30 ] (
31 host:
32 inputs.nixpkgs.lib.nixosSystem {
33 modules = [
34 ../../hosts/${host}
35 inputs.agenix.nixosModules.default
36 inputs.atproto-basic-notifications.nixosModules.default
37 inputs.copyparty.nixosModules.default
38 inputs.disko.nixosModules.disko
39 inputs.home-manager.nixosModules.home-manager
40 inputs.lanzaboote.nixosModules.lanzaboote
41 inputs.tangled-core.nixosModules.knot
42 inputs.tgirlpkgs.nixosModules.default
43 inputs.chaotic.nixosModules.default
44 modules.hardware
45 modules.nixos
46 modules.snippets
47 modules.users
48
49 {
50 home-manager = {
51 useGlobalPkgs = true;
52 useUserPackages = true;
53 extraSpecialArgs = {inherit inputs self;};
54 backupFileExtension = "backup";
55 };
56
57 nixpkgs = {
58 overlays = [
59 self.inputs.nur.overlays.default
60 self.inputs.copyparty.overlays.default
61 self.inputs.aylapkgs.overlays.default
62 ];
63 config.allowUnfree = true;
64 };
65 }
66 ];
67 specialArgs = {inherit self;};
68 }
69 );
70 };
71}