{ inputs, self, ... }: { imports = [inputs.easy-hosts.flakeModule]; config.easy-hosts = { shared.specialArgs.marleylib = import ../lib; ### Module Imports ### # TODO: Move module imports to custom module shared.modules = with inputs; [ lix.nixosModules.default agenix.nixosModules.default { home-manager.sharedModules = [ nixcord.homeModules.nixcord ]; } ]; perClass = class: { modules = ["${self}/modules/${class}/default.nix"]; # modules = with inputs; # (nixpkgs.lib.optionals (class == "nixos") [ # home-manager.nixosModules.home-manager # agenix.nixosModules.default # stylix.nixosModules.stylix # niri-flake.nixosModules.niri # ]) # ++ (nixpkgs.lib.optionals (class == "darwin") [ # home-manager.darwinModules.home-manager # agenix.darwinModules.default # stylix.darwinModules.stylix # ]); }; hosts = { ### Desktop ### nyx = { arch = "x86_64"; class = "nixos"; }; ### Macbook Air ### mairley = { arch = "aarch64"; class = "darwin"; nixpkgs = inputs.nixpkgs-darwin; }; ### Servers ### marleycentre = { arch = "x86_64"; class = "nixos"; }; marleynet = { arch = "x86_64"; class = "nixos"; }; }; }; }