diff --git a/lib/default.nix b/lib/default.nix new file mode 100644 index 00000000..8f2d642d --- /dev/null +++ b/lib/default.nix @@ -0,0 +1,29 @@ +{ inputs, outputs, stateVersion, ... }: { + # Helper function for generating home-manager configs + mkHome = { hostname, username, desktop ? null, platform ? "x86_64-linux" }: inputs.home-manager.lib.homeManagerConfiguration { + pkgs = inputs.nixpkgs.legacyPackages.${platform}; + extraSpecialArgs = { + inherit inputs outputs desktop hostname platform username stateVersion; + }; + modules = [ ../home-manager ]; + }; + + # Helper function for generating host configs + mkHost = { hostname, username, desktop ? null, installer ? null }: inputs.nixpkgs.lib.nixosSystem { + specialArgs = { + inherit inputs outputs desktop hostname username stateVersion; + }; + modules = [ + ../nixos + inputs.agenix.nixosModules.default + ] ++ (inputs.nixpkgs.lib.optionals (installer != null) [ installer ]); + }; + + forAllSystems = inputs.nixpkgs.lib.genAttrs [ + "aarch64-linux" + "i686-linux" + "x86_64-linux" + "aarch64-darwin" + "x86_64-darwin" + ]; +} \ No newline at end of file