{ inputs = { nixpkgs = { type = "github"; owner = "NixOS"; repo = "nixpkgs"; ref = "nixos-25.05"; }; }; outputs = { self, nixpkgs, ... }@attrs: let supportedSystems = [ "aarch64-linux" "x86_64-linux" ]; forAllPkgs = f: nixpkgs.lib.genAttrs supportedSystems (system: f (import nixpkgs { inherit system; })); in { nixosModules.default = { ... }: { imports = [ ./options.nix ./services/common/database.nix ./services/documents.nix ./services/mattermost.nix ./services/frontend/common.nix ./services/frontend/haproxy.nix ./services/frontend/web-server.nix ./wrappers/haproxy.nix ]; }; packages = forAllPkgs (pkgs: { documentation = pkgs.stdenv.mkDerivation rec { name = "smalltech-documentation"; version = "1.0"; src = ./.; nativeBuildInputs = with pkgs; [ mkdocs ]; buildPhase = '' ls -al ${pkgs.mkdocs}/bin/mkdocs build -f docs/mkdocs.yml ''; installPhase = '' rm $out/mkdocs.yml ''; }; }); devShells = forAllPkgs (pkgs: { default = pkgs.mkShell { buildInputs = with pkgs; [ mkdocs ]; }; }); }; }