2022-03-16 16:04:22 +01:00
|
|
|
{
|
2023-07-04 16:28:26 +02:00
|
|
|
config,
|
2022-03-16 16:04:22 +01:00
|
|
|
pkgs,
|
|
|
|
|
...
|
|
|
|
|
}: let
|
2024-07-07 14:03:52 +02:00
|
|
|
inherit (import ../../lib) retiolumAddresses restic;
|
2022-03-16 16:04:22 +01:00
|
|
|
in {
|
|
|
|
|
imports = [
|
|
|
|
|
./hardware-configuration.nix
|
2024-07-07 14:03:52 +02:00
|
|
|
./home-assistant.nix
|
|
|
|
|
./backup.nix
|
|
|
|
|
./atuin.nix
|
2023-02-22 10:02:55 +01:00
|
|
|
../../configs/spacetime.nix
|
|
|
|
|
../../configs/sshd.nix
|
2024-07-07 14:03:52 +02:00
|
|
|
../../configs/printing.nix
|
|
|
|
|
../../configs/monitoring.nix
|
|
|
|
|
../../configs/tmux.nix
|
2023-02-22 10:02:55 +01:00
|
|
|
../../configs/retiolum.nix
|
|
|
|
|
../../configs/nix.nix
|
2024-01-09 08:00:33 +01:00
|
|
|
../../configs/admin-essentials.nix
|
2024-07-07 14:03:52 +02:00
|
|
|
../../configs/wpa_supplicant.nix
|
2022-03-16 16:04:22 +01:00
|
|
|
];
|
|
|
|
|
|
2023-02-22 10:02:55 +01:00
|
|
|
age.secrets = {
|
2023-02-28 16:45:20 +01:00
|
|
|
retiolum-rsa = {
|
2023-07-04 16:28:26 +02:00
|
|
|
file = ../../secrets/tahina-retiolum-privateKey-rsa.age;
|
2023-02-28 16:45:20 +01:00
|
|
|
mode = "400";
|
2024-06-03 07:27:01 +02:00
|
|
|
owner = "tinc-retiolum";
|
|
|
|
|
group = "tinc-retiolum";
|
2023-02-28 16:45:20 +01:00
|
|
|
};
|
|
|
|
|
retiolum-ed25519 = {
|
2023-07-04 16:28:26 +02:00
|
|
|
file = ../../secrets/tahina-retiolum-privateKey-ed25519.age;
|
2023-02-28 16:45:20 +01:00
|
|
|
mode = "400";
|
2024-06-03 07:27:01 +02:00
|
|
|
owner = "tinc-retiolum";
|
|
|
|
|
group = "tinc-retiolum";
|
2023-02-28 16:45:20 +01:00
|
|
|
};
|
2024-07-07 14:03:52 +02:00
|
|
|
restic = {
|
|
|
|
|
file = ../../secrets/restic.age;
|
|
|
|
|
mode = "400";
|
|
|
|
|
owner = "restic";
|
|
|
|
|
group = "restic";
|
|
|
|
|
};
|
2023-02-22 10:02:55 +01:00
|
|
|
};
|
2022-03-29 09:54:56 +02:00
|
|
|
|
2024-07-07 14:03:52 +02:00
|
|
|
services.restic.backups.niveum = {
|
|
|
|
|
initialize = true;
|
|
|
|
|
inherit (restic) repository;
|
|
|
|
|
timerConfig = {
|
|
|
|
|
OnCalendar = "daily";
|
|
|
|
|
RandomizedDelaySec = "1h";
|
|
|
|
|
};
|
|
|
|
|
passwordFile = config.age.secrets.restic.path;
|
|
|
|
|
paths = [
|
|
|
|
|
"/var/lib/moodle-dl"
|
|
|
|
|
"/var/lib/containers/storage/volumes/home-assistant"
|
|
|
|
|
config.services.postgresqlBackup.location
|
|
|
|
|
];
|
2022-03-29 00:21:16 +02:00
|
|
|
};
|
|
|
|
|
|
2024-07-07 14:03:52 +02:00
|
|
|
services.logind = {
|
|
|
|
|
lidSwitch = "ignore";
|
|
|
|
|
lidSwitchDocked = "ignore";
|
|
|
|
|
lidSwitchExternalPower = "ignore";
|
|
|
|
|
suspendKey = "ignore";
|
|
|
|
|
suspendKeyLongPress = "ignore";
|
|
|
|
|
hibernateKey = "ignore";
|
|
|
|
|
hibernateKeyLongPress = "ignore";
|
2022-03-29 00:21:16 +02:00
|
|
|
};
|
|
|
|
|
|
2024-07-07 14:03:52 +02:00
|
|
|
services.illum.enable = true;
|
2022-03-16 16:04:22 +01:00
|
|
|
|
|
|
|
|
networking = {
|
2022-03-29 00:21:16 +02:00
|
|
|
useDHCP = false;
|
|
|
|
|
interfaces = {
|
|
|
|
|
enp0s25.useDHCP = true;
|
|
|
|
|
wlo1.useDHCP = true;
|
|
|
|
|
};
|
2022-03-16 16:04:22 +01:00
|
|
|
retiolum = retiolumAddresses.tahina;
|
2022-03-29 00:21:16 +02:00
|
|
|
hostName = "tahina";
|
2022-03-16 16:04:22 +01:00
|
|
|
};
|
|
|
|
|
|
2022-03-29 00:21:16 +02:00
|
|
|
system.stateVersion = "21.11";
|
2022-03-16 16:04:22 +01:00
|
|
|
}
|