aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2025-03-14 00:33:59 +0100
committerIsmaël Bouya <ismael.bouya@normalesup.org>2025-03-14 01:06:18 +0100
commit3556fca8370666371de613e6221d407bc553c902 (patch)
treebeb10e4ab40078295d2d45566e48b9aa6e86616a
parent70952c48b9895d587dd7f548e0bdb56d0a02818a (diff)
downloadNix-3556fca8370666371de613e6221d407bc553c902.tar.gz
Nix-3556fca8370666371de613e6221d407bc553c902.tar.zst
Nix-3556fca8370666371de613e6221d407bc553c902.zip
Zrepl config with raspi
-rw-r--r--deploy/flake.lock156
-rw-r--r--flake.lock156
-rw-r--r--flakes/flake.lock154
-rw-r--r--flakes/private/borg_backup/flake.lock2
-rw-r--r--flakes/private/chatons/flake.lock2
-rw-r--r--flakes/private/environment/flake.nix28
-rw-r--r--flakes/private/mail-relay/flake.lock2
-rw-r--r--flakes/private/milters/flake.lock2
-rw-r--r--flakes/private/monitoring/flake.lock2
-rw-r--r--flakes/private/opendmarc/flake.lock2
-rw-r--r--flakes/private/ssh/flake.lock2
-rw-r--r--flakes/private/system/flake.lock2
-rw-r--r--flakes/private/system/flake.nix51
-rw-r--r--systems/backup-2/flake.lock30
-rw-r--r--systems/dilion/base.nix76
-rw-r--r--systems/dilion/flake.lock10
-rw-r--r--systems/eldiron/base.nix21
-rw-r--r--systems/eldiron/flake.lock30
-rw-r--r--systems/monitoring-1/flake.lock18
-rw-r--r--systems/quatresaisons/flake.lock10
-rw-r--r--systems/zoldene/base.nix49
-rw-r--r--systems/zoldene/flake.lock10
22 files changed, 464 insertions, 351 deletions
diff --git a/deploy/flake.lock b/deploy/flake.lock
index ea59700..d8073ad 100644
--- a/deploy/flake.lock
+++ b/deploy/flake.lock
@@ -119,7 +119,7 @@
119 }, 119 },
120 "locked": { 120 "locked": {
121 "lastModified": 1, 121 "lastModified": 1,
122 "narHash": "sha256-upyulh3TzmYvV0Qn3uybOlG6sVzywk5SCm766k/cuqQ=", 122 "narHash": "sha256-goXqWjXmM+5kv7uJ0Q0UI9Oj+Jsec2JmhOvyYxcq3sQ=",
123 "path": "../../flakes/private/borg_backup", 123 "path": "../../flakes/private/borg_backup",
124 "type": "path" 124 "type": "path"
125 }, 125 },
@@ -166,7 +166,7 @@
166 }, 166 },
167 "locked": { 167 "locked": {
168 "lastModified": 1, 168 "lastModified": 1,
169 "narHash": "sha256-meNl7Q9u50ot5ouEIOEqjq1m/1+gwipQcTtT3hI93kU=", 169 "narHash": "sha256-m6hlfSiLmyu+MARFhvVufx0Mj0TLNnYdmAcNss/mKVY=",
170 "path": "../../flakes/private/chatons", 170 "path": "../../flakes/private/chatons",
171 "type": "path" 171 "type": "path"
172 }, 172 },
@@ -181,7 +181,7 @@
181 }, 181 },
182 "locked": { 182 "locked": {
183 "lastModified": 1, 183 "lastModified": 1,
184 "narHash": "sha256-meNl7Q9u50ot5ouEIOEqjq1m/1+gwipQcTtT3hI93kU=", 184 "narHash": "sha256-m6hlfSiLmyu+MARFhvVufx0Mj0TLNnYdmAcNss/mKVY=",
185 "path": "../../flakes/private/chatons", 185 "path": "../../flakes/private/chatons",
186 "type": "path" 186 "type": "path"
187 }, 187 },
@@ -581,7 +581,7 @@
581 "environment": { 581 "environment": {
582 "locked": { 582 "locked": {
583 "lastModified": 1, 583 "lastModified": 1,
584 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 584 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
585 "path": "../environment", 585 "path": "../environment",
586 "type": "path" 586 "type": "path"
587 }, 587 },
@@ -593,7 +593,7 @@
593 "environment_10": { 593 "environment_10": {
594 "locked": { 594 "locked": {
595 "lastModified": 1, 595 "lastModified": 1,
596 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 596 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
597 "path": "../environment", 597 "path": "../environment",
598 "type": "path" 598 "type": "path"
599 }, 599 },
@@ -605,7 +605,7 @@
605 "environment_11": { 605 "environment_11": {
606 "locked": { 606 "locked": {
607 "lastModified": 1, 607 "lastModified": 1,
608 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 608 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
609 "path": "../environment", 609 "path": "../environment",
610 "type": "path" 610 "type": "path"
611 }, 611 },
@@ -617,7 +617,7 @@
617 "environment_12": { 617 "environment_12": {
618 "locked": { 618 "locked": {
619 "lastModified": 1, 619 "lastModified": 1,
620 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 620 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
621 "path": "../environment", 621 "path": "../environment",
622 "type": "path" 622 "type": "path"
623 }, 623 },
@@ -629,7 +629,7 @@
629 "environment_13": { 629 "environment_13": {
630 "locked": { 630 "locked": {
631 "lastModified": 1, 631 "lastModified": 1,
632 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 632 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
633 "path": "../environment", 633 "path": "../environment",
634 "type": "path" 634 "type": "path"
635 }, 635 },
@@ -641,7 +641,7 @@
641 "environment_14": { 641 "environment_14": {
642 "locked": { 642 "locked": {
643 "lastModified": 1, 643 "lastModified": 1,
644 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 644 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
645 "path": "../environment", 645 "path": "../environment",
646 "type": "path" 646 "type": "path"
647 }, 647 },
@@ -653,7 +653,7 @@
653 "environment_15": { 653 "environment_15": {
654 "locked": { 654 "locked": {
655 "lastModified": 1, 655 "lastModified": 1,
656 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 656 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
657 "path": "../environment", 657 "path": "../environment",
658 "type": "path" 658 "type": "path"
659 }, 659 },
@@ -665,7 +665,7 @@
665 "environment_16": { 665 "environment_16": {
666 "locked": { 666 "locked": {
667 "lastModified": 1, 667 "lastModified": 1,
668 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 668 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
669 "path": "../environment", 669 "path": "../environment",
670 "type": "path" 670 "type": "path"
671 }, 671 },
@@ -677,7 +677,7 @@
677 "environment_17": { 677 "environment_17": {
678 "locked": { 678 "locked": {
679 "lastModified": 1, 679 "lastModified": 1,
680 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 680 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
681 "path": "../environment", 681 "path": "../environment",
682 "type": "path" 682 "type": "path"
683 }, 683 },
@@ -689,7 +689,7 @@
689 "environment_18": { 689 "environment_18": {
690 "locked": { 690 "locked": {
691 "lastModified": 1, 691 "lastModified": 1,
692 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 692 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
693 "path": "../environment", 693 "path": "../environment",
694 "type": "path" 694 "type": "path"
695 }, 695 },
@@ -701,7 +701,7 @@
701 "environment_19": { 701 "environment_19": {
702 "locked": { 702 "locked": {
703 "lastModified": 1, 703 "lastModified": 1,
704 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 704 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
705 "path": "../environment", 705 "path": "../environment",
706 "type": "path" 706 "type": "path"
707 }, 707 },
@@ -713,7 +713,7 @@
713 "environment_2": { 713 "environment_2": {
714 "locked": { 714 "locked": {
715 "lastModified": 1, 715 "lastModified": 1,
716 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 716 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
717 "path": "../environment", 717 "path": "../environment",
718 "type": "path" 718 "type": "path"
719 }, 719 },
@@ -725,7 +725,7 @@
725 "environment_20": { 725 "environment_20": {
726 "locked": { 726 "locked": {
727 "lastModified": 1, 727 "lastModified": 1,
728 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 728 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
729 "path": "../../flakes/private/environment", 729 "path": "../../flakes/private/environment",
730 "type": "path" 730 "type": "path"
731 }, 731 },
@@ -737,7 +737,7 @@
737 "environment_21": { 737 "environment_21": {
738 "locked": { 738 "locked": {
739 "lastModified": 1, 739 "lastModified": 1,
740 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 740 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
741 "path": "../environment", 741 "path": "../environment",
742 "type": "path" 742 "type": "path"
743 }, 743 },
@@ -749,7 +749,7 @@
749 "environment_22": { 749 "environment_22": {
750 "locked": { 750 "locked": {
751 "lastModified": 1, 751 "lastModified": 1,
752 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 752 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
753 "path": "../environment", 753 "path": "../environment",
754 "type": "path" 754 "type": "path"
755 }, 755 },
@@ -761,7 +761,7 @@
761 "environment_23": { 761 "environment_23": {
762 "locked": { 762 "locked": {
763 "lastModified": 1, 763 "lastModified": 1,
764 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 764 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
765 "path": "../environment", 765 "path": "../environment",
766 "type": "path" 766 "type": "path"
767 }, 767 },
@@ -773,7 +773,7 @@
773 "environment_24": { 773 "environment_24": {
774 "locked": { 774 "locked": {
775 "lastModified": 1, 775 "lastModified": 1,
776 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 776 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
777 "path": "../../flakes/private/environment", 777 "path": "../../flakes/private/environment",
778 "type": "path" 778 "type": "path"
779 }, 779 },
@@ -785,7 +785,7 @@
785 "environment_25": { 785 "environment_25": {
786 "locked": { 786 "locked": {
787 "lastModified": 1, 787 "lastModified": 1,
788 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 788 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
789 "path": "../environment", 789 "path": "../environment",
790 "type": "path" 790 "type": "path"
791 }, 791 },
@@ -797,7 +797,7 @@
797 "environment_26": { 797 "environment_26": {
798 "locked": { 798 "locked": {
799 "lastModified": 1, 799 "lastModified": 1,
800 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 800 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
801 "path": "../environment", 801 "path": "../environment",
802 "type": "path" 802 "type": "path"
803 }, 803 },
@@ -809,7 +809,7 @@
809 "environment_27": { 809 "environment_27": {
810 "locked": { 810 "locked": {
811 "lastModified": 1, 811 "lastModified": 1,
812 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 812 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
813 "path": "../environment", 813 "path": "../environment",
814 "type": "path" 814 "type": "path"
815 }, 815 },
@@ -821,7 +821,7 @@
821 "environment_28": { 821 "environment_28": {
822 "locked": { 822 "locked": {
823 "lastModified": 1, 823 "lastModified": 1,
824 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 824 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
825 "path": "../environment", 825 "path": "../environment",
826 "type": "path" 826 "type": "path"
827 }, 827 },
@@ -833,7 +833,7 @@
833 "environment_29": { 833 "environment_29": {
834 "locked": { 834 "locked": {
835 "lastModified": 1, 835 "lastModified": 1,
836 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 836 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
837 "path": "../environment", 837 "path": "../environment",
838 "type": "path" 838 "type": "path"
839 }, 839 },
@@ -845,7 +845,7 @@
845 "environment_3": { 845 "environment_3": {
846 "locked": { 846 "locked": {
847 "lastModified": 1, 847 "lastModified": 1,
848 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 848 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
849 "path": "../../flakes/private/environment", 849 "path": "../../flakes/private/environment",
850 "type": "path" 850 "type": "path"
851 }, 851 },
@@ -857,7 +857,7 @@
857 "environment_30": { 857 "environment_30": {
858 "locked": { 858 "locked": {
859 "lastModified": 1, 859 "lastModified": 1,
860 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 860 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
861 "path": "../environment", 861 "path": "../environment",
862 "type": "path" 862 "type": "path"
863 }, 863 },
@@ -869,7 +869,7 @@
869 "environment_31": { 869 "environment_31": {
870 "locked": { 870 "locked": {
871 "lastModified": 1, 871 "lastModified": 1,
872 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 872 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
873 "path": "../environment", 873 "path": "../environment",
874 "type": "path" 874 "type": "path"
875 }, 875 },
@@ -881,7 +881,7 @@
881 "environment_32": { 881 "environment_32": {
882 "locked": { 882 "locked": {
883 "lastModified": 1, 883 "lastModified": 1,
884 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 884 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
885 "path": "../environment", 885 "path": "../environment",
886 "type": "path" 886 "type": "path"
887 }, 887 },
@@ -893,7 +893,7 @@
893 "environment_33": { 893 "environment_33": {
894 "locked": { 894 "locked": {
895 "lastModified": 1, 895 "lastModified": 1,
896 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 896 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
897 "path": "../environment", 897 "path": "../environment",
898 "type": "path" 898 "type": "path"
899 }, 899 },
@@ -905,7 +905,7 @@
905 "environment_34": { 905 "environment_34": {
906 "locked": { 906 "locked": {
907 "lastModified": 1, 907 "lastModified": 1,
908 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 908 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
909 "path": "../environment", 909 "path": "../environment",
910 "type": "path" 910 "type": "path"
911 }, 911 },
@@ -917,7 +917,7 @@
917 "environment_35": { 917 "environment_35": {
918 "locked": { 918 "locked": {
919 "lastModified": 1, 919 "lastModified": 1,
920 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 920 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
921 "path": "../environment", 921 "path": "../environment",
922 "type": "path" 922 "type": "path"
923 }, 923 },
@@ -929,7 +929,7 @@
929 "environment_36": { 929 "environment_36": {
930 "locked": { 930 "locked": {
931 "lastModified": 1, 931 "lastModified": 1,
932 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 932 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
933 "path": "../environment", 933 "path": "../environment",
934 "type": "path" 934 "type": "path"
935 }, 935 },
@@ -941,7 +941,7 @@
941 "environment_4": { 941 "environment_4": {
942 "locked": { 942 "locked": {
943 "lastModified": 1, 943 "lastModified": 1,
944 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 944 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
945 "path": "../environment", 945 "path": "../environment",
946 "type": "path" 946 "type": "path"
947 }, 947 },
@@ -953,7 +953,7 @@
953 "environment_5": { 953 "environment_5": {
954 "locked": { 954 "locked": {
955 "lastModified": 1, 955 "lastModified": 1,
956 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 956 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
957 "path": "../environment", 957 "path": "../environment",
958 "type": "path" 958 "type": "path"
959 }, 959 },
@@ -965,7 +965,7 @@
965 "environment_6": { 965 "environment_6": {
966 "locked": { 966 "locked": {
967 "lastModified": 1, 967 "lastModified": 1,
968 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 968 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
969 "path": "../environment", 969 "path": "../environment",
970 "type": "path" 970 "type": "path"
971 }, 971 },
@@ -977,7 +977,7 @@
977 "environment_7": { 977 "environment_7": {
978 "locked": { 978 "locked": {
979 "lastModified": 1, 979 "lastModified": 1,
980 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 980 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
981 "path": "../environment", 981 "path": "../environment",
982 "type": "path" 982 "type": "path"
983 }, 983 },
@@ -989,7 +989,7 @@
989 "environment_8": { 989 "environment_8": {
990 "locked": { 990 "locked": {
991 "lastModified": 1, 991 "lastModified": 1,
992 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 992 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
993 "path": "../environment", 993 "path": "../environment",
994 "type": "path" 994 "type": "path"
995 }, 995 },
@@ -1001,7 +1001,7 @@
1001 "environment_9": { 1001 "environment_9": {
1002 "locked": { 1002 "locked": {
1003 "lastModified": 1, 1003 "lastModified": 1,
1004 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 1004 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
1005 "path": "../../flakes/private/environment", 1005 "path": "../../flakes/private/environment",
1006 "type": "path" 1006 "type": "path"
1007 }, 1007 },
@@ -2772,7 +2772,7 @@
2772 }, 2772 },
2773 "locked": { 2773 "locked": {
2774 "lastModified": 1, 2774 "lastModified": 1,
2775 "narHash": "sha256-GgBpSALmb4F2Q8gU2A8tv+gU4xjiYHj8SnNJksYRhRw=", 2775 "narHash": "sha256-97QRfLMvzWXvLOqbvKo/xS1MhpXoCsq3qVJeMKxISXk=",
2776 "path": "../../flakes/private/mail-relay", 2776 "path": "../../flakes/private/mail-relay",
2777 "type": "path" 2777 "type": "path"
2778 }, 2778 },
@@ -2788,7 +2788,7 @@
2788 }, 2788 },
2789 "locked": { 2789 "locked": {
2790 "lastModified": 1, 2790 "lastModified": 1,
2791 "narHash": "sha256-GgBpSALmb4F2Q8gU2A8tv+gU4xjiYHj8SnNJksYRhRw=", 2791 "narHash": "sha256-97QRfLMvzWXvLOqbvKo/xS1MhpXoCsq3qVJeMKxISXk=",
2792 "path": "../../flakes/private/mail-relay", 2792 "path": "../../flakes/private/mail-relay",
2793 "type": "path" 2793 "type": "path"
2794 }, 2794 },
@@ -2848,7 +2848,7 @@
2848 }, 2848 },
2849 "locked": { 2849 "locked": {
2850 "lastModified": 1, 2850 "lastModified": 1,
2851 "narHash": "sha256-unN29OjKjdudbGVbp0ZDzRVsWch30x0zAmqtOn+6/OA=", 2851 "narHash": "sha256-hae/hbwlXJKa3f4R6f6oq7Gq9DW8YxsUoBAyOz8oN0s=",
2852 "path": "../flakes", 2852 "path": "../flakes",
2853 "type": "path" 2853 "type": "path"
2854 }, 2854 },
@@ -2941,7 +2941,7 @@
2941 }, 2941 },
2942 "locked": { 2942 "locked": {
2943 "lastModified": 1, 2943 "lastModified": 1,
2944 "narHash": "sha256-/Z5S7urMiCclBt3znFcTCz6fzTpO0OnPI2cjhdtCoTM=", 2944 "narHash": "sha256-3bGwQe6FfhbrzAmmaQN9LBjJ3hT+vTNL+I5ZkI972hw=",
2945 "path": "../../flakes/private/milters", 2945 "path": "../../flakes/private/milters",
2946 "type": "path" 2946 "type": "path"
2947 }, 2947 },
@@ -2959,7 +2959,7 @@
2959 }, 2959 },
2960 "locked": { 2960 "locked": {
2961 "lastModified": 1, 2961 "lastModified": 1,
2962 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 2962 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
2963 "path": "../../flakes/private/monitoring", 2963 "path": "../../flakes/private/monitoring",
2964 "type": "path" 2964 "type": "path"
2965 }, 2965 },
@@ -2977,7 +2977,7 @@
2977 }, 2977 },
2978 "locked": { 2978 "locked": {
2979 "lastModified": 1, 2979 "lastModified": 1,
2980 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 2980 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
2981 "path": "../../flakes/private/monitoring", 2981 "path": "../../flakes/private/monitoring",
2982 "type": "path" 2982 "type": "path"
2983 }, 2983 },
@@ -2995,7 +2995,7 @@
2995 }, 2995 },
2996 "locked": { 2996 "locked": {
2997 "lastModified": 1, 2997 "lastModified": 1,
2998 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 2998 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
2999 "path": "../../flakes/private/monitoring", 2999 "path": "../../flakes/private/monitoring",
3000 "type": "path" 3000 "type": "path"
3001 }, 3001 },
@@ -3013,7 +3013,7 @@
3013 }, 3013 },
3014 "locked": { 3014 "locked": {
3015 "lastModified": 1, 3015 "lastModified": 1,
3016 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 3016 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
3017 "path": "../../flakes/private/monitoring", 3017 "path": "../../flakes/private/monitoring",
3018 "type": "path" 3018 "type": "path"
3019 }, 3019 },
@@ -3898,7 +3898,7 @@
3898 }, 3898 },
3899 "locked": { 3899 "locked": {
3900 "lastModified": 1, 3900 "lastModified": 1,
3901 "narHash": "sha256-jYDd12hVtZ0RjPzp/xM3qmi7FXPPBykqwd6vwrgwf4c=", 3901 "narHash": "sha256-ZHehuF4gKmUT5HHNMZWUXmUO5was3LjBT0XUFbtC3ME=",
3902 "path": "../systems/backup-2", 3902 "path": "../systems/backup-2",
3903 "type": "path" 3903 "type": "path"
3904 }, 3904 },
@@ -3921,7 +3921,7 @@
3921 }, 3921 },
3922 "locked": { 3922 "locked": {
3923 "lastModified": 1, 3923 "lastModified": 1,
3924 "narHash": "sha256-Auu8c8lLeB6+qvZrv+KxdguCN4sjSDwI/FNoSx6Aoj0=", 3924 "narHash": "sha256-6bFst91luDoeASFe1Bm2dbiPknAEf1oIi/g+XVyybNM=",
3925 "path": "../systems/dilion", 3925 "path": "../systems/dilion",
3926 "type": "path" 3926 "type": "path"
3927 }, 3927 },
@@ -3970,7 +3970,7 @@
3970 }, 3970 },
3971 "locked": { 3971 "locked": {
3972 "lastModified": 1, 3972 "lastModified": 1,
3973 "narHash": "sha256-v+ViigN/4JW/nivZkfWgcOzlIN1obZ3yq+0BOf0rA5Q=", 3973 "narHash": "sha256-QbkQdVOe9KfYcBfNa0LUyEoFRQZkgvixM4OFcaGIIOM=",
3974 "path": "../systems/eldiron", 3974 "path": "../systems/eldiron",
3975 "type": "path" 3975 "type": "path"
3976 }, 3976 },
@@ -3996,7 +3996,7 @@
3996 }, 3996 },
3997 "locked": { 3997 "locked": {
3998 "lastModified": 1, 3998 "lastModified": 1,
3999 "narHash": "sha256-rQTnAiIRXzIVEORZtQ5olYOCUyZMX8E7pB5CtwNsLT8=", 3999 "narHash": "sha256-JEX+epBO3lxnGu5WtYc78V6PmQqDvWOada8/N/5sBbI=",
4000 "path": "../systems/monitoring-1", 4000 "path": "../systems/monitoring-1",
4001 "type": "path" 4001 "type": "path"
4002 }, 4002 },
@@ -4021,7 +4021,7 @@
4021 }, 4021 },
4022 "locked": { 4022 "locked": {
4023 "lastModified": 1, 4023 "lastModified": 1,
4024 "narHash": "sha256-Y8fj3YZOTJBzRyyCQWP2FJFSSucwMSqWp15xj4wq9wo=", 4024 "narHash": "sha256-EPiMbYALY6ZXf7ZwBOLzgRL9nH19XV0Ooe9jMCATM88=",
4025 "path": "../systems/quatresaisons", 4025 "path": "../systems/quatresaisons",
4026 "type": "path" 4026 "type": "path"
4027 }, 4027 },
@@ -4042,7 +4042,7 @@
4042 }, 4042 },
4043 "locked": { 4043 "locked": {
4044 "lastModified": 1, 4044 "lastModified": 1,
4045 "narHash": "sha256-OHoDl3aFFCQ6NOfRGefPo5xJazDKqnAo+a6GJw6VhNc=", 4045 "narHash": "sha256-ljV+NXn1W8rIrz6FU9gbjNCt4MEcNRGyNBofIyieJMo=",
4046 "path": "../systems/zoldene", 4046 "path": "../systems/zoldene",
4047 "type": "path" 4047 "type": "path"
4048 }, 4048 },
@@ -7209,7 +7209,7 @@
7209 }, 7209 },
7210 "locked": { 7210 "locked": {
7211 "lastModified": 1, 7211 "lastModified": 1,
7212 "narHash": "sha256-zNGorC75RMSwM35XiKvf8i9/PatepjxmgW7AAkhfHTc=", 7212 "narHash": "sha256-aFk+jktObN2sAh1pcgfaf3PH0LGaq8IkK9NlKUSTjoA=",
7213 "path": "../../flakes/private/opendmarc", 7213 "path": "../../flakes/private/opendmarc",
7214 "type": "path" 7214 "type": "path"
7215 }, 7215 },
@@ -7532,7 +7532,7 @@
7532 }, 7532 },
7533 "locked": { 7533 "locked": {
7534 "lastModified": 1, 7534 "lastModified": 1,
7535 "narHash": "sha256-upyulh3TzmYvV0Qn3uybOlG6sVzywk5SCm766k/cuqQ=", 7535 "narHash": "sha256-goXqWjXmM+5kv7uJ0Q0UI9Oj+Jsec2JmhOvyYxcq3sQ=",
7536 "path": "../../flakes/private/borg_backup", 7536 "path": "../../flakes/private/borg_backup",
7537 "type": "path" 7537 "type": "path"
7538 }, 7538 },
@@ -7548,7 +7548,7 @@
7548 }, 7548 },
7549 "locked": { 7549 "locked": {
7550 "lastModified": 1, 7550 "lastModified": 1,
7551 "narHash": "sha256-upyulh3TzmYvV0Qn3uybOlG6sVzywk5SCm766k/cuqQ=", 7551 "narHash": "sha256-goXqWjXmM+5kv7uJ0Q0UI9Oj+Jsec2JmhOvyYxcq3sQ=",
7552 "path": "../../flakes/private/borg_backup", 7552 "path": "../../flakes/private/borg_backup",
7553 "type": "path" 7553 "type": "path"
7554 }, 7554 },
@@ -7580,7 +7580,7 @@
7580 }, 7580 },
7581 "locked": { 7581 "locked": {
7582 "lastModified": 1, 7582 "lastModified": 1,
7583 "narHash": "sha256-meNl7Q9u50ot5ouEIOEqjq1m/1+gwipQcTtT3hI93kU=", 7583 "narHash": "sha256-m6hlfSiLmyu+MARFhvVufx0Mj0TLNnYdmAcNss/mKVY=",
7584 "path": "../../flakes/private/chatons", 7584 "path": "../../flakes/private/chatons",
7585 "type": "path" 7585 "type": "path"
7586 }, 7586 },
@@ -7592,7 +7592,7 @@
7592 "private-environment": { 7592 "private-environment": {
7593 "locked": { 7593 "locked": {
7594 "lastModified": 1, 7594 "lastModified": 1,
7595 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 7595 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
7596 "path": "../../flakes/private/environment", 7596 "path": "../../flakes/private/environment",
7597 "type": "path" 7597 "type": "path"
7598 }, 7598 },
@@ -7604,7 +7604,7 @@
7604 "private-environment_2": { 7604 "private-environment_2": {
7605 "locked": { 7605 "locked": {
7606 "lastModified": 1, 7606 "lastModified": 1,
7607 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 7607 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
7608 "path": "../../flakes/private/environment", 7608 "path": "../../flakes/private/environment",
7609 "type": "path" 7609 "type": "path"
7610 }, 7610 },
@@ -7623,7 +7623,7 @@
7623 }, 7623 },
7624 "locked": { 7624 "locked": {
7625 "lastModified": 1, 7625 "lastModified": 1,
7626 "narHash": "sha256-/Z5S7urMiCclBt3znFcTCz6fzTpO0OnPI2cjhdtCoTM=", 7626 "narHash": "sha256-3bGwQe6FfhbrzAmmaQN9LBjJ3hT+vTNL+I5ZkI972hw=",
7627 "path": "../../flakes/private/milters", 7627 "path": "../../flakes/private/milters",
7628 "type": "path" 7628 "type": "path"
7629 }, 7629 },
@@ -7641,7 +7641,7 @@
7641 }, 7641 },
7642 "locked": { 7642 "locked": {
7643 "lastModified": 1, 7643 "lastModified": 1,
7644 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 7644 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
7645 "path": "../../flakes/private/monitoring", 7645 "path": "../../flakes/private/monitoring",
7646 "type": "path" 7646 "type": "path"
7647 }, 7647 },
@@ -7676,7 +7676,7 @@
7676 }, 7676 },
7677 "locked": { 7677 "locked": {
7678 "lastModified": 1, 7678 "lastModified": 1,
7679 "narHash": "sha256-zNGorC75RMSwM35XiKvf8i9/PatepjxmgW7AAkhfHTc=", 7679 "narHash": "sha256-aFk+jktObN2sAh1pcgfaf3PH0LGaq8IkK9NlKUSTjoA=",
7680 "path": "../../flakes/private/opendmarc", 7680 "path": "../../flakes/private/opendmarc",
7681 "type": "path" 7681 "type": "path"
7682 }, 7682 },
@@ -7737,7 +7737,7 @@
7737 }, 7737 },
7738 "locked": { 7738 "locked": {
7739 "lastModified": 1, 7739 "lastModified": 1,
7740 "narHash": "sha256-jZn/LajHvVlJetDQioFezOsVrO92HjitxuD5MAPlUvo=", 7740 "narHash": "sha256-VjQgn4V81UeSO6ggkLt7xq22rV3NFCbUjzHkSNRtd0U=",
7741 "path": "../../flakes/private/ssh", 7741 "path": "../../flakes/private/ssh",
7742 "type": "path" 7742 "type": "path"
7743 }, 7743 },
@@ -7756,7 +7756,7 @@
7756 }, 7756 },
7757 "locked": { 7757 "locked": {
7758 "lastModified": 1, 7758 "lastModified": 1,
7759 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 7759 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
7760 "path": "../../flakes/private/system", 7760 "path": "../../flakes/private/system",
7761 "type": "path" 7761 "type": "path"
7762 }, 7762 },
@@ -7775,7 +7775,7 @@
7775 }, 7775 },
7776 "locked": { 7776 "locked": {
7777 "lastModified": 1, 7777 "lastModified": 1,
7778 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 7778 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
7779 "path": "../../flakes/private/system", 7779 "path": "../../flakes/private/system",
7780 "type": "path" 7780 "type": "path"
7781 }, 7781 },
@@ -8431,7 +8431,7 @@
8431 }, 8431 },
8432 "locked": { 8432 "locked": {
8433 "lastModified": 1, 8433 "lastModified": 1,
8434 "narHash": "sha256-upyulh3TzmYvV0Qn3uybOlG6sVzywk5SCm766k/cuqQ=", 8434 "narHash": "sha256-goXqWjXmM+5kv7uJ0Q0UI9Oj+Jsec2JmhOvyYxcq3sQ=",
8435 "path": "./private/borg_backup", 8435 "path": "./private/borg_backup",
8436 "type": "path" 8436 "type": "path"
8437 }, 8437 },
@@ -8463,7 +8463,7 @@
8463 }, 8463 },
8464 "locked": { 8464 "locked": {
8465 "lastModified": 1, 8465 "lastModified": 1,
8466 "narHash": "sha256-meNl7Q9u50ot5ouEIOEqjq1m/1+gwipQcTtT3hI93kU=", 8466 "narHash": "sha256-m6hlfSiLmyu+MARFhvVufx0Mj0TLNnYdmAcNss/mKVY=",
8467 "path": "./private/chatons", 8467 "path": "./private/chatons",
8468 "type": "path" 8468 "type": "path"
8469 }, 8469 },
@@ -8475,7 +8475,7 @@
8475 "s-private-environment": { 8475 "s-private-environment": {
8476 "locked": { 8476 "locked": {
8477 "lastModified": 1, 8477 "lastModified": 1,
8478 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 8478 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
8479 "path": "./private/environment", 8479 "path": "./private/environment",
8480 "type": "path" 8480 "type": "path"
8481 }, 8481 },
@@ -8491,7 +8491,7 @@
8491 }, 8491 },
8492 "locked": { 8492 "locked": {
8493 "lastModified": 1, 8493 "lastModified": 1,
8494 "narHash": "sha256-GgBpSALmb4F2Q8gU2A8tv+gU4xjiYHj8SnNJksYRhRw=", 8494 "narHash": "sha256-97QRfLMvzWXvLOqbvKo/xS1MhpXoCsq3qVJeMKxISXk=",
8495 "path": "./private/mail-relay", 8495 "path": "./private/mail-relay",
8496 "type": "path" 8496 "type": "path"
8497 }, 8497 },
@@ -8510,7 +8510,7 @@
8510 }, 8510 },
8511 "locked": { 8511 "locked": {
8512 "lastModified": 1, 8512 "lastModified": 1,
8513 "narHash": "sha256-/Z5S7urMiCclBt3znFcTCz6fzTpO0OnPI2cjhdtCoTM=", 8513 "narHash": "sha256-3bGwQe6FfhbrzAmmaQN9LBjJ3hT+vTNL+I5ZkI972hw=",
8514 "path": "./private/milters", 8514 "path": "./private/milters",
8515 "type": "path" 8515 "type": "path"
8516 }, 8516 },
@@ -8528,7 +8528,7 @@
8528 }, 8528 },
8529 "locked": { 8529 "locked": {
8530 "lastModified": 1, 8530 "lastModified": 1,
8531 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 8531 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
8532 "path": "./private/monitoring", 8532 "path": "./private/monitoring",
8533 "type": "path" 8533 "type": "path"
8534 }, 8534 },
@@ -8563,7 +8563,7 @@
8563 }, 8563 },
8564 "locked": { 8564 "locked": {
8565 "lastModified": 1, 8565 "lastModified": 1,
8566 "narHash": "sha256-zNGorC75RMSwM35XiKvf8i9/PatepjxmgW7AAkhfHTc=", 8566 "narHash": "sha256-aFk+jktObN2sAh1pcgfaf3PH0LGaq8IkK9NlKUSTjoA=",
8567 "path": "./private/opendmarc", 8567 "path": "./private/opendmarc",
8568 "type": "path" 8568 "type": "path"
8569 }, 8569 },
@@ -8624,7 +8624,7 @@
8624 }, 8624 },
8625 "locked": { 8625 "locked": {
8626 "lastModified": 1, 8626 "lastModified": 1,
8627 "narHash": "sha256-jZn/LajHvVlJetDQioFezOsVrO92HjitxuD5MAPlUvo=", 8627 "narHash": "sha256-VjQgn4V81UeSO6ggkLt7xq22rV3NFCbUjzHkSNRtd0U=",
8628 "path": "./private/ssh", 8628 "path": "./private/ssh",
8629 "type": "path" 8629 "type": "path"
8630 }, 8630 },
@@ -8643,7 +8643,7 @@
8643 }, 8643 },
8644 "locked": { 8644 "locked": {
8645 "lastModified": 1, 8645 "lastModified": 1,
8646 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 8646 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
8647 "path": "./private/system", 8647 "path": "./private/system",
8648 "type": "path" 8648 "type": "path"
8649 }, 8649 },
@@ -9304,7 +9304,7 @@
9304 }, 9304 },
9305 "locked": { 9305 "locked": {
9306 "lastModified": 1, 9306 "lastModified": 1,
9307 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 9307 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
9308 "path": "../../flakes/private/system", 9308 "path": "../../flakes/private/system",
9309 "type": "path" 9309 "type": "path"
9310 }, 9310 },
@@ -9323,7 +9323,7 @@
9323 }, 9323 },
9324 "locked": { 9324 "locked": {
9325 "lastModified": 1, 9325 "lastModified": 1,
9326 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 9326 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
9327 "path": "../../flakes/private/system", 9327 "path": "../../flakes/private/system",
9328 "type": "path" 9328 "type": "path"
9329 }, 9329 },
@@ -9342,7 +9342,7 @@
9342 }, 9342 },
9343 "locked": { 9343 "locked": {
9344 "lastModified": 1, 9344 "lastModified": 1,
9345 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 9345 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
9346 "path": "../../flakes/private/system", 9346 "path": "../../flakes/private/system",
9347 "type": "path" 9347 "type": "path"
9348 }, 9348 },
@@ -9361,7 +9361,7 @@
9361 }, 9361 },
9362 "locked": { 9362 "locked": {
9363 "lastModified": 1, 9363 "lastModified": 1,
9364 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 9364 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
9365 "path": "../../flakes/private/system", 9365 "path": "../../flakes/private/system",
9366 "type": "path" 9366 "type": "path"
9367 }, 9367 },
diff --git a/flake.lock b/flake.lock
index ebba219..3ed3a75 100644
--- a/flake.lock
+++ b/flake.lock
@@ -119,7 +119,7 @@
119 }, 119 },
120 "locked": { 120 "locked": {
121 "lastModified": 1, 121 "lastModified": 1,
122 "narHash": "sha256-upyulh3TzmYvV0Qn3uybOlG6sVzywk5SCm766k/cuqQ=", 122 "narHash": "sha256-goXqWjXmM+5kv7uJ0Q0UI9Oj+Jsec2JmhOvyYxcq3sQ=",
123 "path": "../../flakes/private/borg_backup", 123 "path": "../../flakes/private/borg_backup",
124 "type": "path" 124 "type": "path"
125 }, 125 },
@@ -166,7 +166,7 @@
166 }, 166 },
167 "locked": { 167 "locked": {
168 "lastModified": 1, 168 "lastModified": 1,
169 "narHash": "sha256-meNl7Q9u50ot5ouEIOEqjq1m/1+gwipQcTtT3hI93kU=", 169 "narHash": "sha256-m6hlfSiLmyu+MARFhvVufx0Mj0TLNnYdmAcNss/mKVY=",
170 "path": "../../flakes/private/chatons", 170 "path": "../../flakes/private/chatons",
171 "type": "path" 171 "type": "path"
172 }, 172 },
@@ -181,7 +181,7 @@
181 }, 181 },
182 "locked": { 182 "locked": {
183 "lastModified": 1, 183 "lastModified": 1,
184 "narHash": "sha256-meNl7Q9u50ot5ouEIOEqjq1m/1+gwipQcTtT3hI93kU=", 184 "narHash": "sha256-m6hlfSiLmyu+MARFhvVufx0Mj0TLNnYdmAcNss/mKVY=",
185 "path": "../../flakes/private/chatons", 185 "path": "../../flakes/private/chatons",
186 "type": "path" 186 "type": "path"
187 }, 187 },
@@ -581,7 +581,7 @@
581 "environment": { 581 "environment": {
582 "locked": { 582 "locked": {
583 "lastModified": 1, 583 "lastModified": 1,
584 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 584 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
585 "path": "../environment", 585 "path": "../environment",
586 "type": "path" 586 "type": "path"
587 }, 587 },
@@ -593,7 +593,7 @@
593 "environment_10": { 593 "environment_10": {
594 "locked": { 594 "locked": {
595 "lastModified": 1, 595 "lastModified": 1,
596 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 596 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
597 "path": "../environment", 597 "path": "../environment",
598 "type": "path" 598 "type": "path"
599 }, 599 },
@@ -605,7 +605,7 @@
605 "environment_11": { 605 "environment_11": {
606 "locked": { 606 "locked": {
607 "lastModified": 1, 607 "lastModified": 1,
608 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 608 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
609 "path": "../environment", 609 "path": "../environment",
610 "type": "path" 610 "type": "path"
611 }, 611 },
@@ -617,7 +617,7 @@
617 "environment_12": { 617 "environment_12": {
618 "locked": { 618 "locked": {
619 "lastModified": 1, 619 "lastModified": 1,
620 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 620 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
621 "path": "../environment", 621 "path": "../environment",
622 "type": "path" 622 "type": "path"
623 }, 623 },
@@ -629,7 +629,7 @@
629 "environment_13": { 629 "environment_13": {
630 "locked": { 630 "locked": {
631 "lastModified": 1, 631 "lastModified": 1,
632 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 632 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
633 "path": "../environment", 633 "path": "../environment",
634 "type": "path" 634 "type": "path"
635 }, 635 },
@@ -641,7 +641,7 @@
641 "environment_14": { 641 "environment_14": {
642 "locked": { 642 "locked": {
643 "lastModified": 1, 643 "lastModified": 1,
644 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 644 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
645 "path": "../environment", 645 "path": "../environment",
646 "type": "path" 646 "type": "path"
647 }, 647 },
@@ -653,7 +653,7 @@
653 "environment_15": { 653 "environment_15": {
654 "locked": { 654 "locked": {
655 "lastModified": 1, 655 "lastModified": 1,
656 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 656 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
657 "path": "../environment", 657 "path": "../environment",
658 "type": "path" 658 "type": "path"
659 }, 659 },
@@ -665,7 +665,7 @@
665 "environment_16": { 665 "environment_16": {
666 "locked": { 666 "locked": {
667 "lastModified": 1, 667 "lastModified": 1,
668 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 668 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
669 "path": "../environment", 669 "path": "../environment",
670 "type": "path" 670 "type": "path"
671 }, 671 },
@@ -677,7 +677,7 @@
677 "environment_17": { 677 "environment_17": {
678 "locked": { 678 "locked": {
679 "lastModified": 1, 679 "lastModified": 1,
680 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 680 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
681 "path": "../environment", 681 "path": "../environment",
682 "type": "path" 682 "type": "path"
683 }, 683 },
@@ -689,7 +689,7 @@
689 "environment_18": { 689 "environment_18": {
690 "locked": { 690 "locked": {
691 "lastModified": 1, 691 "lastModified": 1,
692 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 692 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
693 "path": "../environment", 693 "path": "../environment",
694 "type": "path" 694 "type": "path"
695 }, 695 },
@@ -701,7 +701,7 @@
701 "environment_19": { 701 "environment_19": {
702 "locked": { 702 "locked": {
703 "lastModified": 1, 703 "lastModified": 1,
704 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 704 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
705 "path": "../environment", 705 "path": "../environment",
706 "type": "path" 706 "type": "path"
707 }, 707 },
@@ -713,7 +713,7 @@
713 "environment_2": { 713 "environment_2": {
714 "locked": { 714 "locked": {
715 "lastModified": 1, 715 "lastModified": 1,
716 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 716 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
717 "path": "../environment", 717 "path": "../environment",
718 "type": "path" 718 "type": "path"
719 }, 719 },
@@ -725,7 +725,7 @@
725 "environment_20": { 725 "environment_20": {
726 "locked": { 726 "locked": {
727 "lastModified": 1, 727 "lastModified": 1,
728 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 728 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
729 "path": "../../flakes/private/environment", 729 "path": "../../flakes/private/environment",
730 "type": "path" 730 "type": "path"
731 }, 731 },
@@ -737,7 +737,7 @@
737 "environment_21": { 737 "environment_21": {
738 "locked": { 738 "locked": {
739 "lastModified": 1, 739 "lastModified": 1,
740 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 740 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
741 "path": "../environment", 741 "path": "../environment",
742 "type": "path" 742 "type": "path"
743 }, 743 },
@@ -749,7 +749,7 @@
749 "environment_22": { 749 "environment_22": {
750 "locked": { 750 "locked": {
751 "lastModified": 1, 751 "lastModified": 1,
752 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 752 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
753 "path": "../environment", 753 "path": "../environment",
754 "type": "path" 754 "type": "path"
755 }, 755 },
@@ -761,7 +761,7 @@
761 "environment_23": { 761 "environment_23": {
762 "locked": { 762 "locked": {
763 "lastModified": 1, 763 "lastModified": 1,
764 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 764 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
765 "path": "../environment", 765 "path": "../environment",
766 "type": "path" 766 "type": "path"
767 }, 767 },
@@ -773,7 +773,7 @@
773 "environment_24": { 773 "environment_24": {
774 "locked": { 774 "locked": {
775 "lastModified": 1, 775 "lastModified": 1,
776 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 776 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
777 "path": "../../flakes/private/environment", 777 "path": "../../flakes/private/environment",
778 "type": "path" 778 "type": "path"
779 }, 779 },
@@ -785,7 +785,7 @@
785 "environment_25": { 785 "environment_25": {
786 "locked": { 786 "locked": {
787 "lastModified": 1, 787 "lastModified": 1,
788 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 788 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
789 "path": "../environment", 789 "path": "../environment",
790 "type": "path" 790 "type": "path"
791 }, 791 },
@@ -797,7 +797,7 @@
797 "environment_26": { 797 "environment_26": {
798 "locked": { 798 "locked": {
799 "lastModified": 1, 799 "lastModified": 1,
800 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 800 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
801 "path": "../environment", 801 "path": "../environment",
802 "type": "path" 802 "type": "path"
803 }, 803 },
@@ -809,7 +809,7 @@
809 "environment_27": { 809 "environment_27": {
810 "locked": { 810 "locked": {
811 "lastModified": 1, 811 "lastModified": 1,
812 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 812 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
813 "path": "../environment", 813 "path": "../environment",
814 "type": "path" 814 "type": "path"
815 }, 815 },
@@ -821,7 +821,7 @@
821 "environment_28": { 821 "environment_28": {
822 "locked": { 822 "locked": {
823 "lastModified": 1, 823 "lastModified": 1,
824 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 824 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
825 "path": "../environment", 825 "path": "../environment",
826 "type": "path" 826 "type": "path"
827 }, 827 },
@@ -833,7 +833,7 @@
833 "environment_29": { 833 "environment_29": {
834 "locked": { 834 "locked": {
835 "lastModified": 1, 835 "lastModified": 1,
836 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 836 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
837 "path": "../environment", 837 "path": "../environment",
838 "type": "path" 838 "type": "path"
839 }, 839 },
@@ -845,7 +845,7 @@
845 "environment_3": { 845 "environment_3": {
846 "locked": { 846 "locked": {
847 "lastModified": 1, 847 "lastModified": 1,
848 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 848 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
849 "path": "../../flakes/private/environment", 849 "path": "../../flakes/private/environment",
850 "type": "path" 850 "type": "path"
851 }, 851 },
@@ -857,7 +857,7 @@
857 "environment_30": { 857 "environment_30": {
858 "locked": { 858 "locked": {
859 "lastModified": 1, 859 "lastModified": 1,
860 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 860 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
861 "path": "../environment", 861 "path": "../environment",
862 "type": "path" 862 "type": "path"
863 }, 863 },
@@ -869,7 +869,7 @@
869 "environment_31": { 869 "environment_31": {
870 "locked": { 870 "locked": {
871 "lastModified": 1, 871 "lastModified": 1,
872 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 872 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
873 "path": "../environment", 873 "path": "../environment",
874 "type": "path" 874 "type": "path"
875 }, 875 },
@@ -881,7 +881,7 @@
881 "environment_32": { 881 "environment_32": {
882 "locked": { 882 "locked": {
883 "lastModified": 1, 883 "lastModified": 1,
884 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 884 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
885 "path": "../environment", 885 "path": "../environment",
886 "type": "path" 886 "type": "path"
887 }, 887 },
@@ -893,7 +893,7 @@
893 "environment_33": { 893 "environment_33": {
894 "locked": { 894 "locked": {
895 "lastModified": 1, 895 "lastModified": 1,
896 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 896 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
897 "path": "../environment", 897 "path": "../environment",
898 "type": "path" 898 "type": "path"
899 }, 899 },
@@ -905,7 +905,7 @@
905 "environment_34": { 905 "environment_34": {
906 "locked": { 906 "locked": {
907 "lastModified": 1, 907 "lastModified": 1,
908 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 908 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
909 "path": "../environment", 909 "path": "../environment",
910 "type": "path" 910 "type": "path"
911 }, 911 },
@@ -917,7 +917,7 @@
917 "environment_35": { 917 "environment_35": {
918 "locked": { 918 "locked": {
919 "lastModified": 1, 919 "lastModified": 1,
920 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 920 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
921 "path": "../environment", 921 "path": "../environment",
922 "type": "path" 922 "type": "path"
923 }, 923 },
@@ -929,7 +929,7 @@
929 "environment_36": { 929 "environment_36": {
930 "locked": { 930 "locked": {
931 "lastModified": 1, 931 "lastModified": 1,
932 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 932 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
933 "path": "../environment", 933 "path": "../environment",
934 "type": "path" 934 "type": "path"
935 }, 935 },
@@ -941,7 +941,7 @@
941 "environment_4": { 941 "environment_4": {
942 "locked": { 942 "locked": {
943 "lastModified": 1, 943 "lastModified": 1,
944 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 944 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
945 "path": "../environment", 945 "path": "../environment",
946 "type": "path" 946 "type": "path"
947 }, 947 },
@@ -953,7 +953,7 @@
953 "environment_5": { 953 "environment_5": {
954 "locked": { 954 "locked": {
955 "lastModified": 1, 955 "lastModified": 1,
956 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 956 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
957 "path": "../environment", 957 "path": "../environment",
958 "type": "path" 958 "type": "path"
959 }, 959 },
@@ -965,7 +965,7 @@
965 "environment_6": { 965 "environment_6": {
966 "locked": { 966 "locked": {
967 "lastModified": 1, 967 "lastModified": 1,
968 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 968 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
969 "path": "../environment", 969 "path": "../environment",
970 "type": "path" 970 "type": "path"
971 }, 971 },
@@ -977,7 +977,7 @@
977 "environment_7": { 977 "environment_7": {
978 "locked": { 978 "locked": {
979 "lastModified": 1, 979 "lastModified": 1,
980 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 980 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
981 "path": "../environment", 981 "path": "../environment",
982 "type": "path" 982 "type": "path"
983 }, 983 },
@@ -989,7 +989,7 @@
989 "environment_8": { 989 "environment_8": {
990 "locked": { 990 "locked": {
991 "lastModified": 1, 991 "lastModified": 1,
992 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 992 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
993 "path": "../environment", 993 "path": "../environment",
994 "type": "path" 994 "type": "path"
995 }, 995 },
@@ -1001,7 +1001,7 @@
1001 "environment_9": { 1001 "environment_9": {
1002 "locked": { 1002 "locked": {
1003 "lastModified": 1, 1003 "lastModified": 1,
1004 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 1004 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
1005 "path": "../../flakes/private/environment", 1005 "path": "../../flakes/private/environment",
1006 "type": "path" 1006 "type": "path"
1007 }, 1007 },
@@ -2729,7 +2729,7 @@
2729 }, 2729 },
2730 "locked": { 2730 "locked": {
2731 "lastModified": 1, 2731 "lastModified": 1,
2732 "narHash": "sha256-unN29OjKjdudbGVbp0ZDzRVsWch30x0zAmqtOn+6/OA=", 2732 "narHash": "sha256-hae/hbwlXJKa3f4R6f6oq7Gq9DW8YxsUoBAyOz8oN0s=",
2733 "path": "./flakes", 2733 "path": "./flakes",
2734 "type": "path" 2734 "type": "path"
2735 }, 2735 },
@@ -2848,7 +2848,7 @@
2848 }, 2848 },
2849 "locked": { 2849 "locked": {
2850 "lastModified": 1, 2850 "lastModified": 1,
2851 "narHash": "sha256-GgBpSALmb4F2Q8gU2A8tv+gU4xjiYHj8SnNJksYRhRw=", 2851 "narHash": "sha256-97QRfLMvzWXvLOqbvKo/xS1MhpXoCsq3qVJeMKxISXk=",
2852 "path": "../../flakes/private/mail-relay", 2852 "path": "../../flakes/private/mail-relay",
2853 "type": "path" 2853 "type": "path"
2854 }, 2854 },
@@ -2864,7 +2864,7 @@
2864 }, 2864 },
2865 "locked": { 2865 "locked": {
2866 "lastModified": 1, 2866 "lastModified": 1,
2867 "narHash": "sha256-GgBpSALmb4F2Q8gU2A8tv+gU4xjiYHj8SnNJksYRhRw=", 2867 "narHash": "sha256-97QRfLMvzWXvLOqbvKo/xS1MhpXoCsq3qVJeMKxISXk=",
2868 "path": "../../flakes/private/mail-relay", 2868 "path": "../../flakes/private/mail-relay",
2869 "type": "path" 2869 "type": "path"
2870 }, 2870 },
@@ -2957,7 +2957,7 @@
2957 }, 2957 },
2958 "locked": { 2958 "locked": {
2959 "lastModified": 1, 2959 "lastModified": 1,
2960 "narHash": "sha256-/Z5S7urMiCclBt3znFcTCz6fzTpO0OnPI2cjhdtCoTM=", 2960 "narHash": "sha256-3bGwQe6FfhbrzAmmaQN9LBjJ3hT+vTNL+I5ZkI972hw=",
2961 "path": "../../flakes/private/milters", 2961 "path": "../../flakes/private/milters",
2962 "type": "path" 2962 "type": "path"
2963 }, 2963 },
@@ -2975,7 +2975,7 @@
2975 }, 2975 },
2976 "locked": { 2976 "locked": {
2977 "lastModified": 1, 2977 "lastModified": 1,
2978 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 2978 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
2979 "path": "../../flakes/private/monitoring", 2979 "path": "../../flakes/private/monitoring",
2980 "type": "path" 2980 "type": "path"
2981 }, 2981 },
@@ -2993,7 +2993,7 @@
2993 }, 2993 },
2994 "locked": { 2994 "locked": {
2995 "lastModified": 1, 2995 "lastModified": 1,
2996 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 2996 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
2997 "path": "../../flakes/private/monitoring", 2997 "path": "../../flakes/private/monitoring",
2998 "type": "path" 2998 "type": "path"
2999 }, 2999 },
@@ -3011,7 +3011,7 @@
3011 }, 3011 },
3012 "locked": { 3012 "locked": {
3013 "lastModified": 1, 3013 "lastModified": 1,
3014 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 3014 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
3015 "path": "../../flakes/private/monitoring", 3015 "path": "../../flakes/private/monitoring",
3016 "type": "path" 3016 "type": "path"
3017 }, 3017 },
@@ -3029,7 +3029,7 @@
3029 }, 3029 },
3030 "locked": { 3030 "locked": {
3031 "lastModified": 1, 3031 "lastModified": 1,
3032 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 3032 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
3033 "path": "../../flakes/private/monitoring", 3033 "path": "../../flakes/private/monitoring",
3034 "type": "path" 3034 "type": "path"
3035 }, 3035 },
@@ -3914,7 +3914,7 @@
3914 }, 3914 },
3915 "locked": { 3915 "locked": {
3916 "lastModified": 1, 3916 "lastModified": 1,
3917 "narHash": "sha256-jYDd12hVtZ0RjPzp/xM3qmi7FXPPBykqwd6vwrgwf4c=", 3917 "narHash": "sha256-ZHehuF4gKmUT5HHNMZWUXmUO5was3LjBT0XUFbtC3ME=",
3918 "path": "../systems/backup-2", 3918 "path": "../systems/backup-2",
3919 "type": "path" 3919 "type": "path"
3920 }, 3920 },
@@ -3937,7 +3937,7 @@
3937 }, 3937 },
3938 "locked": { 3938 "locked": {
3939 "lastModified": 1, 3939 "lastModified": 1,
3940 "narHash": "sha256-Auu8c8lLeB6+qvZrv+KxdguCN4sjSDwI/FNoSx6Aoj0=", 3940 "narHash": "sha256-6bFst91luDoeASFe1Bm2dbiPknAEf1oIi/g+XVyybNM=",
3941 "path": "../systems/dilion", 3941 "path": "../systems/dilion",
3942 "type": "path" 3942 "type": "path"
3943 }, 3943 },
@@ -3986,7 +3986,7 @@
3986 }, 3986 },
3987 "locked": { 3987 "locked": {
3988 "lastModified": 1, 3988 "lastModified": 1,
3989 "narHash": "sha256-v+ViigN/4JW/nivZkfWgcOzlIN1obZ3yq+0BOf0rA5Q=", 3989 "narHash": "sha256-QbkQdVOe9KfYcBfNa0LUyEoFRQZkgvixM4OFcaGIIOM=",
3990 "path": "../systems/eldiron", 3990 "path": "../systems/eldiron",
3991 "type": "path" 3991 "type": "path"
3992 }, 3992 },
@@ -4012,7 +4012,7 @@
4012 }, 4012 },
4013 "locked": { 4013 "locked": {
4014 "lastModified": 1, 4014 "lastModified": 1,
4015 "narHash": "sha256-rQTnAiIRXzIVEORZtQ5olYOCUyZMX8E7pB5CtwNsLT8=", 4015 "narHash": "sha256-JEX+epBO3lxnGu5WtYc78V6PmQqDvWOada8/N/5sBbI=",
4016 "path": "../systems/monitoring-1", 4016 "path": "../systems/monitoring-1",
4017 "type": "path" 4017 "type": "path"
4018 }, 4018 },
@@ -4037,7 +4037,7 @@
4037 }, 4037 },
4038 "locked": { 4038 "locked": {
4039 "lastModified": 1, 4039 "lastModified": 1,
4040 "narHash": "sha256-Y8fj3YZOTJBzRyyCQWP2FJFSSucwMSqWp15xj4wq9wo=", 4040 "narHash": "sha256-EPiMbYALY6ZXf7ZwBOLzgRL9nH19XV0Ooe9jMCATM88=",
4041 "path": "../systems/quatresaisons", 4041 "path": "../systems/quatresaisons",
4042 "type": "path" 4042 "type": "path"
4043 }, 4043 },
@@ -4058,7 +4058,7 @@
4058 }, 4058 },
4059 "locked": { 4059 "locked": {
4060 "lastModified": 1, 4060 "lastModified": 1,
4061 "narHash": "sha256-OHoDl3aFFCQ6NOfRGefPo5xJazDKqnAo+a6GJw6VhNc=", 4061 "narHash": "sha256-ljV+NXn1W8rIrz6FU9gbjNCt4MEcNRGyNBofIyieJMo=",
4062 "path": "../systems/zoldene", 4062 "path": "../systems/zoldene",
4063 "type": "path" 4063 "type": "path"
4064 }, 4064 },
@@ -7225,7 +7225,7 @@
7225 }, 7225 },
7226 "locked": { 7226 "locked": {
7227 "lastModified": 1, 7227 "lastModified": 1,
7228 "narHash": "sha256-zNGorC75RMSwM35XiKvf8i9/PatepjxmgW7AAkhfHTc=", 7228 "narHash": "sha256-aFk+jktObN2sAh1pcgfaf3PH0LGaq8IkK9NlKUSTjoA=",
7229 "path": "../../flakes/private/opendmarc", 7229 "path": "../../flakes/private/opendmarc",
7230 "type": "path" 7230 "type": "path"
7231 }, 7231 },
@@ -7548,7 +7548,7 @@
7548 }, 7548 },
7549 "locked": { 7549 "locked": {
7550 "lastModified": 1, 7550 "lastModified": 1,
7551 "narHash": "sha256-upyulh3TzmYvV0Qn3uybOlG6sVzywk5SCm766k/cuqQ=", 7551 "narHash": "sha256-goXqWjXmM+5kv7uJ0Q0UI9Oj+Jsec2JmhOvyYxcq3sQ=",
7552 "path": "../../flakes/private/borg_backup", 7552 "path": "../../flakes/private/borg_backup",
7553 "type": "path" 7553 "type": "path"
7554 }, 7554 },
@@ -7564,7 +7564,7 @@
7564 }, 7564 },
7565 "locked": { 7565 "locked": {
7566 "lastModified": 1, 7566 "lastModified": 1,
7567 "narHash": "sha256-upyulh3TzmYvV0Qn3uybOlG6sVzywk5SCm766k/cuqQ=", 7567 "narHash": "sha256-goXqWjXmM+5kv7uJ0Q0UI9Oj+Jsec2JmhOvyYxcq3sQ=",
7568 "path": "../../flakes/private/borg_backup", 7568 "path": "../../flakes/private/borg_backup",
7569 "type": "path" 7569 "type": "path"
7570 }, 7570 },
@@ -7596,7 +7596,7 @@
7596 }, 7596 },
7597 "locked": { 7597 "locked": {
7598 "lastModified": 1, 7598 "lastModified": 1,
7599 "narHash": "sha256-meNl7Q9u50ot5ouEIOEqjq1m/1+gwipQcTtT3hI93kU=", 7599 "narHash": "sha256-m6hlfSiLmyu+MARFhvVufx0Mj0TLNnYdmAcNss/mKVY=",
7600 "path": "../../flakes/private/chatons", 7600 "path": "../../flakes/private/chatons",
7601 "type": "path" 7601 "type": "path"
7602 }, 7602 },
@@ -7608,7 +7608,7 @@
7608 "private-environment": { 7608 "private-environment": {
7609 "locked": { 7609 "locked": {
7610 "lastModified": 1, 7610 "lastModified": 1,
7611 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 7611 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
7612 "path": "../../flakes/private/environment", 7612 "path": "../../flakes/private/environment",
7613 "type": "path" 7613 "type": "path"
7614 }, 7614 },
@@ -7620,7 +7620,7 @@
7620 "private-environment_2": { 7620 "private-environment_2": {
7621 "locked": { 7621 "locked": {
7622 "lastModified": 1, 7622 "lastModified": 1,
7623 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 7623 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
7624 "path": "../../flakes/private/environment", 7624 "path": "../../flakes/private/environment",
7625 "type": "path" 7625 "type": "path"
7626 }, 7626 },
@@ -7639,7 +7639,7 @@
7639 }, 7639 },
7640 "locked": { 7640 "locked": {
7641 "lastModified": 1, 7641 "lastModified": 1,
7642 "narHash": "sha256-/Z5S7urMiCclBt3znFcTCz6fzTpO0OnPI2cjhdtCoTM=", 7642 "narHash": "sha256-3bGwQe6FfhbrzAmmaQN9LBjJ3hT+vTNL+I5ZkI972hw=",
7643 "path": "../../flakes/private/milters", 7643 "path": "../../flakes/private/milters",
7644 "type": "path" 7644 "type": "path"
7645 }, 7645 },
@@ -7657,7 +7657,7 @@
7657 }, 7657 },
7658 "locked": { 7658 "locked": {
7659 "lastModified": 1, 7659 "lastModified": 1,
7660 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 7660 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
7661 "path": "../../flakes/private/monitoring", 7661 "path": "../../flakes/private/monitoring",
7662 "type": "path" 7662 "type": "path"
7663 }, 7663 },
@@ -7692,7 +7692,7 @@
7692 }, 7692 },
7693 "locked": { 7693 "locked": {
7694 "lastModified": 1, 7694 "lastModified": 1,
7695 "narHash": "sha256-zNGorC75RMSwM35XiKvf8i9/PatepjxmgW7AAkhfHTc=", 7695 "narHash": "sha256-aFk+jktObN2sAh1pcgfaf3PH0LGaq8IkK9NlKUSTjoA=",
7696 "path": "../../flakes/private/opendmarc", 7696 "path": "../../flakes/private/opendmarc",
7697 "type": "path" 7697 "type": "path"
7698 }, 7698 },
@@ -7753,7 +7753,7 @@
7753 }, 7753 },
7754 "locked": { 7754 "locked": {
7755 "lastModified": 1, 7755 "lastModified": 1,
7756 "narHash": "sha256-jZn/LajHvVlJetDQioFezOsVrO92HjitxuD5MAPlUvo=", 7756 "narHash": "sha256-VjQgn4V81UeSO6ggkLt7xq22rV3NFCbUjzHkSNRtd0U=",
7757 "path": "../../flakes/private/ssh", 7757 "path": "../../flakes/private/ssh",
7758 "type": "path" 7758 "type": "path"
7759 }, 7759 },
@@ -7772,7 +7772,7 @@
7772 }, 7772 },
7773 "locked": { 7773 "locked": {
7774 "lastModified": 1, 7774 "lastModified": 1,
7775 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 7775 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
7776 "path": "../../flakes/private/system", 7776 "path": "../../flakes/private/system",
7777 "type": "path" 7777 "type": "path"
7778 }, 7778 },
@@ -7791,7 +7791,7 @@
7791 }, 7791 },
7792 "locked": { 7792 "locked": {
7793 "lastModified": 1, 7793 "lastModified": 1,
7794 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 7794 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
7795 "path": "../../flakes/private/system", 7795 "path": "../../flakes/private/system",
7796 "type": "path" 7796 "type": "path"
7797 }, 7797 },
@@ -8447,7 +8447,7 @@
8447 }, 8447 },
8448 "locked": { 8448 "locked": {
8449 "lastModified": 1, 8449 "lastModified": 1,
8450 "narHash": "sha256-upyulh3TzmYvV0Qn3uybOlG6sVzywk5SCm766k/cuqQ=", 8450 "narHash": "sha256-goXqWjXmM+5kv7uJ0Q0UI9Oj+Jsec2JmhOvyYxcq3sQ=",
8451 "path": "./private/borg_backup", 8451 "path": "./private/borg_backup",
8452 "type": "path" 8452 "type": "path"
8453 }, 8453 },
@@ -8479,7 +8479,7 @@
8479 }, 8479 },
8480 "locked": { 8480 "locked": {
8481 "lastModified": 1, 8481 "lastModified": 1,
8482 "narHash": "sha256-meNl7Q9u50ot5ouEIOEqjq1m/1+gwipQcTtT3hI93kU=", 8482 "narHash": "sha256-m6hlfSiLmyu+MARFhvVufx0Mj0TLNnYdmAcNss/mKVY=",
8483 "path": "./private/chatons", 8483 "path": "./private/chatons",
8484 "type": "path" 8484 "type": "path"
8485 }, 8485 },
@@ -8491,7 +8491,7 @@
8491 "s-private-environment": { 8491 "s-private-environment": {
8492 "locked": { 8492 "locked": {
8493 "lastModified": 1, 8493 "lastModified": 1,
8494 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 8494 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
8495 "path": "./private/environment", 8495 "path": "./private/environment",
8496 "type": "path" 8496 "type": "path"
8497 }, 8497 },
@@ -8507,7 +8507,7 @@
8507 }, 8507 },
8508 "locked": { 8508 "locked": {
8509 "lastModified": 1, 8509 "lastModified": 1,
8510 "narHash": "sha256-GgBpSALmb4F2Q8gU2A8tv+gU4xjiYHj8SnNJksYRhRw=", 8510 "narHash": "sha256-97QRfLMvzWXvLOqbvKo/xS1MhpXoCsq3qVJeMKxISXk=",
8511 "path": "./private/mail-relay", 8511 "path": "./private/mail-relay",
8512 "type": "path" 8512 "type": "path"
8513 }, 8513 },
@@ -8526,7 +8526,7 @@
8526 }, 8526 },
8527 "locked": { 8527 "locked": {
8528 "lastModified": 1, 8528 "lastModified": 1,
8529 "narHash": "sha256-/Z5S7urMiCclBt3znFcTCz6fzTpO0OnPI2cjhdtCoTM=", 8529 "narHash": "sha256-3bGwQe6FfhbrzAmmaQN9LBjJ3hT+vTNL+I5ZkI972hw=",
8530 "path": "./private/milters", 8530 "path": "./private/milters",
8531 "type": "path" 8531 "type": "path"
8532 }, 8532 },
@@ -8544,7 +8544,7 @@
8544 }, 8544 },
8545 "locked": { 8545 "locked": {
8546 "lastModified": 1, 8546 "lastModified": 1,
8547 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 8547 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
8548 "path": "./private/monitoring", 8548 "path": "./private/monitoring",
8549 "type": "path" 8549 "type": "path"
8550 }, 8550 },
@@ -8579,7 +8579,7 @@
8579 }, 8579 },
8580 "locked": { 8580 "locked": {
8581 "lastModified": 1, 8581 "lastModified": 1,
8582 "narHash": "sha256-zNGorC75RMSwM35XiKvf8i9/PatepjxmgW7AAkhfHTc=", 8582 "narHash": "sha256-aFk+jktObN2sAh1pcgfaf3PH0LGaq8IkK9NlKUSTjoA=",
8583 "path": "./private/opendmarc", 8583 "path": "./private/opendmarc",
8584 "type": "path" 8584 "type": "path"
8585 }, 8585 },
@@ -8640,7 +8640,7 @@
8640 }, 8640 },
8641 "locked": { 8641 "locked": {
8642 "lastModified": 1, 8642 "lastModified": 1,
8643 "narHash": "sha256-jZn/LajHvVlJetDQioFezOsVrO92HjitxuD5MAPlUvo=", 8643 "narHash": "sha256-VjQgn4V81UeSO6ggkLt7xq22rV3NFCbUjzHkSNRtd0U=",
8644 "path": "./private/ssh", 8644 "path": "./private/ssh",
8645 "type": "path" 8645 "type": "path"
8646 }, 8646 },
@@ -8659,7 +8659,7 @@
8659 }, 8659 },
8660 "locked": { 8660 "locked": {
8661 "lastModified": 1, 8661 "lastModified": 1,
8662 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 8662 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
8663 "path": "./private/system", 8663 "path": "./private/system",
8664 "type": "path" 8664 "type": "path"
8665 }, 8665 },
@@ -9313,7 +9313,7 @@
9313 }, 9313 },
9314 "locked": { 9314 "locked": {
9315 "lastModified": 1, 9315 "lastModified": 1,
9316 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 9316 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
9317 "path": "../../flakes/private/system", 9317 "path": "../../flakes/private/system",
9318 "type": "path" 9318 "type": "path"
9319 }, 9319 },
@@ -9332,7 +9332,7 @@
9332 }, 9332 },
9333 "locked": { 9333 "locked": {
9334 "lastModified": 1, 9334 "lastModified": 1,
9335 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 9335 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
9336 "path": "../../flakes/private/system", 9336 "path": "../../flakes/private/system",
9337 "type": "path" 9337 "type": "path"
9338 }, 9338 },
@@ -9351,7 +9351,7 @@
9351 }, 9351 },
9352 "locked": { 9352 "locked": {
9353 "lastModified": 1, 9353 "lastModified": 1,
9354 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 9354 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
9355 "path": "../../flakes/private/system", 9355 "path": "../../flakes/private/system",
9356 "type": "path" 9356 "type": "path"
9357 }, 9357 },
@@ -9370,7 +9370,7 @@
9370 }, 9370 },
9371 "locked": { 9371 "locked": {
9372 "lastModified": 1, 9372 "lastModified": 1,
9373 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 9373 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
9374 "path": "../../flakes/private/system", 9374 "path": "../../flakes/private/system",
9375 "type": "path" 9375 "type": "path"
9376 }, 9376 },
diff --git a/flakes/flake.lock b/flakes/flake.lock
index 1881d0f..8a409bf 100644
--- a/flakes/flake.lock
+++ b/flakes/flake.lock
@@ -119,7 +119,7 @@
119 }, 119 },
120 "locked": { 120 "locked": {
121 "lastModified": 1, 121 "lastModified": 1,
122 "narHash": "sha256-upyulh3TzmYvV0Qn3uybOlG6sVzywk5SCm766k/cuqQ=", 122 "narHash": "sha256-goXqWjXmM+5kv7uJ0Q0UI9Oj+Jsec2JmhOvyYxcq3sQ=",
123 "path": "../../flakes/private/borg_backup", 123 "path": "../../flakes/private/borg_backup",
124 "type": "path" 124 "type": "path"
125 }, 125 },
@@ -166,7 +166,7 @@
166 }, 166 },
167 "locked": { 167 "locked": {
168 "lastModified": 1, 168 "lastModified": 1,
169 "narHash": "sha256-meNl7Q9u50ot5ouEIOEqjq1m/1+gwipQcTtT3hI93kU=", 169 "narHash": "sha256-m6hlfSiLmyu+MARFhvVufx0Mj0TLNnYdmAcNss/mKVY=",
170 "path": "../../flakes/private/chatons", 170 "path": "../../flakes/private/chatons",
171 "type": "path" 171 "type": "path"
172 }, 172 },
@@ -181,7 +181,7 @@
181 }, 181 },
182 "locked": { 182 "locked": {
183 "lastModified": 1, 183 "lastModified": 1,
184 "narHash": "sha256-meNl7Q9u50ot5ouEIOEqjq1m/1+gwipQcTtT3hI93kU=", 184 "narHash": "sha256-m6hlfSiLmyu+MARFhvVufx0Mj0TLNnYdmAcNss/mKVY=",
185 "path": "../../flakes/private/chatons", 185 "path": "../../flakes/private/chatons",
186 "type": "path" 186 "type": "path"
187 }, 187 },
@@ -561,7 +561,7 @@
561 "environment": { 561 "environment": {
562 "locked": { 562 "locked": {
563 "lastModified": 1, 563 "lastModified": 1,
564 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 564 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
565 "path": "../environment", 565 "path": "../environment",
566 "type": "path" 566 "type": "path"
567 }, 567 },
@@ -573,7 +573,7 @@
573 "environment_10": { 573 "environment_10": {
574 "locked": { 574 "locked": {
575 "lastModified": 1, 575 "lastModified": 1,
576 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 576 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
577 "path": "../environment", 577 "path": "../environment",
578 "type": "path" 578 "type": "path"
579 }, 579 },
@@ -585,7 +585,7 @@
585 "environment_11": { 585 "environment_11": {
586 "locked": { 586 "locked": {
587 "lastModified": 1, 587 "lastModified": 1,
588 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 588 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
589 "path": "../environment", 589 "path": "../environment",
590 "type": "path" 590 "type": "path"
591 }, 591 },
@@ -597,7 +597,7 @@
597 "environment_12": { 597 "environment_12": {
598 "locked": { 598 "locked": {
599 "lastModified": 1, 599 "lastModified": 1,
600 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 600 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
601 "path": "../environment", 601 "path": "../environment",
602 "type": "path" 602 "type": "path"
603 }, 603 },
@@ -609,7 +609,7 @@
609 "environment_13": { 609 "environment_13": {
610 "locked": { 610 "locked": {
611 "lastModified": 1, 611 "lastModified": 1,
612 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 612 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
613 "path": "../environment", 613 "path": "../environment",
614 "type": "path" 614 "type": "path"
615 }, 615 },
@@ -621,7 +621,7 @@
621 "environment_14": { 621 "environment_14": {
622 "locked": { 622 "locked": {
623 "lastModified": 1, 623 "lastModified": 1,
624 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 624 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
625 "path": "../environment", 625 "path": "../environment",
626 "type": "path" 626 "type": "path"
627 }, 627 },
@@ -633,7 +633,7 @@
633 "environment_15": { 633 "environment_15": {
634 "locked": { 634 "locked": {
635 "lastModified": 1, 635 "lastModified": 1,
636 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 636 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
637 "path": "../environment", 637 "path": "../environment",
638 "type": "path" 638 "type": "path"
639 }, 639 },
@@ -645,7 +645,7 @@
645 "environment_16": { 645 "environment_16": {
646 "locked": { 646 "locked": {
647 "lastModified": 1, 647 "lastModified": 1,
648 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 648 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
649 "path": "../environment", 649 "path": "../environment",
650 "type": "path" 650 "type": "path"
651 }, 651 },
@@ -657,7 +657,7 @@
657 "environment_17": { 657 "environment_17": {
658 "locked": { 658 "locked": {
659 "lastModified": 1, 659 "lastModified": 1,
660 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 660 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
661 "path": "../environment", 661 "path": "../environment",
662 "type": "path" 662 "type": "path"
663 }, 663 },
@@ -669,7 +669,7 @@
669 "environment_18": { 669 "environment_18": {
670 "locked": { 670 "locked": {
671 "lastModified": 1, 671 "lastModified": 1,
672 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 672 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
673 "path": "../environment", 673 "path": "../environment",
674 "type": "path" 674 "type": "path"
675 }, 675 },
@@ -681,7 +681,7 @@
681 "environment_19": { 681 "environment_19": {
682 "locked": { 682 "locked": {
683 "lastModified": 1, 683 "lastModified": 1,
684 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 684 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
685 "path": "../environment", 685 "path": "../environment",
686 "type": "path" 686 "type": "path"
687 }, 687 },
@@ -693,7 +693,7 @@
693 "environment_2": { 693 "environment_2": {
694 "locked": { 694 "locked": {
695 "lastModified": 1, 695 "lastModified": 1,
696 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 696 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
697 "path": "../environment", 697 "path": "../environment",
698 "type": "path" 698 "type": "path"
699 }, 699 },
@@ -705,7 +705,7 @@
705 "environment_20": { 705 "environment_20": {
706 "locked": { 706 "locked": {
707 "lastModified": 1, 707 "lastModified": 1,
708 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 708 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
709 "path": "../../flakes/private/environment", 709 "path": "../../flakes/private/environment",
710 "type": "path" 710 "type": "path"
711 }, 711 },
@@ -717,7 +717,7 @@
717 "environment_21": { 717 "environment_21": {
718 "locked": { 718 "locked": {
719 "lastModified": 1, 719 "lastModified": 1,
720 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 720 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
721 "path": "../environment", 721 "path": "../environment",
722 "type": "path" 722 "type": "path"
723 }, 723 },
@@ -729,7 +729,7 @@
729 "environment_22": { 729 "environment_22": {
730 "locked": { 730 "locked": {
731 "lastModified": 1, 731 "lastModified": 1,
732 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 732 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
733 "path": "../environment", 733 "path": "../environment",
734 "type": "path" 734 "type": "path"
735 }, 735 },
@@ -741,7 +741,7 @@
741 "environment_23": { 741 "environment_23": {
742 "locked": { 742 "locked": {
743 "lastModified": 1, 743 "lastModified": 1,
744 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 744 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
745 "path": "../environment", 745 "path": "../environment",
746 "type": "path" 746 "type": "path"
747 }, 747 },
@@ -753,7 +753,7 @@
753 "environment_24": { 753 "environment_24": {
754 "locked": { 754 "locked": {
755 "lastModified": 1, 755 "lastModified": 1,
756 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 756 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
757 "path": "../../flakes/private/environment", 757 "path": "../../flakes/private/environment",
758 "type": "path" 758 "type": "path"
759 }, 759 },
@@ -765,7 +765,7 @@
765 "environment_25": { 765 "environment_25": {
766 "locked": { 766 "locked": {
767 "lastModified": 1, 767 "lastModified": 1,
768 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 768 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
769 "path": "../environment", 769 "path": "../environment",
770 "type": "path" 770 "type": "path"
771 }, 771 },
@@ -777,7 +777,7 @@
777 "environment_26": { 777 "environment_26": {
778 "locked": { 778 "locked": {
779 "lastModified": 1, 779 "lastModified": 1,
780 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 780 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
781 "path": "../environment", 781 "path": "../environment",
782 "type": "path" 782 "type": "path"
783 }, 783 },
@@ -789,7 +789,7 @@
789 "environment_27": { 789 "environment_27": {
790 "locked": { 790 "locked": {
791 "lastModified": 1, 791 "lastModified": 1,
792 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 792 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
793 "path": "../environment", 793 "path": "../environment",
794 "type": "path" 794 "type": "path"
795 }, 795 },
@@ -801,7 +801,7 @@
801 "environment_28": { 801 "environment_28": {
802 "locked": { 802 "locked": {
803 "lastModified": 1, 803 "lastModified": 1,
804 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 804 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
805 "path": "../environment", 805 "path": "../environment",
806 "type": "path" 806 "type": "path"
807 }, 807 },
@@ -813,7 +813,7 @@
813 "environment_29": { 813 "environment_29": {
814 "locked": { 814 "locked": {
815 "lastModified": 1, 815 "lastModified": 1,
816 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 816 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
817 "path": "../environment", 817 "path": "../environment",
818 "type": "path" 818 "type": "path"
819 }, 819 },
@@ -825,7 +825,7 @@
825 "environment_3": { 825 "environment_3": {
826 "locked": { 826 "locked": {
827 "lastModified": 1, 827 "lastModified": 1,
828 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 828 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
829 "path": "../../flakes/private/environment", 829 "path": "../../flakes/private/environment",
830 "type": "path" 830 "type": "path"
831 }, 831 },
@@ -837,7 +837,7 @@
837 "environment_30": { 837 "environment_30": {
838 "locked": { 838 "locked": {
839 "lastModified": 1, 839 "lastModified": 1,
840 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 840 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
841 "path": "../environment", 841 "path": "../environment",
842 "type": "path" 842 "type": "path"
843 }, 843 },
@@ -849,7 +849,7 @@
849 "environment_31": { 849 "environment_31": {
850 "locked": { 850 "locked": {
851 "lastModified": 1, 851 "lastModified": 1,
852 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 852 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
853 "path": "../environment", 853 "path": "../environment",
854 "type": "path" 854 "type": "path"
855 }, 855 },
@@ -861,7 +861,7 @@
861 "environment_32": { 861 "environment_32": {
862 "locked": { 862 "locked": {
863 "lastModified": 1, 863 "lastModified": 1,
864 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 864 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
865 "path": "../environment", 865 "path": "../environment",
866 "type": "path" 866 "type": "path"
867 }, 867 },
@@ -873,7 +873,7 @@
873 "environment_33": { 873 "environment_33": {
874 "locked": { 874 "locked": {
875 "lastModified": 1, 875 "lastModified": 1,
876 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 876 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
877 "path": "../environment", 877 "path": "../environment",
878 "type": "path" 878 "type": "path"
879 }, 879 },
@@ -885,7 +885,7 @@
885 "environment_34": { 885 "environment_34": {
886 "locked": { 886 "locked": {
887 "lastModified": 1, 887 "lastModified": 1,
888 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 888 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
889 "path": "../environment", 889 "path": "../environment",
890 "type": "path" 890 "type": "path"
891 }, 891 },
@@ -897,7 +897,7 @@
897 "environment_35": { 897 "environment_35": {
898 "locked": { 898 "locked": {
899 "lastModified": 1, 899 "lastModified": 1,
900 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 900 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
901 "path": "../environment", 901 "path": "../environment",
902 "type": "path" 902 "type": "path"
903 }, 903 },
@@ -909,7 +909,7 @@
909 "environment_36": { 909 "environment_36": {
910 "locked": { 910 "locked": {
911 "lastModified": 1, 911 "lastModified": 1,
912 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 912 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
913 "path": "../environment", 913 "path": "../environment",
914 "type": "path" 914 "type": "path"
915 }, 915 },
@@ -921,7 +921,7 @@
921 "environment_4": { 921 "environment_4": {
922 "locked": { 922 "locked": {
923 "lastModified": 1, 923 "lastModified": 1,
924 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 924 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
925 "path": "../environment", 925 "path": "../environment",
926 "type": "path" 926 "type": "path"
927 }, 927 },
@@ -933,7 +933,7 @@
933 "environment_5": { 933 "environment_5": {
934 "locked": { 934 "locked": {
935 "lastModified": 1, 935 "lastModified": 1,
936 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 936 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
937 "path": "../environment", 937 "path": "../environment",
938 "type": "path" 938 "type": "path"
939 }, 939 },
@@ -945,7 +945,7 @@
945 "environment_6": { 945 "environment_6": {
946 "locked": { 946 "locked": {
947 "lastModified": 1, 947 "lastModified": 1,
948 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 948 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
949 "path": "../environment", 949 "path": "../environment",
950 "type": "path" 950 "type": "path"
951 }, 951 },
@@ -957,7 +957,7 @@
957 "environment_7": { 957 "environment_7": {
958 "locked": { 958 "locked": {
959 "lastModified": 1, 959 "lastModified": 1,
960 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 960 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
961 "path": "../environment", 961 "path": "../environment",
962 "type": "path" 962 "type": "path"
963 }, 963 },
@@ -969,7 +969,7 @@
969 "environment_8": { 969 "environment_8": {
970 "locked": { 970 "locked": {
971 "lastModified": 1, 971 "lastModified": 1,
972 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 972 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
973 "path": "../environment", 973 "path": "../environment",
974 "type": "path" 974 "type": "path"
975 }, 975 },
@@ -981,7 +981,7 @@
981 "environment_9": { 981 "environment_9": {
982 "locked": { 982 "locked": {
983 "lastModified": 1, 983 "lastModified": 1,
984 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 984 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
985 "path": "../../flakes/private/environment", 985 "path": "../../flakes/private/environment",
986 "type": "path" 986 "type": "path"
987 }, 987 },
@@ -2752,7 +2752,7 @@
2752 }, 2752 },
2753 "locked": { 2753 "locked": {
2754 "lastModified": 1, 2754 "lastModified": 1,
2755 "narHash": "sha256-GgBpSALmb4F2Q8gU2A8tv+gU4xjiYHj8SnNJksYRhRw=", 2755 "narHash": "sha256-97QRfLMvzWXvLOqbvKo/xS1MhpXoCsq3qVJeMKxISXk=",
2756 "path": "../../flakes/private/mail-relay", 2756 "path": "../../flakes/private/mail-relay",
2757 "type": "path" 2757 "type": "path"
2758 }, 2758 },
@@ -2768,7 +2768,7 @@
2768 }, 2768 },
2769 "locked": { 2769 "locked": {
2770 "lastModified": 1, 2770 "lastModified": 1,
2771 "narHash": "sha256-GgBpSALmb4F2Q8gU2A8tv+gU4xjiYHj8SnNJksYRhRw=", 2771 "narHash": "sha256-97QRfLMvzWXvLOqbvKo/xS1MhpXoCsq3qVJeMKxISXk=",
2772 "path": "../../flakes/private/mail-relay", 2772 "path": "../../flakes/private/mail-relay",
2773 "type": "path" 2773 "type": "path"
2774 }, 2774 },
@@ -2861,7 +2861,7 @@
2861 }, 2861 },
2862 "locked": { 2862 "locked": {
2863 "lastModified": 1, 2863 "lastModified": 1,
2864 "narHash": "sha256-/Z5S7urMiCclBt3znFcTCz6fzTpO0OnPI2cjhdtCoTM=", 2864 "narHash": "sha256-3bGwQe6FfhbrzAmmaQN9LBjJ3hT+vTNL+I5ZkI972hw=",
2865 "path": "../../flakes/private/milters", 2865 "path": "../../flakes/private/milters",
2866 "type": "path" 2866 "type": "path"
2867 }, 2867 },
@@ -2879,7 +2879,7 @@
2879 }, 2879 },
2880 "locked": { 2880 "locked": {
2881 "lastModified": 1, 2881 "lastModified": 1,
2882 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 2882 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
2883 "path": "../../flakes/private/monitoring", 2883 "path": "../../flakes/private/monitoring",
2884 "type": "path" 2884 "type": "path"
2885 }, 2885 },
@@ -2897,7 +2897,7 @@
2897 }, 2897 },
2898 "locked": { 2898 "locked": {
2899 "lastModified": 1, 2899 "lastModified": 1,
2900 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 2900 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
2901 "path": "../../flakes/private/monitoring", 2901 "path": "../../flakes/private/monitoring",
2902 "type": "path" 2902 "type": "path"
2903 }, 2903 },
@@ -2915,7 +2915,7 @@
2915 }, 2915 },
2916 "locked": { 2916 "locked": {
2917 "lastModified": 1, 2917 "lastModified": 1,
2918 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 2918 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
2919 "path": "../../flakes/private/monitoring", 2919 "path": "../../flakes/private/monitoring",
2920 "type": "path" 2920 "type": "path"
2921 }, 2921 },
@@ -2933,7 +2933,7 @@
2933 }, 2933 },
2934 "locked": { 2934 "locked": {
2935 "lastModified": 1, 2935 "lastModified": 1,
2936 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 2936 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
2937 "path": "../../flakes/private/monitoring", 2937 "path": "../../flakes/private/monitoring",
2938 "type": "path" 2938 "type": "path"
2939 }, 2939 },
@@ -3818,7 +3818,7 @@
3818 }, 3818 },
3819 "locked": { 3819 "locked": {
3820 "lastModified": 1, 3820 "lastModified": 1,
3821 "narHash": "sha256-jYDd12hVtZ0RjPzp/xM3qmi7FXPPBykqwd6vwrgwf4c=", 3821 "narHash": "sha256-ZHehuF4gKmUT5HHNMZWUXmUO5was3LjBT0XUFbtC3ME=",
3822 "path": "../systems/backup-2", 3822 "path": "../systems/backup-2",
3823 "type": "path" 3823 "type": "path"
3824 }, 3824 },
@@ -3841,7 +3841,7 @@
3841 }, 3841 },
3842 "locked": { 3842 "locked": {
3843 "lastModified": 1, 3843 "lastModified": 1,
3844 "narHash": "sha256-Auu8c8lLeB6+qvZrv+KxdguCN4sjSDwI/FNoSx6Aoj0=", 3844 "narHash": "sha256-6bFst91luDoeASFe1Bm2dbiPknAEf1oIi/g+XVyybNM=",
3845 "path": "../systems/dilion", 3845 "path": "../systems/dilion",
3846 "type": "path" 3846 "type": "path"
3847 }, 3847 },
@@ -3890,7 +3890,7 @@
3890 }, 3890 },
3891 "locked": { 3891 "locked": {
3892 "lastModified": 1, 3892 "lastModified": 1,
3893 "narHash": "sha256-v+ViigN/4JW/nivZkfWgcOzlIN1obZ3yq+0BOf0rA5Q=", 3893 "narHash": "sha256-QbkQdVOe9KfYcBfNa0LUyEoFRQZkgvixM4OFcaGIIOM=",
3894 "path": "../systems/eldiron", 3894 "path": "../systems/eldiron",
3895 "type": "path" 3895 "type": "path"
3896 }, 3896 },
@@ -3916,7 +3916,7 @@
3916 }, 3916 },
3917 "locked": { 3917 "locked": {
3918 "lastModified": 1, 3918 "lastModified": 1,
3919 "narHash": "sha256-rQTnAiIRXzIVEORZtQ5olYOCUyZMX8E7pB5CtwNsLT8=", 3919 "narHash": "sha256-JEX+epBO3lxnGu5WtYc78V6PmQqDvWOada8/N/5sBbI=",
3920 "path": "../systems/monitoring-1", 3920 "path": "../systems/monitoring-1",
3921 "type": "path" 3921 "type": "path"
3922 }, 3922 },
@@ -3941,7 +3941,7 @@
3941 }, 3941 },
3942 "locked": { 3942 "locked": {
3943 "lastModified": 1, 3943 "lastModified": 1,
3944 "narHash": "sha256-Y8fj3YZOTJBzRyyCQWP2FJFSSucwMSqWp15xj4wq9wo=", 3944 "narHash": "sha256-EPiMbYALY6ZXf7ZwBOLzgRL9nH19XV0Ooe9jMCATM88=",
3945 "path": "../systems/quatresaisons", 3945 "path": "../systems/quatresaisons",
3946 "type": "path" 3946 "type": "path"
3947 }, 3947 },
@@ -3962,7 +3962,7 @@
3962 }, 3962 },
3963 "locked": { 3963 "locked": {
3964 "lastModified": 1, 3964 "lastModified": 1,
3965 "narHash": "sha256-OHoDl3aFFCQ6NOfRGefPo5xJazDKqnAo+a6GJw6VhNc=", 3965 "narHash": "sha256-ljV+NXn1W8rIrz6FU9gbjNCt4MEcNRGyNBofIyieJMo=",
3966 "path": "../systems/zoldene", 3966 "path": "../systems/zoldene",
3967 "type": "path" 3967 "type": "path"
3968 }, 3968 },
@@ -7051,7 +7051,7 @@
7051 }, 7051 },
7052 "locked": { 7052 "locked": {
7053 "lastModified": 1, 7053 "lastModified": 1,
7054 "narHash": "sha256-zNGorC75RMSwM35XiKvf8i9/PatepjxmgW7AAkhfHTc=", 7054 "narHash": "sha256-aFk+jktObN2sAh1pcgfaf3PH0LGaq8IkK9NlKUSTjoA=",
7055 "path": "../../flakes/private/opendmarc", 7055 "path": "../../flakes/private/opendmarc",
7056 "type": "path" 7056 "type": "path"
7057 }, 7057 },
@@ -7374,7 +7374,7 @@
7374 }, 7374 },
7375 "locked": { 7375 "locked": {
7376 "lastModified": 1, 7376 "lastModified": 1,
7377 "narHash": "sha256-upyulh3TzmYvV0Qn3uybOlG6sVzywk5SCm766k/cuqQ=", 7377 "narHash": "sha256-goXqWjXmM+5kv7uJ0Q0UI9Oj+Jsec2JmhOvyYxcq3sQ=",
7378 "path": "../../flakes/private/borg_backup", 7378 "path": "../../flakes/private/borg_backup",
7379 "type": "path" 7379 "type": "path"
7380 }, 7380 },
@@ -7390,7 +7390,7 @@
7390 }, 7390 },
7391 "locked": { 7391 "locked": {
7392 "lastModified": 1, 7392 "lastModified": 1,
7393 "narHash": "sha256-upyulh3TzmYvV0Qn3uybOlG6sVzywk5SCm766k/cuqQ=", 7393 "narHash": "sha256-goXqWjXmM+5kv7uJ0Q0UI9Oj+Jsec2JmhOvyYxcq3sQ=",
7394 "path": "../../flakes/private/borg_backup", 7394 "path": "../../flakes/private/borg_backup",
7395 "type": "path" 7395 "type": "path"
7396 }, 7396 },
@@ -7422,7 +7422,7 @@
7422 }, 7422 },
7423 "locked": { 7423 "locked": {
7424 "lastModified": 1, 7424 "lastModified": 1,
7425 "narHash": "sha256-meNl7Q9u50ot5ouEIOEqjq1m/1+gwipQcTtT3hI93kU=", 7425 "narHash": "sha256-m6hlfSiLmyu+MARFhvVufx0Mj0TLNnYdmAcNss/mKVY=",
7426 "path": "../../flakes/private/chatons", 7426 "path": "../../flakes/private/chatons",
7427 "type": "path" 7427 "type": "path"
7428 }, 7428 },
@@ -7434,7 +7434,7 @@
7434 "private-environment": { 7434 "private-environment": {
7435 "locked": { 7435 "locked": {
7436 "lastModified": 1, 7436 "lastModified": 1,
7437 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 7437 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
7438 "path": "../../flakes/private/environment", 7438 "path": "../../flakes/private/environment",
7439 "type": "path" 7439 "type": "path"
7440 }, 7440 },
@@ -7446,7 +7446,7 @@
7446 "private-environment_2": { 7446 "private-environment_2": {
7447 "locked": { 7447 "locked": {
7448 "lastModified": 1, 7448 "lastModified": 1,
7449 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 7449 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
7450 "path": "../../flakes/private/environment", 7450 "path": "../../flakes/private/environment",
7451 "type": "path" 7451 "type": "path"
7452 }, 7452 },
@@ -7465,7 +7465,7 @@
7465 }, 7465 },
7466 "locked": { 7466 "locked": {
7467 "lastModified": 1, 7467 "lastModified": 1,
7468 "narHash": "sha256-/Z5S7urMiCclBt3znFcTCz6fzTpO0OnPI2cjhdtCoTM=", 7468 "narHash": "sha256-3bGwQe6FfhbrzAmmaQN9LBjJ3hT+vTNL+I5ZkI972hw=",
7469 "path": "../../flakes/private/milters", 7469 "path": "../../flakes/private/milters",
7470 "type": "path" 7470 "type": "path"
7471 }, 7471 },
@@ -7483,7 +7483,7 @@
7483 }, 7483 },
7484 "locked": { 7484 "locked": {
7485 "lastModified": 1, 7485 "lastModified": 1,
7486 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 7486 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
7487 "path": "../../flakes/private/monitoring", 7487 "path": "../../flakes/private/monitoring",
7488 "type": "path" 7488 "type": "path"
7489 }, 7489 },
@@ -7518,7 +7518,7 @@
7518 }, 7518 },
7519 "locked": { 7519 "locked": {
7520 "lastModified": 1, 7520 "lastModified": 1,
7521 "narHash": "sha256-zNGorC75RMSwM35XiKvf8i9/PatepjxmgW7AAkhfHTc=", 7521 "narHash": "sha256-aFk+jktObN2sAh1pcgfaf3PH0LGaq8IkK9NlKUSTjoA=",
7522 "path": "../../flakes/private/opendmarc", 7522 "path": "../../flakes/private/opendmarc",
7523 "type": "path" 7523 "type": "path"
7524 }, 7524 },
@@ -7579,7 +7579,7 @@
7579 }, 7579 },
7580 "locked": { 7580 "locked": {
7581 "lastModified": 1, 7581 "lastModified": 1,
7582 "narHash": "sha256-jZn/LajHvVlJetDQioFezOsVrO92HjitxuD5MAPlUvo=", 7582 "narHash": "sha256-VjQgn4V81UeSO6ggkLt7xq22rV3NFCbUjzHkSNRtd0U=",
7583 "path": "../../flakes/private/ssh", 7583 "path": "../../flakes/private/ssh",
7584 "type": "path" 7584 "type": "path"
7585 }, 7585 },
@@ -7598,7 +7598,7 @@
7598 }, 7598 },
7599 "locked": { 7599 "locked": {
7600 "lastModified": 1, 7600 "lastModified": 1,
7601 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 7601 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
7602 "path": "../../flakes/private/system", 7602 "path": "../../flakes/private/system",
7603 "type": "path" 7603 "type": "path"
7604 }, 7604 },
@@ -7617,7 +7617,7 @@
7617 }, 7617 },
7618 "locked": { 7618 "locked": {
7619 "lastModified": 1, 7619 "lastModified": 1,
7620 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 7620 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
7621 "path": "../../flakes/private/system", 7621 "path": "../../flakes/private/system",
7622 "type": "path" 7622 "type": "path"
7623 }, 7623 },
@@ -8313,7 +8313,7 @@
8313 }, 8313 },
8314 "locked": { 8314 "locked": {
8315 "lastModified": 1, 8315 "lastModified": 1,
8316 "narHash": "sha256-upyulh3TzmYvV0Qn3uybOlG6sVzywk5SCm766k/cuqQ=", 8316 "narHash": "sha256-goXqWjXmM+5kv7uJ0Q0UI9Oj+Jsec2JmhOvyYxcq3sQ=",
8317 "path": "./private/borg_backup", 8317 "path": "./private/borg_backup",
8318 "type": "path" 8318 "type": "path"
8319 }, 8319 },
@@ -8345,7 +8345,7 @@
8345 }, 8345 },
8346 "locked": { 8346 "locked": {
8347 "lastModified": 1, 8347 "lastModified": 1,
8348 "narHash": "sha256-meNl7Q9u50ot5ouEIOEqjq1m/1+gwipQcTtT3hI93kU=", 8348 "narHash": "sha256-m6hlfSiLmyu+MARFhvVufx0Mj0TLNnYdmAcNss/mKVY=",
8349 "path": "./private/chatons", 8349 "path": "./private/chatons",
8350 "type": "path" 8350 "type": "path"
8351 }, 8351 },
@@ -8357,7 +8357,7 @@
8357 "s-private-environment": { 8357 "s-private-environment": {
8358 "locked": { 8358 "locked": {
8359 "lastModified": 1, 8359 "lastModified": 1,
8360 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 8360 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
8361 "path": "./private/environment", 8361 "path": "./private/environment",
8362 "type": "path" 8362 "type": "path"
8363 }, 8363 },
@@ -8373,7 +8373,7 @@
8373 }, 8373 },
8374 "locked": { 8374 "locked": {
8375 "lastModified": 1, 8375 "lastModified": 1,
8376 "narHash": "sha256-GgBpSALmb4F2Q8gU2A8tv+gU4xjiYHj8SnNJksYRhRw=", 8376 "narHash": "sha256-97QRfLMvzWXvLOqbvKo/xS1MhpXoCsq3qVJeMKxISXk=",
8377 "path": "./private/mail-relay", 8377 "path": "./private/mail-relay",
8378 "type": "path" 8378 "type": "path"
8379 }, 8379 },
@@ -8392,7 +8392,7 @@
8392 }, 8392 },
8393 "locked": { 8393 "locked": {
8394 "lastModified": 1, 8394 "lastModified": 1,
8395 "narHash": "sha256-/Z5S7urMiCclBt3znFcTCz6fzTpO0OnPI2cjhdtCoTM=", 8395 "narHash": "sha256-3bGwQe6FfhbrzAmmaQN9LBjJ3hT+vTNL+I5ZkI972hw=",
8396 "path": "./private/milters", 8396 "path": "./private/milters",
8397 "type": "path" 8397 "type": "path"
8398 }, 8398 },
@@ -8410,7 +8410,7 @@
8410 }, 8410 },
8411 "locked": { 8411 "locked": {
8412 "lastModified": 1, 8412 "lastModified": 1,
8413 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 8413 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
8414 "path": "./private/monitoring", 8414 "path": "./private/monitoring",
8415 "type": "path" 8415 "type": "path"
8416 }, 8416 },
@@ -8445,7 +8445,7 @@
8445 }, 8445 },
8446 "locked": { 8446 "locked": {
8447 "lastModified": 1, 8447 "lastModified": 1,
8448 "narHash": "sha256-zNGorC75RMSwM35XiKvf8i9/PatepjxmgW7AAkhfHTc=", 8448 "narHash": "sha256-aFk+jktObN2sAh1pcgfaf3PH0LGaq8IkK9NlKUSTjoA=",
8449 "path": "./private/opendmarc", 8449 "path": "./private/opendmarc",
8450 "type": "path" 8450 "type": "path"
8451 }, 8451 },
@@ -8506,7 +8506,7 @@
8506 }, 8506 },
8507 "locked": { 8507 "locked": {
8508 "lastModified": 1, 8508 "lastModified": 1,
8509 "narHash": "sha256-jZn/LajHvVlJetDQioFezOsVrO92HjitxuD5MAPlUvo=", 8509 "narHash": "sha256-VjQgn4V81UeSO6ggkLt7xq22rV3NFCbUjzHkSNRtd0U=",
8510 "path": "./private/ssh", 8510 "path": "./private/ssh",
8511 "type": "path" 8511 "type": "path"
8512 }, 8512 },
@@ -8525,7 +8525,7 @@
8525 }, 8525 },
8526 "locked": { 8526 "locked": {
8527 "lastModified": 1, 8527 "lastModified": 1,
8528 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 8528 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
8529 "path": "./private/system", 8529 "path": "./private/system",
8530 "type": "path" 8530 "type": "path"
8531 }, 8531 },
@@ -9179,7 +9179,7 @@
9179 }, 9179 },
9180 "locked": { 9180 "locked": {
9181 "lastModified": 1, 9181 "lastModified": 1,
9182 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 9182 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
9183 "path": "../../flakes/private/system", 9183 "path": "../../flakes/private/system",
9184 "type": "path" 9184 "type": "path"
9185 }, 9185 },
@@ -9198,7 +9198,7 @@
9198 }, 9198 },
9199 "locked": { 9199 "locked": {
9200 "lastModified": 1, 9200 "lastModified": 1,
9201 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 9201 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
9202 "path": "../../flakes/private/system", 9202 "path": "../../flakes/private/system",
9203 "type": "path" 9203 "type": "path"
9204 }, 9204 },
@@ -9217,7 +9217,7 @@
9217 }, 9217 },
9218 "locked": { 9218 "locked": {
9219 "lastModified": 1, 9219 "lastModified": 1,
9220 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 9220 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
9221 "path": "../../flakes/private/system", 9221 "path": "../../flakes/private/system",
9222 "type": "path" 9222 "type": "path"
9223 }, 9223 },
@@ -9236,7 +9236,7 @@
9236 }, 9236 },
9237 "locked": { 9237 "locked": {
9238 "lastModified": 1, 9238 "lastModified": 1,
9239 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 9239 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
9240 "path": "../../flakes/private/system", 9240 "path": "../../flakes/private/system",
9241 "type": "path" 9241 "type": "path"
9242 }, 9242 },
diff --git a/flakes/private/borg_backup/flake.lock b/flakes/private/borg_backup/flake.lock
index 86ea364..dfa45b4 100644
--- a/flakes/private/borg_backup/flake.lock
+++ b/flakes/private/borg_backup/flake.lock
@@ -3,7 +3,7 @@
3 "environment": { 3 "environment": {
4 "locked": { 4 "locked": {
5 "lastModified": 1, 5 "lastModified": 1,
6 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 6 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
7 "path": "../environment", 7 "path": "../environment",
8 "type": "path" 8 "type": "path"
9 }, 9 },
diff --git a/flakes/private/chatons/flake.lock b/flakes/private/chatons/flake.lock
index 14bc263..d244dc3 100644
--- a/flakes/private/chatons/flake.lock
+++ b/flakes/private/chatons/flake.lock
@@ -3,7 +3,7 @@
3 "environment": { 3 "environment": {
4 "locked": { 4 "locked": {
5 "lastModified": 1, 5 "lastModified": 1,
6 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 6 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
7 "path": "../environment", 7 "path": "../environment",
8 "type": "path" 8 "type": "path"
9 }, 9 },
diff --git a/flakes/private/environment/flake.nix b/flakes/private/environment/flake.nix
index 9df316d..9305f66 100644
--- a/flakes/private/environment/flake.nix
+++ b/flakes/private/environment/flake.nix
@@ -321,6 +321,34 @@
321 options = ldapOptions; 321 options = ldapOptions;
322 }; 322 };
323 }; 323 };
324 wireguard = mkOption {
325 description = "Wireguard networks configuration";
326 default = {};
327 type = attrsOf (submodule {
328 options = {
329 subnet = mkOption {
330 type = str;
331 description = "Subnet to use for this network";
332 };
333 subnetLength = mkOption {
334 type = str;
335 description = "Subnet length for this network";
336 };
337 devices = mkOption {
338 description = "Devices part of this network";
339 type = attrsOf (submodule {
340 options = {
341 public = mkOption { type = nullOr str; default = null; description = "Public key of the host"; };
342 internalHost = mkEnableOption "Refer to internal host configuration";
343 externalIp = mkOption { type = nullOr str; default = null; description = "external ip to contact"; };
344 ip = mkOption { type = str; description = "ip suffix to use"; };
345 port = mkOption { type = nullOr port; description = "port to listen to"; default = null; };
346 };
347 });
348 };
349 };
350 });
351 };
324 databases = mkOption { 352 databases = mkOption {
325 description = "Databases configuration"; 353 description = "Databases configuration";
326 type = submodule { 354 type = submodule {
diff --git a/flakes/private/mail-relay/flake.lock b/flakes/private/mail-relay/flake.lock
index 86ea364..dfa45b4 100644
--- a/flakes/private/mail-relay/flake.lock
+++ b/flakes/private/mail-relay/flake.lock
@@ -3,7 +3,7 @@
3 "environment": { 3 "environment": {
4 "locked": { 4 "locked": {
5 "lastModified": 1, 5 "lastModified": 1,
6 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 6 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
7 "path": "../environment", 7 "path": "../environment",
8 "type": "path" 8 "type": "path"
9 }, 9 },
diff --git a/flakes/private/milters/flake.lock b/flakes/private/milters/flake.lock
index 673c36e..9755c25 100644
--- a/flakes/private/milters/flake.lock
+++ b/flakes/private/milters/flake.lock
@@ -3,7 +3,7 @@
3 "environment": { 3 "environment": {
4 "locked": { 4 "locked": {
5 "lastModified": 1, 5 "lastModified": 1,
6 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 6 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
7 "path": "../environment", 7 "path": "../environment",
8 "type": "path" 8 "type": "path"
9 }, 9 },
diff --git a/flakes/private/monitoring/flake.lock b/flakes/private/monitoring/flake.lock
index 7f03e17..6232a08 100644
--- a/flakes/private/monitoring/flake.lock
+++ b/flakes/private/monitoring/flake.lock
@@ -3,7 +3,7 @@
3 "environment": { 3 "environment": {
4 "locked": { 4 "locked": {
5 "lastModified": 1, 5 "lastModified": 1,
6 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 6 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
7 "path": "../environment", 7 "path": "../environment",
8 "type": "path" 8 "type": "path"
9 }, 9 },
diff --git a/flakes/private/opendmarc/flake.lock b/flakes/private/opendmarc/flake.lock
index e212274..e6ffe39 100644
--- a/flakes/private/opendmarc/flake.lock
+++ b/flakes/private/opendmarc/flake.lock
@@ -3,7 +3,7 @@
3 "environment": { 3 "environment": {
4 "locked": { 4 "locked": {
5 "lastModified": 1, 5 "lastModified": 1,
6 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 6 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
7 "path": "../environment", 7 "path": "../environment",
8 "type": "path" 8 "type": "path"
9 }, 9 },
diff --git a/flakes/private/ssh/flake.lock b/flakes/private/ssh/flake.lock
index 86ea364..dfa45b4 100644
--- a/flakes/private/ssh/flake.lock
+++ b/flakes/private/ssh/flake.lock
@@ -3,7 +3,7 @@
3 "environment": { 3 "environment": {
4 "locked": { 4 "locked": {
5 "lastModified": 1, 5 "lastModified": 1,
6 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 6 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
7 "path": "../environment", 7 "path": "../environment",
8 "type": "path" 8 "type": "path"
9 }, 9 },
diff --git a/flakes/private/system/flake.lock b/flakes/private/system/flake.lock
index cc104c6..efc0615 100644
--- a/flakes/private/system/flake.lock
+++ b/flakes/private/system/flake.lock
@@ -19,7 +19,7 @@
19 "environment": { 19 "environment": {
20 "locked": { 20 "locked": {
21 "lastModified": 1, 21 "lastModified": 1,
22 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 22 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
23 "path": "../environment", 23 "path": "../environment",
24 "type": "path" 24 "type": "path"
25 }, 25 },
diff --git a/flakes/private/system/flake.nix b/flakes/private/system/flake.nix
index 775dfcb..1526f87 100644
--- a/flakes/private/system/flake.nix
+++ b/flakes/private/system/flake.nix
@@ -29,18 +29,45 @@
29 ]; 29 ];
30 30
31 networking.firewall.allowedUDPPorts = lib.mkIf config.hostEnv.wireguard.enable [ config.hostEnv.wireguard.port ]; 31 networking.firewall.allowedUDPPorts = lib.mkIf config.hostEnv.wireguard.enable [ config.hostEnv.wireguard.port ];
32 networking.wg-quick.interfaces.wg0 = lib.mkIf config.hostEnv.wireguard.enable { 32 networking.wg-quick.interfaces =
33 privateKeyFile = config.secrets.fullPaths."wireguard/private_key"; 33 let
34 listenPort = config.hostEnv.wireguard.port; 34 additionalNetworks = lib.filterAttrs (_: v: v.devices ? ${name} && v.devices.${name}.internalHost) config.myEnv.wireguard;
35 address = [ 35 toWGConfig = n: v: {
36 "${config.hostEnv.wireguard.ip}/24" 36 "wg-${n}" = {
37 ]; 37 privateKeyFile = config.secrets.fullPaths."wireguard/private_key";
38 peers = lib.mapAttrsToList (name: v: { 38 listenPort = v.devices.${name}.port;
39 publicKey = v.config.hostEnv.wireguard.public; 39 address = [
40 endpoint = "${name}:${builtins.toString v.config.hostEnv.wireguard.port}"; 40 (builtins.replaceStrings ["*"] [v.devices.${name}.ip] "${v.subnet}/${v.subnetLength}")
41 allowedIPs = [ "${v.config.hostEnv.wireguard.ip}/32" ]; 41 ];
42 }) (lib.filterAttrs (n: v: v.config.hostEnv.wireguard.enable) nodes); 42 # FIXME: Set manually because there’s a bug in wg-quick that
43 }; 43 # sets it to a too high value cf [[file:Travail/ImmaeEu/Technique.org::#raspberry-pi-synchronisation-zfs]]
44 mtu = 1420;
45 peers = lib.mapAttrsToList (peerName: peer: {
46 publicKey = if peer.internalHost then nodes.${peerName}.config.hostEnv.wireguard.public else peer.public;
47 endpoint = if peer.port != null then "${if peer.externalIp == null then peerName else peer.externalIp}:${builtins.toString peer.port}" else null;
48 allowedIPs = [ (builtins.replaceStrings ["*"] ["${peer.ip}/32"] v.subnet) ];
49 }) v.devices;
50 };
51 };
52 in lib.mkMerge ([
53 {
54 wg0 = lib.mkIf config.hostEnv.wireguard.enable {
55 privateKeyFile = config.secrets.fullPaths."wireguard/private_key";
56 listenPort = config.hostEnv.wireguard.port;
57 address = [
58 "${config.hostEnv.wireguard.ip}/24"
59 ];
60 # FIXME: Set manually because there’s a bug in wg-quick that
61 # sets it to a too high value cf [[file:Travail/ImmaeEu/Technique.org::#raspberry-pi-synchronisation-zfs]]
62 mtu = 1420;
63 peers = lib.mapAttrsToList (name: v: {
64 publicKey = v.config.hostEnv.wireguard.public;
65 endpoint = "${name}:${builtins.toString v.config.hostEnv.wireguard.port}";
66 allowedIPs = [ "${v.config.hostEnv.wireguard.ip}/32" ];
67 }) (lib.filterAttrs (n: v: v.config.hostEnv.wireguard.enable) nodes);
68 };
69 }
70 ] ++ lib.mapAttrsToList toWGConfig additionalNetworks);
44 secrets.keys."wireguard/private_key" = lib.mkIf config.hostEnv.wireguard.enable { 71 secrets.keys."wireguard/private_key" = lib.mkIf config.hostEnv.wireguard.enable {
45 permissions = "0400"; 72 permissions = "0400";
46 text = config.hostEnv.wireguard.private; 73 text = config.hostEnv.wireguard.private;
diff --git a/systems/backup-2/flake.lock b/systems/backup-2/flake.lock
index baf7dcd..e5c2344 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-upyulh3TzmYvV0Qn3uybOlG6sVzywk5SCm766k/cuqQ=", 26 "narHash": "sha256-goXqWjXmM+5kv7uJ0Q0UI9Oj+Jsec2JmhOvyYxcq3sQ=",
27 "path": "../../flakes/private/borg_backup", 27 "path": "../../flakes/private/borg_backup",
28 "type": "path" 28 "type": "path"
29 }, 29 },
@@ -38,7 +38,7 @@
38 }, 38 },
39 "locked": { 39 "locked": {
40 "lastModified": 1, 40 "lastModified": 1,
41 "narHash": "sha256-meNl7Q9u50ot5ouEIOEqjq1m/1+gwipQcTtT3hI93kU=", 41 "narHash": "sha256-m6hlfSiLmyu+MARFhvVufx0Mj0TLNnYdmAcNss/mKVY=",
42 "path": "../../flakes/private/chatons", 42 "path": "../../flakes/private/chatons",
43 "type": "path" 43 "type": "path"
44 }, 44 },
@@ -90,7 +90,7 @@
90 "environment": { 90 "environment": {
91 "locked": { 91 "locked": {
92 "lastModified": 1, 92 "lastModified": 1,
93 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 93 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
94 "path": "../environment", 94 "path": "../environment",
95 "type": "path" 95 "type": "path"
96 }, 96 },
@@ -102,7 +102,7 @@
102 "environment_2": { 102 "environment_2": {
103 "locked": { 103 "locked": {
104 "lastModified": 1, 104 "lastModified": 1,
105 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 105 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
106 "path": "../environment", 106 "path": "../environment",
107 "type": "path" 107 "type": "path"
108 }, 108 },
@@ -114,7 +114,7 @@
114 "environment_3": { 114 "environment_3": {
115 "locked": { 115 "locked": {
116 "lastModified": 1, 116 "lastModified": 1,
117 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 117 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
118 "path": "../../flakes/private/environment", 118 "path": "../../flakes/private/environment",
119 "type": "path" 119 "type": "path"
120 }, 120 },
@@ -126,7 +126,7 @@
126 "environment_4": { 126 "environment_4": {
127 "locked": { 127 "locked": {
128 "lastModified": 1, 128 "lastModified": 1,
129 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 129 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
130 "path": "../environment", 130 "path": "../environment",
131 "type": "path" 131 "type": "path"
132 }, 132 },
@@ -138,7 +138,7 @@
138 "environment_5": { 138 "environment_5": {
139 "locked": { 139 "locked": {
140 "lastModified": 1, 140 "lastModified": 1,
141 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 141 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
142 "path": "../environment", 142 "path": "../environment",
143 "type": "path" 143 "type": "path"
144 }, 144 },
@@ -150,7 +150,7 @@
150 "environment_6": { 150 "environment_6": {
151 "locked": { 151 "locked": {
152 "lastModified": 1, 152 "lastModified": 1,
153 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 153 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
154 "path": "../environment", 154 "path": "../environment",
155 "type": "path" 155 "type": "path"
156 }, 156 },
@@ -162,7 +162,7 @@
162 "environment_7": { 162 "environment_7": {
163 "locked": { 163 "locked": {
164 "lastModified": 1, 164 "lastModified": 1,
165 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 165 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
166 "path": "../environment", 166 "path": "../environment",
167 "type": "path" 167 "type": "path"
168 }, 168 },
@@ -174,7 +174,7 @@
174 "environment_8": { 174 "environment_8": {
175 "locked": { 175 "locked": {
176 "lastModified": 1, 176 "lastModified": 1,
177 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 177 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
178 "path": "../environment", 178 "path": "../environment",
179 "type": "path" 179 "type": "path"
180 }, 180 },
@@ -380,7 +380,7 @@
380 }, 380 },
381 "locked": { 381 "locked": {
382 "lastModified": 1, 382 "lastModified": 1,
383 "narHash": "sha256-GgBpSALmb4F2Q8gU2A8tv+gU4xjiYHj8SnNJksYRhRw=", 383 "narHash": "sha256-97QRfLMvzWXvLOqbvKo/xS1MhpXoCsq3qVJeMKxISXk=",
384 "path": "../../flakes/private/mail-relay", 384 "path": "../../flakes/private/mail-relay",
385 "type": "path" 385 "type": "path"
386 }, 386 },
@@ -399,7 +399,7 @@
399 }, 399 },
400 "locked": { 400 "locked": {
401 "lastModified": 1, 401 "lastModified": 1,
402 "narHash": "sha256-/Z5S7urMiCclBt3znFcTCz6fzTpO0OnPI2cjhdtCoTM=", 402 "narHash": "sha256-3bGwQe6FfhbrzAmmaQN9LBjJ3hT+vTNL+I5ZkI972hw=",
403 "path": "../../flakes/private/milters", 403 "path": "../../flakes/private/milters",
404 "type": "path" 404 "type": "path"
405 }, 405 },
@@ -417,7 +417,7 @@
417 }, 417 },
418 "locked": { 418 "locked": {
419 "lastModified": 1, 419 "lastModified": 1,
420 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 420 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
421 "path": "../../flakes/private/monitoring", 421 "path": "../../flakes/private/monitoring",
422 "type": "path" 422 "type": "path"
423 }, 423 },
@@ -953,7 +953,7 @@
953 }, 953 },
954 "locked": { 954 "locked": {
955 "lastModified": 1, 955 "lastModified": 1,
956 "narHash": "sha256-zNGorC75RMSwM35XiKvf8i9/PatepjxmgW7AAkhfHTc=", 956 "narHash": "sha256-aFk+jktObN2sAh1pcgfaf3PH0LGaq8IkK9NlKUSTjoA=",
957 "path": "../../flakes/private/opendmarc", 957 "path": "../../flakes/private/opendmarc",
958 "type": "path" 958 "type": "path"
959 }, 959 },
@@ -1145,7 +1145,7 @@
1145 }, 1145 },
1146 "locked": { 1146 "locked": {
1147 "lastModified": 1, 1147 "lastModified": 1,
1148 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 1148 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
1149 "path": "../../flakes/private/system", 1149 "path": "../../flakes/private/system",
1150 "type": "path" 1150 "type": "path"
1151 }, 1151 },
diff --git a/systems/dilion/base.nix b/systems/dilion/base.nix
index b47d928..05593aa 100644
--- a/systems/dilion/base.nix
+++ b/systems/dilion/base.nix
@@ -230,6 +230,7 @@
230 230
231 systemd.services.zrepl.serviceConfig.User = "backup"; 231 systemd.services.zrepl.serviceConfig.User = "backup";
232 systemd.services.zrepl.path = [ pkgs.openssh ]; 232 systemd.services.zrepl.path = [ pkgs.openssh ];
233 systemd.services.zrepl.unitConfig.After = lib.mkForce [ "wg-quick-wg0.service" "zfs.target" ];
233 # pour eldiron: 234 # pour eldiron:
234 # zfs allow backup create,mount,receive,destroy,rename,snapshot,hold,bookmark,release zpool/backup 235 # zfs allow backup create,mount,receive,destroy,rename,snapshot,hold,bookmark,release zpool/backup
235 # pour flony: 236 # pour flony:
@@ -242,44 +243,69 @@
242 jobs = [ 243 jobs = [
243 { 244 {
244 type = "sink"; 245 type = "sink";
245 # must not change 246 name = "backup-from-immae-eu";
246 name = "backup-from-eldiron";
247 root_fs = "zpool/backup"; 247 root_fs = "zpool/backup";
248 serve.type = "tls"; 248 serve.type = "tls";
249 serve.listen = ":19000"; 249 serve.listen = "192.168.1.8:19000";
250 serve.ca = config.secrets.fullPaths."zrepl/certificates/eldiron.crt"; 250 serve.ca = config.secrets.fullPaths."zrepl/certificates/ca.crt";
251 serve.cert = config.secrets.fullPaths."zrepl/certificates/dilion.crt"; 251 serve.cert = config.secrets.fullPaths."zrepl/certificates/dilion.crt";
252 serve.key = config.secrets.fullPaths."zrepl/dilion.key"; 252 serve.key = config.secrets.fullPaths."zrepl/dilion.key";
253 serve.client_cns = [ "eldiron" ]; 253 serve.client_cns = [ "eldiron" ];
254 } 254 }
255 { 255 {
256 type = "source"; 256 type = "push";
257 # must not change 257 # must not change
258 name = "backup-to-wd-zpool"; 258 name = "backup-to-raspi-encrypted";
259 # not encrypted!
260 serve.type = "tls";
261 serve.listen = ":19001";
262 serve.ca = config.secrets.fullPaths."zrepl/certificates/flony.crt";
263 serve.cert = config.secrets.fullPaths."zrepl/certificates/dilion.crt";
264 serve.key = config.secrets.fullPaths."zrepl/dilion.key";
265 serve.client_cns = [ "flony" ];
266 filesystems."zpool/libvirt<" = true;
267 filesystems."zpool/root<" = true; 259 filesystems."zpool/root<" = true;
268 snapshotting.type = "manual"; 260 filesystems."zpool/root/tmp" = false;
261 connect = {
262 address = "192.168.44.101:19025";
263 type = "tls";
264 server_cn = "raspi";
265 ca = config.secrets.fullPaths."zrepl/certificates/ca.crt";
266 cert = config.secrets.fullPaths."zrepl/certificates/dilion.crt";
267 key = config.secrets.fullPaths."zrepl/dilion.key";
268 };
269 send.encrypted = true;
270 snapshotting = {
271 type = "cron";
272 prefix = "raspi_zrepl_";
273 cron = "30 1 * * *"; # Europe/Paris
274 };
275 pruning.keep_sender = [
276 { type = "regex"; negate = true; regex = "^raspi_zrepl_.*"; }
277 { type = "grid"; grid = "3x1d"; regex = "^raspi_zrepl_.*"; }
278 ];
279 pruning.keep_receiver = [
280 { type = "grid"; grid = "3x1d"; regex = "^raspi_zrepl_.*"; }
281 ];
269 } 282 }
270 { 283 {
271 type = "source"; 284 type = "push";
272 # must not change 285 # must not change
273 name = "backup-to-wd-zpool-docker"; 286 name = "backup-to-raspi-clear";
274 # not encrypted!
275 serve.type = "tls";
276 serve.listen = ":19002";
277 serve.ca = config.secrets.fullPaths."zrepl/certificates/flony.crt";
278 serve.cert = config.secrets.fullPaths."zrepl/certificates/dilion.crt";
279 serve.key = config.secrets.fullPaths."zrepl/dilion.key";
280 serve.client_cns = [ "flony" ];
281 filesystems."zpool/docker<" = true; 287 filesystems."zpool/docker<" = true;
282 snapshotting.type = "manual"; 288 filesystems."zpool/libvirt<" = true;
289 connect = {
290 address = "192.168.44.101:19025";
291 type = "tls";
292 server_cn = "raspi";
293 ca = config.secrets.fullPaths."zrepl/certificates/ca.crt";
294 cert = config.secrets.fullPaths."zrepl/certificates/dilion.crt";
295 key = config.secrets.fullPaths."zrepl/dilion.key";
296 };
297 snapshotting = {
298 type = "cron";
299 prefix = "raspi_zrepl_";
300 cron = "0 1 * * *"; # Europe/Paris
301 };
302 pruning.keep_sender = [
303 { type = "regex"; negate = true; regex = "^raspi_zrepl_.*"; }
304 { type = "grid"; grid = "3x1d"; regex = "^raspi_zrepl_.*"; }
305 ];
306 pruning.keep_receiver = [
307 { type = "grid"; grid = "3x1d"; regex = "^raspi_zrepl_.*"; }
308 ];
283 } 309 }
284 ]; 310 ];
285 }; 311 };
diff --git a/systems/dilion/flake.lock b/systems/dilion/flake.lock
index 71557c0..0a03786 100644
--- a/systems/dilion/flake.lock
+++ b/systems/dilion/flake.lock
@@ -59,7 +59,7 @@
59 "environment": { 59 "environment": {
60 "locked": { 60 "locked": {
61 "lastModified": 1, 61 "lastModified": 1,
62 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 62 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
63 "path": "../../flakes/private/environment", 63 "path": "../../flakes/private/environment",
64 "type": "path" 64 "type": "path"
65 }, 65 },
@@ -71,7 +71,7 @@
71 "environment_2": { 71 "environment_2": {
72 "locked": { 72 "locked": {
73 "lastModified": 1, 73 "lastModified": 1,
74 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 74 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
75 "path": "../environment", 75 "path": "../environment",
76 "type": "path" 76 "type": "path"
77 }, 77 },
@@ -83,7 +83,7 @@
83 "environment_3": { 83 "environment_3": {
84 "locked": { 84 "locked": {
85 "lastModified": 1, 85 "lastModified": 1,
86 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 86 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
87 "path": "../environment", 87 "path": "../environment",
88 "type": "path" 88 "type": "path"
89 }, 89 },
@@ -207,7 +207,7 @@
207 }, 207 },
208 "locked": { 208 "locked": {
209 "lastModified": 1, 209 "lastModified": 1,
210 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 210 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
211 "path": "../../flakes/private/monitoring", 211 "path": "../../flakes/private/monitoring",
212 "type": "path" 212 "type": "path"
213 }, 213 },
@@ -599,7 +599,7 @@
599 }, 599 },
600 "locked": { 600 "locked": {
601 "lastModified": 1, 601 "lastModified": 1,
602 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 602 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
603 "path": "../../flakes/private/system", 603 "path": "../../flakes/private/system",
604 "type": "path" 604 "type": "path"
605 }, 605 },
diff --git a/systems/eldiron/base.nix b/systems/eldiron/base.nix
index 3213e70..a183f52 100644
--- a/systems/eldiron/base.nix
+++ b/systems/eldiron/base.nix
@@ -266,10 +266,10 @@
266 filesystems."zpool/root/etc" = true; 266 filesystems."zpool/root/etc" = true;
267 filesystems."zpool/root/var<" = true; 267 filesystems."zpool/root/var<" = true;
268 connect = { 268 connect = {
269 address = "dilion.immae.eu:19000"; 269 address = "wg-dilion:19000";
270 type = "tls"; 270 type = "tls";
271 server_cn = "dilion"; 271 server_cn = "dilion";
272 ca = config.secrets.fullPaths."zrepl/certificates/dilion.crt"; 272 ca = config.secrets.fullPaths."zrepl/certificates/ca.crt";
273 cert = config.secrets.fullPaths."zrepl/certificates/eldiron.crt"; 273 cert = config.secrets.fullPaths."zrepl/certificates/eldiron.crt";
274 key = config.secrets.fullPaths."zrepl/eldiron.key"; 274 key = config.secrets.fullPaths."zrepl/eldiron.key";
275 }; 275 };
@@ -304,23 +304,6 @@
304 { type = "grid"; grid = "6x4h | 7x1d | 4x7d | 6x30d"; regex = "^zrepl_.*"; } 304 { type = "grid"; grid = "6x4h | 7x1d | 4x7d | 6x30d"; regex = "^zrepl_.*"; }
305 ]; 305 ];
306 } 306 }
307 {
308 type = "source";
309 # must not change
310 name = "backup-to-wd-zpool";
311 serve.type = "tls";
312 serve.listen = ":${builtins.toString config.myEnv.ports.zrepl_flony}";
313 serve.ca = config.secrets.fullPaths."zrepl/certificates/flony.crt";
314 serve.cert = config.secrets.fullPaths."zrepl/certificates/eldiron.crt";
315 serve.key = config.secrets.fullPaths."zrepl/eldiron.key";
316 serve.client_cns = [ "flony" ];
317 filesystems."zpool/root" = true;
318 filesystems."zpool/root/etc" = true;
319 filesystems."zpool/root/var<" = true;
320 filesystems."zfast/root/var<" = true;
321 send.encrypted = true;
322 snapshotting.type = "manual";
323 }
324 ]; 307 ];
325 }; 308 };
326 }; 309 };
diff --git a/systems/eldiron/flake.lock b/systems/eldiron/flake.lock
index 599cdf2..9ee7afe 100644
--- a/systems/eldiron/flake.lock
+++ b/systems/eldiron/flake.lock
@@ -129,7 +129,7 @@
129 "environment": { 129 "environment": {
130 "locked": { 130 "locked": {
131 "lastModified": 1, 131 "lastModified": 1,
132 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 132 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
133 "path": "../environment", 133 "path": "../environment",
134 "type": "path" 134 "type": "path"
135 }, 135 },
@@ -141,7 +141,7 @@
141 "environment_2": { 141 "environment_2": {
142 "locked": { 142 "locked": {
143 "lastModified": 1, 143 "lastModified": 1,
144 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 144 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
145 "path": "../environment", 145 "path": "../environment",
146 "type": "path" 146 "type": "path"
147 }, 147 },
@@ -153,7 +153,7 @@
153 "environment_3": { 153 "environment_3": {
154 "locked": { 154 "locked": {
155 "lastModified": 1, 155 "lastModified": 1,
156 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 156 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
157 "path": "../environment", 157 "path": "../environment",
158 "type": "path" 158 "type": "path"
159 }, 159 },
@@ -165,7 +165,7 @@
165 "environment_4": { 165 "environment_4": {
166 "locked": { 166 "locked": {
167 "lastModified": 1, 167 "lastModified": 1,
168 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 168 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
169 "path": "../environment", 169 "path": "../environment",
170 "type": "path" 170 "type": "path"
171 }, 171 },
@@ -177,7 +177,7 @@
177 "environment_5": { 177 "environment_5": {
178 "locked": { 178 "locked": {
179 "lastModified": 1, 179 "lastModified": 1,
180 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 180 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
181 "path": "../environment", 181 "path": "../environment",
182 "type": "path" 182 "type": "path"
183 }, 183 },
@@ -189,7 +189,7 @@
189 "environment_6": { 189 "environment_6": {
190 "locked": { 190 "locked": {
191 "lastModified": 1, 191 "lastModified": 1,
192 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 192 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
193 "path": "../environment", 193 "path": "../environment",
194 "type": "path" 194 "type": "path"
195 }, 195 },
@@ -201,7 +201,7 @@
201 "environment_7": { 201 "environment_7": {
202 "locked": { 202 "locked": {
203 "lastModified": 1, 203 "lastModified": 1,
204 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 204 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
205 "path": "../environment", 205 "path": "../environment",
206 "type": "path" 206 "type": "path"
207 }, 207 },
@@ -1985,7 +1985,7 @@
1985 }, 1985 },
1986 "locked": { 1986 "locked": {
1987 "lastModified": 1, 1987 "lastModified": 1,
1988 "narHash": "sha256-upyulh3TzmYvV0Qn3uybOlG6sVzywk5SCm766k/cuqQ=", 1988 "narHash": "sha256-goXqWjXmM+5kv7uJ0Q0UI9Oj+Jsec2JmhOvyYxcq3sQ=",
1989 "path": "../../flakes/private/borg_backup", 1989 "path": "../../flakes/private/borg_backup",
1990 "type": "path" 1990 "type": "path"
1991 }, 1991 },
@@ -2017,7 +2017,7 @@
2017 }, 2017 },
2018 "locked": { 2018 "locked": {
2019 "lastModified": 1, 2019 "lastModified": 1,
2020 "narHash": "sha256-meNl7Q9u50ot5ouEIOEqjq1m/1+gwipQcTtT3hI93kU=", 2020 "narHash": "sha256-m6hlfSiLmyu+MARFhvVufx0Mj0TLNnYdmAcNss/mKVY=",
2021 "path": "../../flakes/private/chatons", 2021 "path": "../../flakes/private/chatons",
2022 "type": "path" 2022 "type": "path"
2023 }, 2023 },
@@ -2029,7 +2029,7 @@
2029 "private-environment": { 2029 "private-environment": {
2030 "locked": { 2030 "locked": {
2031 "lastModified": 1, 2031 "lastModified": 1,
2032 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 2032 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
2033 "path": "../../flakes/private/environment", 2033 "path": "../../flakes/private/environment",
2034 "type": "path" 2034 "type": "path"
2035 }, 2035 },
@@ -2048,7 +2048,7 @@
2048 }, 2048 },
2049 "locked": { 2049 "locked": {
2050 "lastModified": 1, 2050 "lastModified": 1,
2051 "narHash": "sha256-/Z5S7urMiCclBt3znFcTCz6fzTpO0OnPI2cjhdtCoTM=", 2051 "narHash": "sha256-3bGwQe6FfhbrzAmmaQN9LBjJ3hT+vTNL+I5ZkI972hw=",
2052 "path": "../../flakes/private/milters", 2052 "path": "../../flakes/private/milters",
2053 "type": "path" 2053 "type": "path"
2054 }, 2054 },
@@ -2066,7 +2066,7 @@
2066 }, 2066 },
2067 "locked": { 2067 "locked": {
2068 "lastModified": 1, 2068 "lastModified": 1,
2069 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 2069 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
2070 "path": "../../flakes/private/monitoring", 2070 "path": "../../flakes/private/monitoring",
2071 "type": "path" 2071 "type": "path"
2072 }, 2072 },
@@ -2101,7 +2101,7 @@
2101 }, 2101 },
2102 "locked": { 2102 "locked": {
2103 "lastModified": 1, 2103 "lastModified": 1,
2104 "narHash": "sha256-zNGorC75RMSwM35XiKvf8i9/PatepjxmgW7AAkhfHTc=", 2104 "narHash": "sha256-aFk+jktObN2sAh1pcgfaf3PH0LGaq8IkK9NlKUSTjoA=",
2105 "path": "../../flakes/private/opendmarc", 2105 "path": "../../flakes/private/opendmarc",
2106 "type": "path" 2106 "type": "path"
2107 }, 2107 },
@@ -2162,7 +2162,7 @@
2162 }, 2162 },
2163 "locked": { 2163 "locked": {
2164 "lastModified": 1, 2164 "lastModified": 1,
2165 "narHash": "sha256-jZn/LajHvVlJetDQioFezOsVrO92HjitxuD5MAPlUvo=", 2165 "narHash": "sha256-VjQgn4V81UeSO6ggkLt7xq22rV3NFCbUjzHkSNRtd0U=",
2166 "path": "../../flakes/private/ssh", 2166 "path": "../../flakes/private/ssh",
2167 "type": "path" 2167 "type": "path"
2168 }, 2168 },
@@ -2181,7 +2181,7 @@
2181 }, 2181 },
2182 "locked": { 2182 "locked": {
2183 "lastModified": 1, 2183 "lastModified": 1,
2184 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 2184 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
2185 "path": "../../flakes/private/system", 2185 "path": "../../flakes/private/system",
2186 "type": "path" 2186 "type": "path"
2187 }, 2187 },
diff --git a/systems/monitoring-1/flake.lock b/systems/monitoring-1/flake.lock
index dd2a52e..0c8e29d 100644
--- a/systems/monitoring-1/flake.lock
+++ b/systems/monitoring-1/flake.lock
@@ -22,7 +22,7 @@
22 }, 22 },
23 "locked": { 23 "locked": {
24 "lastModified": 1, 24 "lastModified": 1,
25 "narHash": "sha256-meNl7Q9u50ot5ouEIOEqjq1m/1+gwipQcTtT3hI93kU=", 25 "narHash": "sha256-m6hlfSiLmyu+MARFhvVufx0Mj0TLNnYdmAcNss/mKVY=",
26 "path": "../../flakes/private/chatons", 26 "path": "../../flakes/private/chatons",
27 "type": "path" 27 "type": "path"
28 }, 28 },
@@ -74,7 +74,7 @@
74 "environment": { 74 "environment": {
75 "locked": { 75 "locked": {
76 "lastModified": 1, 76 "lastModified": 1,
77 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 77 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
78 "path": "../environment", 78 "path": "../environment",
79 "type": "path" 79 "type": "path"
80 }, 80 },
@@ -86,7 +86,7 @@
86 "environment_2": { 86 "environment_2": {
87 "locked": { 87 "locked": {
88 "lastModified": 1, 88 "lastModified": 1,
89 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 89 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
90 "path": "../../flakes/private/environment", 90 "path": "../../flakes/private/environment",
91 "type": "path" 91 "type": "path"
92 }, 92 },
@@ -98,7 +98,7 @@
98 "environment_3": { 98 "environment_3": {
99 "locked": { 99 "locked": {
100 "lastModified": 1, 100 "lastModified": 1,
101 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 101 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
102 "path": "../environment", 102 "path": "../environment",
103 "type": "path" 103 "type": "path"
104 }, 104 },
@@ -110,7 +110,7 @@
110 "environment_4": { 110 "environment_4": {
111 "locked": { 111 "locked": {
112 "lastModified": 1, 112 "lastModified": 1,
113 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 113 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
114 "path": "../environment", 114 "path": "../environment",
115 "type": "path" 115 "type": "path"
116 }, 116 },
@@ -122,7 +122,7 @@
122 "environment_5": { 122 "environment_5": {
123 "locked": { 123 "locked": {
124 "lastModified": 1, 124 "lastModified": 1,
125 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 125 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
126 "path": "../environment", 126 "path": "../environment",
127 "type": "path" 127 "type": "path"
128 }, 128 },
@@ -259,7 +259,7 @@
259 }, 259 },
260 "locked": { 260 "locked": {
261 "lastModified": 1, 261 "lastModified": 1,
262 "narHash": "sha256-GgBpSALmb4F2Q8gU2A8tv+gU4xjiYHj8SnNJksYRhRw=", 262 "narHash": "sha256-97QRfLMvzWXvLOqbvKo/xS1MhpXoCsq3qVJeMKxISXk=",
263 "path": "../../flakes/private/mail-relay", 263 "path": "../../flakes/private/mail-relay",
264 "type": "path" 264 "type": "path"
265 }, 265 },
@@ -277,7 +277,7 @@
277 }, 277 },
278 "locked": { 278 "locked": {
279 "lastModified": 1, 279 "lastModified": 1,
280 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 280 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
281 "path": "../../flakes/private/monitoring", 281 "path": "../../flakes/private/monitoring",
282 "type": "path" 282 "type": "path"
283 }, 283 },
@@ -735,7 +735,7 @@
735 }, 735 },
736 "locked": { 736 "locked": {
737 "lastModified": 1, 737 "lastModified": 1,
738 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 738 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
739 "path": "../../flakes/private/system", 739 "path": "../../flakes/private/system",
740 "type": "path" 740 "type": "path"
741 }, 741 },
diff --git a/systems/quatresaisons/flake.lock b/systems/quatresaisons/flake.lock
index 95e58d0..58effe3 100644
--- a/systems/quatresaisons/flake.lock
+++ b/systems/quatresaisons/flake.lock
@@ -59,7 +59,7 @@
59 "environment": { 59 "environment": {
60 "locked": { 60 "locked": {
61 "lastModified": 1, 61 "lastModified": 1,
62 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 62 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
63 "path": "../../flakes/private/environment", 63 "path": "../../flakes/private/environment",
64 "type": "path" 64 "type": "path"
65 }, 65 },
@@ -71,7 +71,7 @@
71 "environment_2": { 71 "environment_2": {
72 "locked": { 72 "locked": {
73 "lastModified": 1, 73 "lastModified": 1,
74 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 74 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
75 "path": "../environment", 75 "path": "../environment",
76 "type": "path" 76 "type": "path"
77 }, 77 },
@@ -83,7 +83,7 @@
83 "environment_3": { 83 "environment_3": {
84 "locked": { 84 "locked": {
85 "lastModified": 1, 85 "lastModified": 1,
86 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 86 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
87 "path": "../environment", 87 "path": "../environment",
88 "type": "path" 88 "type": "path"
89 }, 89 },
@@ -239,7 +239,7 @@
239 }, 239 },
240 "locked": { 240 "locked": {
241 "lastModified": 1, 241 "lastModified": 1,
242 "narHash": "sha256-UtTwF1ni+Qy4n65KjH2WLtb263VIf7fnvVWExxSMR6U=", 242 "narHash": "sha256-7tqKXf2kdZ2wIEQTJud7gdN+/eOkXxeQeT03KwmfTwQ=",
243 "path": "../../flakes/private/monitoring", 243 "path": "../../flakes/private/monitoring",
244 "type": "path" 244 "type": "path"
245 }, 245 },
@@ -712,7 +712,7 @@
712 }, 712 },
713 "locked": { 713 "locked": {
714 "lastModified": 1, 714 "lastModified": 1,
715 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 715 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
716 "path": "../../flakes/private/system", 716 "path": "../../flakes/private/system",
717 "type": "path" 717 "type": "path"
718 }, 718 },
diff --git a/systems/zoldene/base.nix b/systems/zoldene/base.nix
index d580f99..7fc59e8 100644
--- a/systems/zoldene/base.nix
+++ b/systems/zoldene/base.nix
@@ -17,6 +17,55 @@ in
17 ./database.nix 17 ./database.nix
18 ]; 18 ];
19 19
20 secrets.keys = {
21 "zrepl/${name}.key" = {
22 permissions = "0400";
23 text = config.myEnv.zrepl_backup.certs."${name}".key;
24 user = "root";
25 group = "root";
26 };
27 } // builtins.listToAttrs (map (x: lib.attrsets.nameValuePair "zrepl/certificates/${x}.crt" {
28 permissions = "0400";
29 text = config.myEnv.zrepl_backup.certs."${x}".certificate;
30 user = "root";
31 group = "root";
32 }) (builtins.attrNames config.myEnv.zrepl_backup.certs));
33
34 services.zrepl = {
35 enable = true;
36 settings = {
37 jobs = [
38 {
39 type = "push";
40 # must not change
41 name = "backup-to-raspi";
42 filesystems."zfast/root/persist<" = true;
43 filesystems."zpool/root/persist<" = true;
44 connect = {
45 address = "192.168.44.101:19025";
46 type = "tls";
47 server_cn = "raspi";
48 ca = config.secrets.fullPaths."zrepl/certificates/ca.crt";
49 cert = config.secrets.fullPaths."zrepl/certificates/zoldene.crt";
50 key = config.secrets.fullPaths."zrepl/zoldene.key";
51 };
52 snapshotting = {
53 type = "cron";
54 prefix = "raspi_zrepl_";
55 cron = "35 23 * * *";
56 };
57 pruning.keep_sender = [
58 { type = "regex"; negate = true; regex = "^raspi_zrepl_.*"; }
59 { type = "grid"; grid = "3x1d"; regex = "^raspi_zrepl_.*"; }
60 ];
61 pruning.keep_receiver = [
62 { type = "grid"; grid = "3x1d"; regex = "^raspi_zrepl_.*"; }
63 ];
64 }
65 ];
66 };
67 };
68
20 services.borgBackup.enable = true; 69 services.borgBackup.enable = true;
21 services.borgBackup.cronSpec = "0 20 * * *"; 70 services.borgBackup.cronSpec = "0 20 * * *";
22 disko.devices.zpool.zfast.datasets."root/persist/var/lib/borgbackup" = 71 disko.devices.zpool.zfast.datasets."root/persist/var/lib/borgbackup" =
diff --git a/systems/zoldene/flake.lock b/systems/zoldene/flake.lock
index b7d4a02..158fd83 100644
--- a/systems/zoldene/flake.lock
+++ b/systems/zoldene/flake.lock
@@ -59,7 +59,7 @@
59 "environment": { 59 "environment": {
60 "locked": { 60 "locked": {
61 "lastModified": 1, 61 "lastModified": 1,
62 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 62 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
63 "path": "../environment", 63 "path": "../environment",
64 "type": "path" 64 "type": "path"
65 }, 65 },
@@ -71,7 +71,7 @@
71 "environment_2": { 71 "environment_2": {
72 "locked": { 72 "locked": {
73 "lastModified": 1, 73 "lastModified": 1,
74 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 74 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
75 "path": "../environment", 75 "path": "../environment",
76 "type": "path" 76 "type": "path"
77 }, 77 },
@@ -452,7 +452,7 @@
452 }, 452 },
453 "locked": { 453 "locked": {
454 "lastModified": 1, 454 "lastModified": 1,
455 "narHash": "sha256-upyulh3TzmYvV0Qn3uybOlG6sVzywk5SCm766k/cuqQ=", 455 "narHash": "sha256-goXqWjXmM+5kv7uJ0Q0UI9Oj+Jsec2JmhOvyYxcq3sQ=",
456 "path": "../../flakes/private/borg_backup", 456 "path": "../../flakes/private/borg_backup",
457 "type": "path" 457 "type": "path"
458 }, 458 },
@@ -464,7 +464,7 @@
464 "private-environment": { 464 "private-environment": {
465 "locked": { 465 "locked": {
466 "lastModified": 1, 466 "lastModified": 1,
467 "narHash": "sha256-TsRuohxw/zmZy1PV2kyraE9VbLULWOyad2jir8O9UbQ=", 467 "narHash": "sha256-6HzZMgW6wsSkeN87+OcMhVnWxUKFT2C9EMXvmMfxRzc=",
468 "path": "../../flakes/private/environment", 468 "path": "../../flakes/private/environment",
469 "type": "path" 469 "type": "path"
470 }, 470 },
@@ -483,7 +483,7 @@
483 }, 483 },
484 "locked": { 484 "locked": {
485 "lastModified": 1, 485 "lastModified": 1,
486 "narHash": "sha256-InNiobFoX6ugM50G4xuWHJrFjqkRTXixxvTjj69wfuw=", 486 "narHash": "sha256-VUtVclRBHcgFrAuf3tdhcA/f1h7U1gBj7KFu0lAnP34=",
487 "path": "../../flakes/private/system", 487 "path": "../../flakes/private/system",
488 "type": "path" 488 "type": "path"
489 }, 489 },