nixos/flake.nix
agent e7bf1acd93 Use the panel from its own flake (reudy-net/panel)
The panel's code moved to git.reudy.net/reudy-net/panel, which provides a
package and a NixOS module. This config now pulls it in as the `panel`
flake input and only sets services.reudy-panel options, so panel updates
are `nix flake update panel` instead of edits in this repo.

The input uses ssh because the reudy-net org is not visible anonymously.
The generated service, directories, Caddy vhost, routes import and reload
units are unchanged apart from store paths.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UbWSNkXxZhYf7eqHTyx3Bf
2026-09-27 17:56:01 +00:00

61 lines
1.4 KiB
Nix

{
description = "vpsAdminOS container";
inputs = {
vpsadminos.url = "github:vpsfreecz/vpsadminos";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.darwin.follows = "";
};
# The deployment panel (panel.reudy.net), packaged in its own repository.
panel = {
url = "git+ssh://git@git.reudy.net:14922/reudy-net/panel?ref=main";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs@{
nixpkgs,
vpsadminos,
agenix,
panel,
...
}:
let
system = "x86_64-linux";
lib = nixpkgs.lib;
in
{
nixosConfigurations.vps = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
{ nixpkgs.overlays = [ agenix.overlays.default ]; }
vpsadminos.nixosModules.container_25_11
./configuration.nix
panel.nixosModules.default
./panel.nix
./caddy.nix
./authelia.nix
./nextcloud.nix
./forgejo.nix
./containers/hello.nix
agenix.nixosModules.default
{
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [ "rns" ];
}
./reticulum.nix
];
specialArgs = {
inherit inputs;
};
};
};
}