{ description = "Small web panel for deploying Podman compose apps behind Caddy"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; outputs = { self, nixpkgs }: let systems = [ "x86_64-linux" "aarch64-linux" ]; forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f nixpkgs.legacyPackages.${system}); in { packages = forAllSystems (pkgs: rec { reudy-panel = pkgs.callPackage ./nix/package.nix { }; default = reudy-panel; }); overlays.default = final: _prev: { reudy-panel = final.callPackage ./nix/package.nix { }; }; nixosModules = rec { reudy-panel = ./nix/module.nix; default = reudy-panel; }; checks = forAllSystems (pkgs: { package = self.packages.${pkgs.stdenv.hostPlatform.system}.default; # Evaluates a small host using the module, so option or wiring mistakes # fail here rather than on the server. module = (nixpkgs.lib.nixosSystem { system = pkgs.stdenv.hostPlatform.system; modules = [ self.nixosModules.default { boot.isContainer = true; system.stateVersion = "25.11"; users.users.reudy.isNormalUser = true; services.caddy.enable = true; services.forgejo.enable = true; services.reudy-panel = { enable = true; domain = "panel.example.com"; autheliaAddress = "127.0.0.1:9091"; }; } ]; }).config.system.build.toplevel; }); formatter = forAllSystems (pkgs: pkgs.nixfmt-rfc-style); }; }