2020-10-31 20:52:10 +01:00
|
|
|
{
|
2022-03-10 21:52:12 +01:00
|
|
|
config,
|
|
|
|
|
pkgs,
|
2023-07-04 16:28:26 +02:00
|
|
|
lib,
|
2022-03-10 21:52:12 +01:00
|
|
|
...
|
2025-12-25 14:00:03 +01:00
|
|
|
}:
|
|
|
|
|
{
|
2020-10-28 20:29:41 +01:00
|
|
|
imports = [
|
2022-01-18 21:29:30 +01:00
|
|
|
./backup.nix
|
2021-12-29 18:49:51 +01:00
|
|
|
./gaslight.nix
|
2020-10-28 20:29:41 +01:00
|
|
|
./hardware-configuration.nix
|
2022-03-10 22:59:43 +01:00
|
|
|
./home-assistant.nix
|
2023-02-22 10:02:55 +01:00
|
|
|
../../configs/printing.nix
|
2023-05-28 23:21:18 +02:00
|
|
|
../../configs/wpa_supplicant.nix
|
2020-10-28 20:29:41 +01:00
|
|
|
];
|
|
|
|
|
|
2024-01-08 14:55:38 +01:00
|
|
|
services.pipewire.systemWide = true;
|
|
|
|
|
|
2023-02-22 10:02:55 +01:00
|
|
|
age.secrets = {
|
2025-08-30 17:49:16 +02:00
|
|
|
wifi = {
|
|
|
|
|
file = ../../secrets/wifi.age;
|
|
|
|
|
};
|
2023-02-28 16:45:20 +01:00
|
|
|
retiolum-rsa = {
|
2023-07-04 16:28:26 +02:00
|
|
|
file = ../../secrets/zaatar-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/zaatar-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-04-04 22:20:52 +02:00
|
|
|
restic = {
|
|
|
|
|
file = ../../secrets/restic.age;
|
|
|
|
|
mode = "400";
|
|
|
|
|
owner = "restic";
|
|
|
|
|
group = "restic";
|
|
|
|
|
};
|
2023-02-22 10:02:55 +01:00
|
|
|
};
|
|
|
|
|
|
2023-07-12 12:28:45 +02:00
|
|
|
services.restic.backups.niveum = {
|
2022-01-19 09:38:36 +01:00
|
|
|
initialize = true;
|
2025-12-25 14:00:03 +01:00
|
|
|
repository = pkgs.lib.niveum.restic.repository;
|
2022-03-10 21:52:12 +01:00
|
|
|
timerConfig = {
|
|
|
|
|
OnCalendar = "daily";
|
|
|
|
|
RandomizedDelaySec = "1h";
|
|
|
|
|
};
|
2023-02-22 10:02:55 +01:00
|
|
|
passwordFile = config.age.secrets.restic.path;
|
2022-01-19 09:38:36 +01:00
|
|
|
paths = [
|
|
|
|
|
"/var/lib/moodle-dl"
|
2022-03-10 23:11:36 +01:00
|
|
|
"/var/lib/containers/storage/volumes/home-assistant"
|
2022-12-03 08:51:11 +01:00
|
|
|
config.services.postgresqlBackup.location
|
2022-01-19 09:38:36 +01:00
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
|
2025-12-22 08:49:53 +01:00
|
|
|
services.logind.settings.Login.HandleLidSwitchDocked = "ignore";
|
|
|
|
|
services.logind.settings.Login.HandleLidSwitchExternalPower = "ignore";
|
|
|
|
|
services.logind.settings.Login.HandleLidSwitch = "ignore";
|
2019-06-17 19:11:31 +02:00
|
|
|
|
2020-10-28 20:29:41 +01:00
|
|
|
services.illum.enable = true;
|
|
|
|
|
|
2025-12-25 14:00:03 +01:00
|
|
|
environment.systemPackages =
|
|
|
|
|
let
|
|
|
|
|
worldradio = pkgs.callPackage ../../packages/worldradio.nix { };
|
|
|
|
|
in
|
|
|
|
|
[
|
|
|
|
|
(pkgs.writers.writeDashBin "mpv" ''${pkgs.mpv}/bin/mpv --no-video "$@"'')
|
|
|
|
|
(pkgs.writers.writeDashBin "worldradio" ''
|
|
|
|
|
shuf ${worldradio} | ${pkgs.findutils}/bin/xargs ${pkgs.mpv}/bin/mpv --no-video
|
|
|
|
|
'')
|
|
|
|
|
pkgs.git
|
|
|
|
|
pkgs.vim
|
|
|
|
|
pkgs.htop
|
|
|
|
|
pkgs.ncmpcpp
|
|
|
|
|
pkgs.python3 # for sshuttle
|
|
|
|
|
];
|
2020-10-28 20:29:41 +01:00
|
|
|
|
2026-02-17 21:43:08 +01:00
|
|
|
users.users.root.extraGroups = [ "lp" "scanner" ];
|
|
|
|
|
|
2021-12-29 18:49:51 +01:00
|
|
|
networking = {
|
|
|
|
|
hostName = "zaatar";
|
2025-12-25 14:00:03 +01:00
|
|
|
wireless.interfaces = [ "wlp2s0" ];
|
|
|
|
|
retiolum = pkgs.lib.niveum.retiolumAddresses.zaatar;
|
2019-09-24 16:46:43 +02:00
|
|
|
};
|
|
|
|
|
|
2024-07-10 10:27:30 +02:00
|
|
|
system.stateVersion = "23.11";
|
2019-01-30 17:08:07 +01:00
|
|
|
}
|