ops-jrz1/hosts/ops-jrz1.nix
Dan ab5aebb161 Phase 3: Extract and sanitize Matrix platform modules from ops-base
Extracted modules:
- Matrix homeserver (matrix-continuwuity.nix)
- mautrix bridges (slack, whatsapp, gmessages)
- Security modules (fail2ban, ssh-hardening)
- Development services module
- Matrix secrets module

All modules sanitized to remove personal information:
- Domains: example.com, matrix.example.org
- IPs: 10.0.0.x, 203.0.113.10
- Paths: /home/user, /path/to/ops-base
- Emails: admin@example.com

Configuration:
- Updated flake.nix with sops-nix and nixpkgs-unstable
- Updated hosts/ops-jrz1.nix to import all extracted modules
- Added example files (secrets, minimal config)
- Generated flake.lock

Generated with Claude Code - https://claude.com/claude-code
2025-10-13 14:51:14 -07:00

52 lines
1.3 KiB
Nix

{ config, pkgs, pkgs-unstable, ... }:
{
# ops-jrz1 dev/test server configuration
# Imports extracted Matrix modules from ops-base
imports = [
# Hardware configuration will be added based on server specs
# ./hardware-configuration.nix
# Matrix platform modules
../modules/matrix-continuwuity.nix
../modules/mautrix-slack.nix
../modules/mautrix-whatsapp.nix
../modules/mautrix-gmessages.nix
../modules/dev-services.nix
../modules/security/fail2ban.nix
../modules/security/ssh-hardening.nix
../modules/matrix-secrets
];
# System configuration
networking.hostName = "ops-jrz1";
# Example Matrix homeserver configuration (disabled by default)
# Uncomment and configure for actual deployment:
# services.matrix-homeserver = {
# enable = true;
# domain = "matrix.example.org";
# port = 8008;
# enableRegistration = true;
# enableFederation = false;
# };
# Example mautrix-slack bridge configuration (disabled by default)
# services.mautrix-slack = {
# enable = true;
# matrix = {
# homeserverUrl = "http://127.0.0.1:8008";
# serverName = "matrix.example.org";
# };
# bridge = {
# permissions = {
# "matrix.example.org" = "user";
# "@admin:matrix.example.org" = "admin";
# };
# };
# };
system.stateVersion = "24.05";
}