aboutsummaryrefslogtreecommitdiff
path: root/systems
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2024-10-30 10:26:09 +0100
committerIsmaël Bouya <ismael.bouya@normalesup.org>2025-03-14 00:55:50 +0100
commitf1d05e52d9c52b9e9ecb0e76d81e2c0e4645dd9c (patch)
tree4e8ad2b999e7c9fbadcffe5047a7ed383ae27364 /systems
parent3695009c683596c1e8edd05fa68777de9eaa4c7f (diff)
downloadNix-f1d05e52d9c52b9e9ecb0e76d81e2c0e4645dd9c.tar.gz
Nix-f1d05e52d9c52b9e9ecb0e76d81e2c0e4645dd9c.tar.zst
Nix-f1d05e52d9c52b9e9ecb0e76d81e2c0e4645dd9c.zip
Configure borg backup for zoldene
Diffstat (limited to 'systems')
-rw-r--r--systems/backup-2/base.nix1
-rw-r--r--systems/backup-2/flake.lock2
-rw-r--r--systems/eldiron/flake.lock2
-rw-r--r--systems/zoldene/base.nix3
-rw-r--r--systems/zoldene/flake.lock43
-rw-r--r--systems/zoldene/flake.nix2
-rw-r--r--systems/zoldene/virtualisation.nix18
7 files changed, 67 insertions, 4 deletions
diff --git a/systems/backup-2/base.nix b/systems/backup-2/base.nix
index 61eecc9..cdaebd3 100644
--- a/systems/backup-2/base.nix
+++ b/systems/backup-2/base.nix
@@ -93,6 +93,7 @@
93 }; 93 };
94 94
95 services.borgBackup.enable = true; 95 services.borgBackup.enable = true;
96 services.borgBackup.cronSpec = "30 3 * * *";
96 97
97 services.rsyncBackup = { 98 services.rsyncBackup = {
98 mountpoint = "/backup2"; 99 mountpoint = "/backup2";
diff --git a/systems/backup-2/flake.lock b/systems/backup-2/flake.lock
index 83e1cad..c2a087b 100644
--- a/systems/backup-2/flake.lock
+++ b/systems/backup-2/flake.lock
@@ -23,7 +23,7 @@
23 }, 23 },
24 "locked": { 24 "locked": {
25 "lastModified": 1, 25 "lastModified": 1,
26 "narHash": "sha256-8fef5NmMlX9+iOpw1/qXEtJ6cAWFvV/SO6YJs1e3D4U=", 26 "narHash": "sha256-Kt/2cr2zTi341YxLHDQAc5aYfEyuoVLpZQ9pJFDjwrc=",
27 "path": "../../flakes/private/borg_backup", 27 "path": "../../flakes/private/borg_backup",
28 "type": "path" 28 "type": "path"
29 }, 29 },
diff --git a/systems/eldiron/flake.lock b/systems/eldiron/flake.lock
index bb961b0..8392aa7 100644
--- a/systems/eldiron/flake.lock
+++ b/systems/eldiron/flake.lock
@@ -1985,7 +1985,7 @@
1985 }, 1985 },
1986 "locked": { 1986 "locked": {
1987 "lastModified": 1, 1987 "lastModified": 1,
1988 "narHash": "sha256-8fef5NmMlX9+iOpw1/qXEtJ6cAWFvV/SO6YJs1e3D4U=", 1988 "narHash": "sha256-Kt/2cr2zTi341YxLHDQAc5aYfEyuoVLpZQ9pJFDjwrc=",
1989 "path": "../../flakes/private/borg_backup", 1989 "path": "../../flakes/private/borg_backup",
1990 "type": "path" 1990 "type": "path"
1991 }, 1991 },
diff --git a/systems/zoldene/base.nix b/systems/zoldene/base.nix
index 947859a..187eb11 100644
--- a/systems/zoldene/base.nix
+++ b/systems/zoldene/base.nix
@@ -16,6 +16,9 @@ in
16 ./synapse.nix 16 ./synapse.nix
17 ]; 17 ];
18 18
19 services.borgBackup.enable = true;
20 services.borgBackup.cronSpec = "0 20 * * *";
21
19 programs.ssh.package = pkgs.openssh; 22 programs.ssh.package = pkgs.openssh;
20 services.openssh = { 23 services.openssh = {
21 settings.KbdInteractiveAuthentication = false; 24 settings.KbdInteractiveAuthentication = false;
diff --git a/systems/zoldene/flake.lock b/systems/zoldene/flake.lock
index e8389c6..bd8fc48 100644
--- a/systems/zoldene/flake.lock
+++ b/systems/zoldene/flake.lock
@@ -68,6 +68,18 @@
68 "type": "path" 68 "type": "path"
69 } 69 }
70 }, 70 },
71 "environment_2": {
72 "locked": {
73 "lastModified": 1,
74 "narHash": "sha256-PQ5694ARRlpj00lk/C/T0UPGhPO+n0TEcLR1mde0s8M=",
75 "path": "../environment",
76 "type": "path"
77 },
78 "original": {
79 "path": "../environment",
80 "type": "path"
81 }
82 },
71 "flake-compat": { 83 "flake-compat": {
72 "flake": false, 84 "flake": false,
73 "locked": { 85 "locked": {
@@ -433,6 +445,22 @@
433 "type": "github" 445 "type": "github"
434 } 446 }
435 }, 447 },
448 "private-borg-backup": {
449 "inputs": {
450 "environment": "environment",
451 "secrets": "secrets"
452 },
453 "locked": {
454 "lastModified": 1,
455 "narHash": "sha256-Kt/2cr2zTi341YxLHDQAc5aYfEyuoVLpZQ9pJFDjwrc=",
456 "path": "../../flakes/private/borg_backup",
457 "type": "path"
458 },
459 "original": {
460 "path": "../../flakes/private/borg_backup",
461 "type": "path"
462 }
463 },
436 "private-environment": { 464 "private-environment": {
437 "locked": { 465 "locked": {
438 "lastModified": 1, 466 "lastModified": 1,
@@ -448,7 +476,7 @@
448 "private-system": { 476 "private-system": {
449 "inputs": { 477 "inputs": {
450 "backports": "backports", 478 "backports": "backports",
451 "environment": "environment", 479 "environment": "environment_2",
452 "mypackages": "mypackages", 480 "mypackages": "mypackages",
453 "myuids": "myuids", 481 "myuids": "myuids",
454 "secrets-public": "secrets-public" 482 "secrets-public": "secrets-public"
@@ -481,11 +509,24 @@
481 "impermanence": "impermanence", 509 "impermanence": "impermanence",
482 "my-lib": "my-lib", 510 "my-lib": "my-lib",
483 "nixpkgs": "nixpkgs_5", 511 "nixpkgs": "nixpkgs_5",
512 "private-borg-backup": "private-borg-backup",
484 "private-environment": "private-environment", 513 "private-environment": "private-environment",
485 "private-system": "private-system", 514 "private-system": "private-system",
486 "public-secrets": "public-secrets" 515 "public-secrets": "public-secrets"
487 } 516 }
488 }, 517 },
518 "secrets": {
519 "locked": {
520 "lastModified": 1,
521 "narHash": "sha256-5AakznhrJFmwCD7lr4JEh55MtdAJL6WA/YuBks6ISSE=",
522 "path": "../../secrets",
523 "type": "path"
524 },
525 "original": {
526 "path": "../../secrets",
527 "type": "path"
528 }
529 },
489 "secrets-public": { 530 "secrets-public": {
490 "locked": { 531 "locked": {
491 "lastModified": 1, 532 "lastModified": 1,
diff --git a/systems/zoldene/flake.nix b/systems/zoldene/flake.nix
index 7b7b4b7..52db1c4 100644
--- a/systems/zoldene/flake.nix
+++ b/systems/zoldene/flake.nix
@@ -6,6 +6,7 @@
6 public-secrets.url = "path:../../flakes/secrets"; 6 public-secrets.url = "path:../../flakes/secrets";
7 private-environment.url = "path:../../flakes/private/environment"; 7 private-environment.url = "path:../../flakes/private/environment";
8 private-system.url = "path:../../flakes/private/system"; 8 private-system.url = "path:../../flakes/private/system";
9 private-borg-backup.url = "path:../../flakes/private/borg_backup";
9 }; 10 };
10 outputs = inputs@{ self, nixpkgs, my-lib, ... }: 11 outputs = inputs@{ self, nixpkgs, my-lib, ... }:
11 my-lib.lib.mkColmenaFlake { 12 my-lib.lib.mkColmenaFlake {
@@ -25,6 +26,7 @@
25 26
26 secrets = public-secrets.nixosModule; 27 secrets = public-secrets.nixosModule;
27 28
29 borg-backup = private-borg-backup.nixosModule;
28 environment = private-environment.nixosModule; 30 environment = private-environment.nixosModule;
29 system = private-system.nixosModule; 31 system = private-system.nixosModule;
30 }; 32 };
diff --git a/systems/zoldene/virtualisation.nix b/systems/zoldene/virtualisation.nix
index d2212fe..424f43f 100644
--- a/systems/zoldene/virtualisation.nix
+++ b/systems/zoldene/virtualisation.nix
@@ -6,6 +6,14 @@
6 virtualisation.docker.enable = true; 6 virtualisation.docker.enable = true;
7 disko.devices.zpool.zfast.datasets."root/persist/var/lib/docker" = 7 disko.devices.zpool.zfast.datasets."root/persist/var/lib/docker" =
8 { type = "zfs_fs"; mountpoint = "/persist/zfast/var/lib/docker"; options.mountpoint = "legacy"; }; 8 { type = "zfs_fs"; mountpoint = "/persist/zfast/var/lib/docker"; options.mountpoint = "legacy"; };
9 systemd.services.docker.after = [
10 "var-lib-docker.mount"
11 "persist-zfast-var-lib-docker.mount"
12 ];
13 systemd.services.docker.unitConfig.BindsTo = [
14 "var-lib-docker.mount"
15 "persist-zfast-var-lib-docker.mount"
16 ];
9 17
10 ### Enable LXC 18 ### Enable LXC
11 disko.devices.zpool.zfast.datasets."root/persist/var/lib/lxc" = 19 disko.devices.zpool.zfast.datasets."root/persist/var/lib/lxc" =
@@ -14,12 +22,21 @@
14 enable = true; 22 enable = true;
15 lxcfs.enable = true; 23 lxcfs.enable = true;
16 }; 24 };
25 systemd.services.lxc.after = [
26 "var-lib-lxc.mount"
27 "persist-zfast-var-lib-lxc.mount"
28 ];
29 systemd.services.lxc.unitConfig.BindsTo = [
30 "var-lib-lxc.mount"
31 "persist-zfast-var-lib-lxc.mount"
32 ];
17 33
18 ### Enable libvirtd 34 ### Enable libvirtd
19 virtualisation.libvirtd = { 35 virtualisation.libvirtd = {
20 enable = true; 36 enable = true;
21 qemu.package = pkgs-no-overlay.qemu; 37 qemu.package = pkgs-no-overlay.qemu;
22 }; 38 };
39 # No persistence for libvirtd: config is supposed to be persisted via config
23 40
24 ### Persistence for LXC / Docker 41 ### Persistence for LXC / Docker
25 environment.persistence."/persist/zfast".directories = [ 42 environment.persistence."/persist/zfast".directories = [
@@ -43,4 +60,3 @@
43 "net.ipv4.conf.default.forwarding" = true; 60 "net.ipv4.conf.default.forwarding" = true;
44 }; 61 };
45} 62}
46