puzzlevision/systems/x86_64-nixos/absolutesolver/default.nix

67 lines
1.6 KiB
Nix

{pkgs, ...}: {
imports = [
./hardware.nix
];
# Setup Sops
sops.age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
sops.age.generateKey = true;
puzzlevision = {
users.cyn = {
enable = true;
hashedPassword = "$6$mvK9bT756Aok54Vt$vBRnT66Vb3HL0Y5rEMJlHvKkvzVQ.KUciInTmW3FCBFT00IuFMpz3q9RhXPLTLMRPho65bTg9hMnFPb84I774.";
extraGroups = ["wheel" "docker"];
};
archetypes.server.enable = true;
services = {
traefik = {
enable = true;
sopsFile = ./secrets/traefik.env;
sopsFormat = "dotenv";
};
duckdns = {
enable = true;
sopsFile = ./secrets/duckdns.env;
sopsFormat = "dotenv";
};
vaultwarden = {
enable = true;
sopsFile = ./secrets/vaultwarden.env;
sopsFormat = "dotenv";
};
homepage = {
enable = true;
configDir = ./resources/homepage-config;
};
atticd = {
enable = true;
sopsFile = ./secrets/atticd.env;
sopsFormat = "dotenv";
};
};
};
services.cron = {
enable = true;
systemCronJobs = [
"*/5 * * * * cyn docker exec -u www-data nextcloud-nextcloud-1 php /var/www/html/cron.php"
"*/15 * * * * cyn docker exec -u www-data nextcloud-nextcloud-1 php /var/www/nextcloud/occ preview:pre-generate"
"* 3 * * * cyn cd /home/cyn/docker/compose/satisfactory && docker compose up -d --force-recreate"
];
};
environment.systemPackages = with pkgs; [
nano
];
networking.hostName = "absolutesolver";
system.stateVersion = "25.05";
}