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.atproto-basic-notifications.nixosModules.default
36 inputs.copyparty.nixosModules.default
37 inputs.disko.nixosModules.disko
38 inputs.home-manager.nixosModules.home-manager
39 inputs.lanzaboote.nixosModules.lanzaboote
40 inputs.tangled-core.nixosModules.knot
41 inputs.tgirlpkgs.nixosModules.default
42 modules.hardware
43 modules.nixos
44 modules.snippets
45 modules.users
46
47 {
48 home-manager = {
49 useGlobalPkgs = true;
50 useUserPackages = true;
51 extraSpecialArgs = {inherit inputs self;};
52 backupFileExtension = "backup";
53 };
54
55 nixpkgs = {
56 overlays = [
57 self.inputs.nur.overlays.default
58 self.inputs.copyparty.overlays.default
59 self.inputs.aylapkgs.overlays.default
60 ];
61 config.allowUnfree = true;
62 };
63 }
64 ];
65 specialArgs = {inherit self;};
66 }
67 );
68 };
69}