infra/flake.nix
2025-11-22 15:54:03 +01:00

52 lines
1.3 KiB
Nix

{
description = "Matrix server for CCCB";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
agenix = {
url = "github:ryantm/agenix";
inputs = {
nixpkgs.follows = "nixpkgs";
};
};
};
outputs = {self, nixpkgs, agenix}:
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
in
{
formatter.${system} = pkgs.nixfmt-tree;
devShells.${system}.default = pkgs.mkShell {
packages = [
(agenix.packages.${system}.default)
pkgs.age
];
};
nixosConfigurtions."matrix" = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
agenix.nixosModules.default
{ environment.systemPackages = [(agenix.packages.${system}.default)]; }
{
age.secrets = {
pushover_app_token = {
file = ./secrets/pushover_app_token.age;
mode = "440";
owner = "root";
group = "root";
};
pushover_user_key = {
file = ./secrets/pushover_user_key.age;
mode = "440";
owner = "root";
group = "root";
};
};
}
./configuration.nix
./services/synapse.nix
];
};
};
}