summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-08-28 00:32:56 +0000
committerpolwex <polwex@sortug.com>2025-08-28 00:32:56 +0000
commitb85eaebc4520326a0563007e543a0933d1bd446b (patch)
tree43b022e20c25ea1f7a0cc923f01d6e0f584d312b
parenta61c5db40ee85f98e6f40417c73ef10ca566aa19 (diff)
-rw-r--r--devenv.lock103
-rw-r--r--flake.lock1942
-rw-r--r--hosts/cloud/hetzner/configuration.nix42
-rw-r--r--hosts/cloud/hetzner/mail.nix27
-rw-r--r--hosts/cloud/hetzner/nginx.nix21
-rw-r--r--hosts/local/s15/configuration.nix10
6 files changed, 2026 insertions, 119 deletions
diff --git a/devenv.lock b/devenv.lock
deleted file mode 100644
index 0b61657..0000000
--- a/devenv.lock
+++ /dev/null
@@ -1,103 +0,0 @@
-{
- "nodes": {
- "devenv": {
- "locked": {
- "dir": "src/modules",
- "lastModified": 1743783972,
- "owner": "cachix",
- "repo": "devenv",
- "rev": "2f53e2f867e0c2ba18b880e66169366e5f8ca554",
- "type": "github"
- },
- "original": {
- "dir": "src/modules",
- "owner": "cachix",
- "repo": "devenv",
- "type": "github"
- }
- },
- "flake-compat": {
- "flake": false,
- "locked": {
- "lastModified": 1733328505,
- "owner": "edolstra",
- "repo": "flake-compat",
- "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
- "type": "github"
- },
- "original": {
- "owner": "edolstra",
- "repo": "flake-compat",
- "type": "github"
- }
- },
- "git-hooks": {
- "inputs": {
- "flake-compat": "flake-compat",
- "gitignore": "gitignore",
- "nixpkgs": [
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1742649964,
- "owner": "cachix",
- "repo": "git-hooks.nix",
- "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
- "type": "github"
- },
- "original": {
- "owner": "cachix",
- "repo": "git-hooks.nix",
- "type": "github"
- }
- },
- "gitignore": {
- "inputs": {
- "nixpkgs": [
- "git-hooks",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1709087332,
- "owner": "hercules-ci",
- "repo": "gitignore.nix",
- "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
- "type": "github"
- },
- "original": {
- "owner": "hercules-ci",
- "repo": "gitignore.nix",
- "type": "github"
- }
- },
- "nixpkgs": {
- "locked": {
- "lastModified": 1733477122,
- "owner": "cachix",
- "repo": "devenv-nixpkgs",
- "rev": "7bd9e84d0452f6d2e63b6e6da29fe73fac951857",
- "type": "github"
- },
- "original": {
- "owner": "cachix",
- "ref": "rolling",
- "repo": "devenv-nixpkgs",
- "type": "github"
- }
- },
- "root": {
- "inputs": {
- "devenv": "devenv",
- "git-hooks": "git-hooks",
- "nixpkgs": "nixpkgs",
- "pre-commit-hooks": [
- "git-hooks"
- ]
- }
- }
- },
- "root": "root",
- "version": 7
-}
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..201369b
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,1942 @@
+{
+ "nodes": {
+ "agenix": {
+ "inputs": {
+ "agenix": "agenix_2",
+ "crane": "crane",
+ "flake-utils": "flake-utils",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "rust-overlay": "rust-overlay"
+ },
+ "locked": {
+ "lastModified": 1744897914,
+ "narHash": "sha256-GIVU92o2TZBnKQXTb76zpQbWR4zjU2rFqWKNIIpXnqA=",
+ "owner": "yaxitech",
+ "repo": "ragenix",
+ "rev": "40f2e17ecaeab4d78ec323e96a04548c0aaa5223",
+ "type": "github"
+ },
+ "original": {
+ "owner": "yaxitech",
+ "repo": "ragenix",
+ "type": "github"
+ }
+ },
+ "agenix_2": {
+ "inputs": {
+ "darwin": "darwin",
+ "home-manager": "home-manager",
+ "nixpkgs": [
+ "agenix",
+ "nixpkgs"
+ ],
+ "systems": "systems"
+ },
+ "locked": {
+ "lastModified": 1736955230,
+ "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=",
+ "owner": "ryantm",
+ "repo": "agenix",
+ "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ryantm",
+ "repo": "agenix",
+ "type": "github"
+ }
+ },
+ "blobs": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1604995301,
+ "narHash": "sha256-wcLzgLec6SGJA8fx1OEN1yV/Py5b+U5iyYpksUY/yLw=",
+ "owner": "simple-nixos-mailserver",
+ "repo": "blobs",
+ "rev": "2cccdf1ca48316f2cfd1c9a0017e8de5a7156265",
+ "type": "gitlab"
+ },
+ "original": {
+ "owner": "simple-nixos-mailserver",
+ "repo": "blobs",
+ "type": "gitlab"
+ }
+ },
+ "cachix": {
+ "inputs": {
+ "devenv": [
+ "devenv"
+ ],
+ "flake-compat": [
+ "devenv"
+ ],
+ "git-hooks": [
+ "devenv",
+ "git-hooks"
+ ],
+ "nixpkgs": [
+ "devenv",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1748883665,
+ "narHash": "sha256-R0W7uAg+BLoHjMRMQ8+oiSbTq8nkGz5RDpQ+ZfxxP3A=",
+ "owner": "cachix",
+ "repo": "cachix",
+ "rev": "f707778d902af4d62d8dd92c269f8e70de09acbe",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "ref": "latest",
+ "repo": "cachix",
+ "type": "github"
+ }
+ },
+ "crane": {
+ "locked": {
+ "lastModified": 1741481578,
+ "narHash": "sha256-JBTSyJFQdO3V8cgcL08VaBUByEU6P5kXbTJN6R0PFQo=",
+ "owner": "ipetkov",
+ "repo": "crane",
+ "rev": "bb1c9567c43e4434f54e9481eb4b8e8e0d50f0b5",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ipetkov",
+ "repo": "crane",
+ "type": "github"
+ }
+ },
+ "crane_2": {
+ "locked": {
+ "lastModified": 1754269165,
+ "narHash": "sha256-0tcS8FHd4QjbCVoxN9jI+PjHgA4vc/IjkUSp+N3zy0U=",
+ "owner": "ipetkov",
+ "repo": "crane",
+ "rev": "444e81206df3f7d92780680e45858e31d2f07a08",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ipetkov",
+ "repo": "crane",
+ "type": "github"
+ }
+ },
+ "darwin": {
+ "inputs": {
+ "nixpkgs": [
+ "agenix",
+ "agenix",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1700795494,
+ "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
+ "owner": "lnl7",
+ "repo": "nix-darwin",
+ "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "lnl7",
+ "ref": "master",
+ "repo": "nix-darwin",
+ "type": "github"
+ }
+ },
+ "devenv": {
+ "inputs": {
+ "cachix": "cachix",
+ "flake-compat": "flake-compat",
+ "git-hooks": "git-hooks",
+ "nix": "nix",
+ "nixpkgs": "nixpkgs"
+ },
+ "locked": {
+ "lastModified": 1756101922,
+ "narHash": "sha256-nSh29WdFRE9YbjMySZz2fzR3gHEJNHYTZBie3yZ4pJg=",
+ "owner": "cachix",
+ "repo": "devenv",
+ "rev": "372c975fd0d5b7fc1ffbb15c75a21d7f9ea97603",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "devenv",
+ "type": "github"
+ }
+ },
+ "disko": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1756115622,
+ "narHash": "sha256-iv8xVtmLMNLWFcDM/HcAPLRGONyTRpzL9NS09RnryRM=",
+ "owner": "nix-community",
+ "repo": "disko",
+ "rev": "bafad29f89e83b2d861b493aa23034ea16595560",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "disko",
+ "type": "github"
+ }
+ },
+ "flake-compat": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1747046372,
+ "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_2": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1747046372,
+ "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_3": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1747046372,
+ "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_4": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1747046372,
+ "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_5": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1747046372,
+ "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_6": {
+ "locked": {
+ "lastModified": 1746162366,
+ "narHash": "sha256-5SSSZ/oQkwfcAz/o/6TlejlVGqeK08wyREBQ5qFFPhM=",
+ "owner": "nix-community",
+ "repo": "flake-compat",
+ "rev": "0f158086a2ecdbb138cd0429410e44994f1b7e4b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_7": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1747046372,
+ "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-parts": {
+ "inputs": {
+ "nixpkgs-lib": [
+ "devenv",
+ "nix",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1733312601,
+ "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "type": "github"
+ }
+ },
+ "flake-parts_2": {
+ "inputs": {
+ "nixpkgs-lib": "nixpkgs-lib"
+ },
+ "locked": {
+ "lastModified": 1754487366,
+ "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "type": "github"
+ }
+ },
+ "flake-parts_3": {
+ "inputs": {
+ "nixpkgs-lib": [
+ "lanzaboote",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1754091436,
+ "narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "type": "github"
+ }
+ },
+ "flake-parts_4": {
+ "inputs": {
+ "nixpkgs-lib": "nixpkgs-lib_2"
+ },
+ "locked": {
+ "lastModified": 1754487366,
+ "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "type": "github"
+ }
+ },
+ "flake-parts_5": {
+ "inputs": {
+ "nixpkgs-lib": [
+ "nur",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1733312601,
+ "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "type": "github"
+ }
+ },
+ "flake-utils": {
+ "inputs": {
+ "systems": "systems_2"
+ },
+ "locked": {
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_2": {
+ "inputs": {
+ "systems": "systems_3"
+ },
+ "locked": {
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_3": {
+ "inputs": {
+ "systems": "systems_4"
+ },
+ "locked": {
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_4": {
+ "locked": {
+ "lastModified": 1638122382,
+ "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "74f7e4319258e287b0f9cb95426c9853b282730b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_5": {
+ "inputs": {
+ "systems": "systems_5"
+ },
+ "locked": {
+ "lastModified": 1701680307,
+ "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_6": {
+ "inputs": {
+ "systems": "systems_6"
+ },
+ "locked": {
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_7": {
+ "inputs": {
+ "systems": "systems_7"
+ },
+ "locked": {
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "gemini-cli": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1753566063,
+ "narHash": "sha256-ypEepJDaIjQx2Ou813++x5c1Kt11DR8vAWITBlmlgKU=",
+ "path": "/home/y/nixconf/derivations/gemini",
+ "type": "path"
+ },
+ "original": {
+ "path": "/home/y/nixconf/derivations/gemini",
+ "type": "path"
+ }
+ },
+ "git-hooks": {
+ "inputs": {
+ "flake-compat": [
+ "devenv",
+ "flake-compat"
+ ],
+ "gitignore": "gitignore",
+ "nixpkgs": [
+ "devenv",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1750779888,
+ "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "type": "github"
+ }
+ },
+ "git-hooks_2": {
+ "inputs": {
+ "flake-compat": "flake-compat_2",
+ "gitignore": "gitignore_2",
+ "nixpkgs": "nixpkgs_2"
+ },
+ "locked": {
+ "lastModified": 1755960406,
+ "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=",
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "type": "github"
+ }
+ },
+ "git-hooks_3": {
+ "inputs": {
+ "flake-compat": [
+ "nixos-mailserver",
+ "flake-compat"
+ ],
+ "gitignore": "gitignore_4",
+ "nixpkgs": [
+ "nixos-mailserver",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1750779888,
+ "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "type": "github"
+ }
+ },
+ "gitignore": {
+ "inputs": {
+ "nixpkgs": [
+ "devenv",
+ "git-hooks",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1709087332,
+ "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "type": "github"
+ }
+ },
+ "gitignore_2": {
+ "inputs": {
+ "nixpkgs": [
+ "git-hooks",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1709087332,
+ "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "type": "github"
+ }
+ },
+ "gitignore_3": {
+ "inputs": {
+ "nixpkgs": [
+ "lanzaboote",
+ "pre-commit-hooks-nix",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1709087332,
+ "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "type": "github"
+ }
+ },
+ "gitignore_4": {
+ "inputs": {
+ "nixpkgs": [
+ "nixos-mailserver",
+ "git-hooks",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1709087332,
+ "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "type": "github"
+ }
+ },
+ "gitignore_5": {
+ "inputs": {
+ "nixpkgs": [
+ "nixos-rk3588",
+ "pre-commit-hooks",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1660459072,
+ "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "type": "github"
+ }
+ },
+ "helix": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_3",
+ "rust-overlay": "rust-overlay_2"
+ },
+ "locked": {
+ "lastModified": 1756305977,
+ "narHash": "sha256-u3HYKT9vcAKw5mNaARUzmukfS1yjHH+3tTyVgZXob30=",
+ "owner": "helix-editor",
+ "repo": "helix",
+ "rev": "7e4e556f84cd657dc99e3e0acfa7442170a01a11",
+ "type": "github"
+ },
+ "original": {
+ "owner": "helix-editor",
+ "repo": "helix",
+ "type": "github"
+ }
+ },
+ "home-manager": {
+ "inputs": {
+ "nixpkgs": [
+ "agenix",
+ "agenix",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1703113217,
+ "narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "type": "github"
+ }
+ },
+ "homix": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_4"
+ },
+ "locked": {
+ "lastModified": 1720719665,
+ "narHash": "sha256-BKcOoDlMC86zExMKXFXQ04HO99fUNFmtEdvP+gB45Pk=",
+ "owner": "homix-community",
+ "repo": "homix",
+ "rev": "62bc58f2350cbb061e61ac0f3d63018663fbe4cb",
+ "type": "github"
+ },
+ "original": {
+ "owner": "homix-community",
+ "repo": "homix",
+ "type": "github"
+ }
+ },
+ "impermanence": {
+ "locked": {
+ "lastModified": 1737831083,
+ "narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=",
+ "owner": "nix-community",
+ "repo": "impermanence",
+ "rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "impermanence",
+ "type": "github"
+ }
+ },
+ "kmonad": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_5"
+ },
+ "locked": {
+ "dir": "nix",
+ "lastModified": 1755275124,
+ "narHash": "sha256-T4ARnfJAvAEeg3FPndNVqKbBAPP/eMWABC4OenF45WU=",
+ "owner": "kmonad",
+ "repo": "kmonad",
+ "rev": "a38004ff4df4beda648ec5b1374173d3192d61ae",
+ "type": "github"
+ },
+ "original": {
+ "dir": "nix",
+ "owner": "kmonad",
+ "repo": "kmonad",
+ "type": "github"
+ }
+ },
+ "lanzaboote": {
+ "inputs": {
+ "crane": "crane_2",
+ "flake-compat": "flake-compat_3",
+ "flake-parts": "flake-parts_3",
+ "nixpkgs": "nixpkgs_6",
+ "pre-commit-hooks-nix": "pre-commit-hooks-nix",
+ "rust-overlay": "rust-overlay_3"
+ },
+ "locked": {
+ "lastModified": 1754297745,
+ "narHash": "sha256-aD6/scLN3L4ZszmNbhhd3JQ9Pzv1ScYFphz14wHinfs=",
+ "owner": "nix-community",
+ "repo": "lanzaboote",
+ "rev": "892cbdca865d6b42f9c0d222fe309f7720259855",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "lanzaboote",
+ "type": "github"
+ }
+ },
+ "lib-aggregate": {
+ "inputs": {
+ "flake-utils": "flake-utils_6",
+ "nixpkgs-lib": "nixpkgs-lib_3"
+ },
+ "locked": {
+ "lastModified": 1754828166,
+ "narHash": "sha256-i7c+fpXVsnvj2+63Gl3YfU1hVyxbLeqeFj55ZBZACWI=",
+ "owner": "nix-community",
+ "repo": "lib-aggregate",
+ "rev": "f01c8d121a3100230612be96e4ac668e15eafb77",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "lib-aggregate",
+ "type": "github"
+ }
+ },
+ "microvm": {
+ "inputs": {
+ "flake-utils": "flake-utils_3",
+ "nixpkgs": "nixpkgs_7",
+ "spectrum": "spectrum"
+ },
+ "locked": {
+ "lastModified": 1755911232,
+ "narHash": "sha256-ujvJhZ175zzmsVVE75MQUkviS4FIJU1YjbnXfZ08W9c=",
+ "owner": "astro",
+ "repo": "microvm.nix",
+ "rev": "4fe0a520d929aa462e6d874573e601e7568f184c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "astro",
+ "repo": "microvm.nix",
+ "type": "github"
+ }
+ },
+ "nix": {
+ "inputs": {
+ "flake-compat": [
+ "devenv",
+ "flake-compat"
+ ],
+ "flake-parts": "flake-parts",
+ "git-hooks-nix": [
+ "devenv",
+ "git-hooks"
+ ],
+ "nixpkgs": [
+ "devenv",
+ "nixpkgs"
+ ],
+ "nixpkgs-23-11": [
+ "devenv"
+ ],
+ "nixpkgs-regression": [
+ "devenv"
+ ]
+ },
+ "locked": {
+ "lastModified": 1755029779,
+ "narHash": "sha256-3+GHIYGg4U9XKUN4rg473frIVNn8YD06bjwxKS1IPrU=",
+ "owner": "cachix",
+ "repo": "nix",
+ "rev": "b0972b0eee6726081d10b1199f54de6d2917f861",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "ref": "devenv-2.30",
+ "repo": "nix",
+ "type": "github"
+ }
+ },
+ "nix-darwin": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1755825449,
+ "narHash": "sha256-XkiN4NM9Xdy59h69Pc+Vg4PxkSm9EWl6u7k6D5FZ5cM=",
+ "owner": "lnl7",
+ "repo": "nix-darwin",
+ "rev": "8df64f819698c1fee0c2969696f54a843b2231e8",
+ "type": "github"
+ },
+ "original": {
+ "owner": "lnl7",
+ "repo": "nix-darwin",
+ "type": "github"
+ }
+ },
+ "nix-gaming": {
+ "inputs": {
+ "flake-parts": "flake-parts_4",
+ "nixpkgs": "nixpkgs_8"
+ },
+ "locked": {
+ "lastModified": 1756173313,
+ "narHash": "sha256-gAdXP1w5ADA9ekT/gVCQMrGxLDVPKjfiMaoUT7xx4gY=",
+ "owner": "fufexan",
+ "repo": "nix-gaming",
+ "rev": "00beb5274d213427a78794f719ed9e7505b091ec",
+ "type": "github"
+ },
+ "original": {
+ "owner": "fufexan",
+ "repo": "nix-gaming",
+ "type": "github"
+ }
+ },
+ "nixlib": {
+ "locked": {
+ "lastModified": 1736643958,
+ "narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=",
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "type": "github"
+ }
+ },
+ "nixlib_2": {
+ "locked": {
+ "lastModified": 1709426687,
+ "narHash": "sha256-jLBZmwXf0WYHzLkmEMq33bqhX55YtT5edvluFr0RcSA=",
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "rev": "7873d84a89ae6e4841528ff7f5697ddcb5bdfe6c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "type": "github"
+ }
+ },
+ "nixos-cn": {
+ "inputs": {
+ "flake-utils": "flake-utils_4",
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1721353155,
+ "narHash": "sha256-OJWzQC04UBDkXJyxoGnhQZwdxITBnN5QfEczY9Ht4gQ=",
+ "owner": "nixos-cn",
+ "repo": "flakes",
+ "rev": "7d6545e2d0d1a2614a3b98f724ea5d6e068649d1",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos-cn",
+ "repo": "flakes",
+ "type": "github"
+ }
+ },
+ "nixos-generators": {
+ "inputs": {
+ "nixlib": "nixlib",
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1751903740,
+ "narHash": "sha256-PeSkNMvkpEvts+9DjFiop1iT2JuBpyknmBUs0Un0a4I=",
+ "owner": "nix-community",
+ "repo": "nixos-generators",
+ "rev": "032decf9db65efed428afd2fa39d80f7089085eb",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixos-generators",
+ "type": "github"
+ }
+ },
+ "nixos-generators_2": {
+ "inputs": {
+ "nixlib": "nixlib_2",
+ "nixpkgs": [
+ "nixos-rk3588",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1709557527,
+ "narHash": "sha256-PV8oYqhTHX6FGZMQ1m5dhRuS914AhofPwgnAMhUZtwE=",
+ "owner": "nix-community",
+ "repo": "nixos-generators",
+ "rev": "d048d6fc4bada612ff08d4b9d5edc48d45389431",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixos-generators",
+ "type": "github"
+ }
+ },
+ "nixos-hardware": {
+ "locked": {
+ "lastModified": 1756245047,
+ "narHash": "sha256-9bHzrVbjAudbO8q4vYFBWlEkDam31fsz0J7GB8k4AsI=",
+ "owner": "nixos",
+ "repo": "nixos-hardware",
+ "rev": "a65b650d6981e23edd1afa1f01eb942f19cdcbb7",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "master",
+ "repo": "nixos-hardware",
+ "type": "github"
+ }
+ },
+ "nixos-mailserver": {
+ "inputs": {
+ "blobs": "blobs",
+ "flake-compat": "flake-compat_4",
+ "git-hooks": "git-hooks_3",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "nixpkgs-25_05": "nixpkgs-25_05"
+ },
+ "locked": {
+ "lastModified": 1756130152,
+ "narHash": "sha256-3qcN28djoBqqhEqOv8ve3/+wD0lLR2YCVV1EZ4SYfjo=",
+ "owner": "simple-nixos-mailserver",
+ "repo": "nixos-mailserver",
+ "rev": "b49ae46f226430854102c207fdcb55e2de8e884e",
+ "type": "gitlab"
+ },
+ "original": {
+ "owner": "simple-nixos-mailserver",
+ "repo": "nixos-mailserver",
+ "type": "gitlab"
+ }
+ },
+ "nixos-rk3588": {
+ "inputs": {
+ "flake-utils": "flake-utils_5",
+ "nixos-generators": "nixos-generators_2",
+ "nixpkgs": "nixpkgs_9",
+ "pre-commit-hooks": "pre-commit-hooks"
+ },
+ "locked": {
+ "lastModified": 1748879899,
+ "narHash": "sha256-IkEHngpGGzpL133+JXAUebUAu/rn2VoYvxxqBKoa5EY=",
+ "owner": "ryan4yin",
+ "repo": "nixos-rk3588",
+ "rev": "37ca2142a3c6e99e3a4145d235e1e80928c9195a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ryan4yin",
+ "repo": "nixos-rk3588",
+ "type": "github"
+ }
+ },
+ "nixos-wsl": {
+ "inputs": {
+ "flake-compat": "flake-compat_5",
+ "nixpkgs": "nixpkgs_10"
+ },
+ "locked": {
+ "lastModified": 1755261305,
+ "narHash": "sha256-EOqCupB5X5WoGVHVcfOZcqy0SbKWNuY3kq+lj1wHdu8=",
+ "owner": "nix-community",
+ "repo": "NixOS-WSL",
+ "rev": "203a7b463f307c60026136dd1191d9001c43457f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "ref": "main",
+ "repo": "NixOS-WSL",
+ "type": "github"
+ }
+ },
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1750441195,
+ "narHash": "sha256-yke+pm+MdgRb6c0dPt8MgDhv7fcBbdjmv1ZceNTyzKg=",
+ "owner": "cachix",
+ "repo": "devenv-nixpkgs",
+ "rev": "0ceffe312871b443929ff3006960d29b120dc627",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "ref": "rolling",
+ "repo": "devenv-nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-25_05": {
+ "locked": {
+ "lastModified": 1753749649,
+ "narHash": "sha256-+jkEZxs7bfOKfBIk430K+tK9IvXlwzqQQnppC2ZKFj4=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-25.05",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-darwin": {
+ "locked": {
+ "lastModified": 1756223188,
+ "narHash": "sha256-ckZuBZpHp3JVQ8zx5b4wM2ZFkcjIYAgAr+GGB9Arrqc=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "7bc8d63262996cd7b38eed6cf281fe898b7d3ea9",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixpkgs-25.05-darwin",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-lib": {
+ "locked": {
+ "lastModified": 1753579242,
+ "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=",
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "type": "github"
+ }
+ },
+ "nixpkgs-lib_2": {
+ "locked": {
+ "lastModified": 1753579242,
+ "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=",
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "type": "github"
+ }
+ },
+ "nixpkgs-lib_3": {
+ "locked": {
+ "lastModified": 1754788789,
+ "narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "type": "github"
+ }
+ },
+ "nixpkgs-old": {
+ "locked": {
+ "lastModified": 1751274312,
+ "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-24.11",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-stable": {
+ "locked": {
+ "lastModified": 1756217674,
+ "narHash": "sha256-TH1SfSP523QI7kcPiNtMAEuwZR3Jdz0MCDXPs7TS8uo=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "4e7667a90c167f7a81d906e5a75cba4ad8bee620",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-25.05",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-unfree": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_12"
+ },
+ "locked": {
+ "lastModified": 1756218201,
+ "narHash": "sha256-dZ3aHSYk10Q4345Ekf9Ua9v7EGCY7KrehvM/NeDaT+8=",
+ "owner": "numtide",
+ "repo": "nixpkgs-unfree",
+ "rev": "ab7f1a373fc44263c02ff181371f2ac9d2a5602b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs-unfree",
+ "type": "github"
+ }
+ },
+ "nixpkgs-wayland": {
+ "inputs": {
+ "flake-compat": "flake-compat_6",
+ "lib-aggregate": "lib-aggregate",
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1756300030,
+ "narHash": "sha256-REX0zxzaDEaj2KXWR68ZfbBUG3S8Oeg2ku3WALiRX40=",
+ "owner": "nix-community",
+ "repo": "nixpkgs-wayland",
+ "rev": "e484a77f4dba9256ad428f1ce53ba4c81ceaf3f4",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixpkgs-wayland",
+ "type": "github"
+ }
+ },
+ "nixpkgs_10": {
+ "locked": {
+ "lastModified": 1754725699,
+ "narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_11": {
+ "locked": {
+ "lastModified": 1756266583,
+ "narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_12": {
+ "locked": {
+ "lastModified": 1756125398,
+ "narHash": "sha256-XexyKZpf46cMiO5Vbj+dWSAXOnr285GHsMch8FBoHbc=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "3b9f00d7a7bf68acd4c4abb9d43695afb04e03a5",
+ "type": "github"
+ },
+ "original": {
+ "id": "nixpkgs",
+ "type": "indirect"
+ }
+ },
+ "nixpkgs_13": {
+ "locked": {
+ "lastModified": 1756266583,
+ "narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_2": {
+ "locked": {
+ "lastModified": 1754340878,
+ "narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "cab778239e705082fe97bb4990e0d24c50924c04",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_3": {
+ "locked": {
+ "lastModified": 1740560979,
+ "narHash": "sha256-Vr3Qi346M+8CjedtbyUevIGDZW8LcA1fTG0ugPY/Hic=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "5135c59491985879812717f4c9fea69604e7f26f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_4": {
+ "locked": {
+ "lastModified": 1719690277,
+ "narHash": "sha256-0xSej1g7eP2kaUF+JQp8jdyNmpmCJKRpO12mKl/36Kc=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "2741b4b489b55df32afac57bc4bfd220e8bf617e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_5": {
+ "locked": {
+ "lastModified": 1744157173,
+ "narHash": "sha256-bWSjxDwq7iVePrhmA7tY2dyMWHuNJo8knkO4y+q4ZkY=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "6a39c6e495eefabc935d8ddf66aa45d85b85fa3f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_6": {
+ "locked": {
+ "lastModified": 1754243818,
+ "narHash": "sha256-sEPw2W01UPf0xNGnMGNZIaE1XHkk7O+lLLetYEXVZHk=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "c460617dfb709a67d18bb31e15e455390ee4ee1c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable-small",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_7": {
+ "locked": {
+ "lastModified": 1754725699,
+ "narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_8": {
+ "locked": {
+ "lastModified": 1755829505,
+ "narHash": "sha256-4/Jd+LkQ2ssw8luQVkqVs9spDBVE6h/u/hC/tzngsPo=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "f937f8ecd1c70efd7e9f90ba13dfb400cf559de4",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_9": {
+ "locked": {
+ "lastModified": 1729256560,
+ "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nur": {
+ "inputs": {
+ "flake-parts": "flake-parts_5",
+ "nixpkgs": "nixpkgs_13"
+ },
+ "locked": {
+ "lastModified": 1756328417,
+ "narHash": "sha256-C+wZeLECXHjUZf8HFKJg93+QpavgG8ojSs1aNV+Mf3A=",
+ "owner": "nix-community",
+ "repo": "NUR",
+ "rev": "f3306e414ea749fe1b7329582f58f0b910a3f1fc",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "NUR",
+ "type": "github"
+ }
+ },
+ "openai-codex": {
+ "inputs": {
+ "flake-utils": "flake-utils_7",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "rust-overlay": "rust-overlay_4"
+ },
+ "locked": {
+ "lastModified": 1756328159,
+ "narHash": "sha256-x/npKSLcyfIqD5jvCrsIkuXG/MhGFfo3c3W7LlAf11g=",
+ "owner": "openai",
+ "repo": "codex",
+ "rev": "488a40211abd382cf5b7b9969886b02076189a88",
+ "type": "github"
+ },
+ "original": {
+ "owner": "openai",
+ "repo": "codex",
+ "type": "github"
+ }
+ },
+ "polybar-themes": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1753542051,
+ "narHash": "sha256-f/54m7RJnqNW6eC/75IrnFxmSWTY+zd5epm6TQsYeYA=",
+ "owner": "adi1090x",
+ "repo": "polybar-themes",
+ "rev": "e6326ff356b296256b7fac9c5bcc42a1ef4a4d5b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "adi1090x",
+ "repo": "polybar-themes",
+ "type": "github"
+ }
+ },
+ "pre-commit-hooks": {
+ "inputs": {
+ "flake-compat": [
+ "nixos-rk3588"
+ ],
+ "flake-utils": [
+ "nixos-rk3588",
+ "flake-utils"
+ ],
+ "gitignore": "gitignore_5",
+ "nixpkgs": [
+ "nixos-rk3588",
+ "nixpkgs"
+ ],
+ "nixpkgs-stable": [
+ "nixos-rk3588",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1702456155,
+ "narHash": "sha256-I2XhXGAecdGlqi6hPWYT83AQtMgL+aa3ulA85RAEgOk=",
+ "owner": "cachix",
+ "repo": "pre-commit-hooks.nix",
+ "rev": "007a45d064c1c32d04e1b8a0de5ef00984c419bc",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "pre-commit-hooks.nix",
+ "type": "github"
+ }
+ },
+ "pre-commit-hooks-nix": {
+ "inputs": {
+ "flake-compat": [
+ "lanzaboote",
+ "flake-compat"
+ ],
+ "gitignore": "gitignore_3",
+ "nixpkgs": [
+ "lanzaboote",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1750779888,
+ "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
+ "owner": "cachix",
+ "repo": "pre-commit-hooks.nix",
+ "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "pre-commit-hooks.nix",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "agenix": "agenix",
+ "devenv": "devenv",
+ "disko": "disko",
+ "flake-parts": "flake-parts_2",
+ "flake-utils": "flake-utils_2",
+ "gemini-cli": "gemini-cli",
+ "git-hooks": "git-hooks_2",
+ "helix": "helix",
+ "homix": "homix",
+ "impermanence": "impermanence",
+ "kmonad": "kmonad",
+ "lanzaboote": "lanzaboote",
+ "microvm": "microvm",
+ "nix-darwin": "nix-darwin",
+ "nix-gaming": "nix-gaming",
+ "nixos-cn": "nixos-cn",
+ "nixos-generators": "nixos-generators",
+ "nixos-hardware": "nixos-hardware",
+ "nixos-mailserver": "nixos-mailserver",
+ "nixos-rk3588": "nixos-rk3588",
+ "nixos-wsl": "nixos-wsl",
+ "nixpkgs": "nixpkgs_11",
+ "nixpkgs-darwin": "nixpkgs-darwin",
+ "nixpkgs-old": "nixpkgs-old",
+ "nixpkgs-stable": "nixpkgs-stable",
+ "nixpkgs-unfree": "nixpkgs-unfree",
+ "nixpkgs-wayland": "nixpkgs-wayland",
+ "nur": "nur",
+ "openai-codex": "openai-codex",
+ "polybar-themes": "polybar-themes",
+ "waybar": "waybar",
+ "windsurf": "windsurf",
+ "wrapper-manager": "wrapper-manager",
+ "yek": "yek",
+ "zen-browser": "zen-browser"
+ }
+ },
+ "rust-overlay": {
+ "inputs": {
+ "nixpkgs": [
+ "agenix",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1741400194,
+ "narHash": "sha256-tEpgT+q5KlGjHSm8MnINgTPErEl8YDzX3Eps8PVc09g=",
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "rev": "16b6045a232fea0e9e4c69e55a6e269607dd8e3f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "type": "github"
+ }
+ },
+ "rust-overlay_2": {
+ "inputs": {
+ "nixpkgs": [
+ "helix",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1740623427,
+ "narHash": "sha256-3SdPQrZoa4odlScFDUHd4CUPQ/R1gtH4Mq9u8CBiK8M=",
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "rev": "d342e8b5fd88421ff982f383c853f0fc78a847ab",
+ "type": "github"
+ },
+ "original": {
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "type": "github"
+ }
+ },
+ "rust-overlay_3": {
+ "inputs": {
+ "nixpkgs": [
+ "lanzaboote",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1754189623,
+ "narHash": "sha256-fstu5eb30UYwsxow0aQqkzxNxGn80UZjyehQVNVHuBk=",
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "rev": "c582ff7f0d8a7ea689ae836dfb1773f1814f472a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "type": "github"
+ }
+ },
+ "rust-overlay_4": {
+ "inputs": {
+ "nixpkgs": [
+ "openai-codex",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1746844454,
+ "narHash": "sha256-GcUWDQUDRYrD34ol90KGUpjbVcOfUNbv0s955jPecko=",
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "rev": "be092436d4c0c303b654e4007453b69c0e33009e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "type": "github"
+ }
+ },
+ "spectrum": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1754675037,
+ "narHash": "sha256-afS08F7lfMUBR4qrBxinN1kuxu+DoHQ5TPNVp9VS/OA=",
+ "ref": "refs/heads/main",
+ "rev": "586577f3015397afacd83bc185454f4cc3c8028f",
+ "revCount": 955,
+ "type": "git",
+ "url": "https://spectrum-os.org/git/spectrum"
+ },
+ "original": {
+ "type": "git",
+ "url": "https://spectrum-os.org/git/spectrum"
+ }
+ },
+ "systems": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_2": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_3": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_4": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_5": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_6": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_7": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "waybar": {
+ "inputs": {
+ "flake-compat": "flake-compat_7",
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1754637322,
+ "narHash": "sha256-mGiBZjfvtZZkSHrha4UF2l1Ogbij8J//r2h4gcZAJ6w=",
+ "owner": "alexays",
+ "repo": "waybar",
+ "rev": "41de8964f1e3278edf07902ad68ca5e01e7abeeb",
+ "type": "github"
+ },
+ "original": {
+ "owner": "alexays",
+ "repo": "waybar",
+ "type": "github"
+ }
+ },
+ "windsurf": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1742369403,
+ "narHash": "sha256-Qox5x+FI4OhCs/7T/v4hZlR9Rm7ZfpXP7ISy+OrHCyw=",
+ "path": "/home/y/nixconf/derivations/windsurf",
+ "type": "path"
+ },
+ "original": {
+ "path": "/home/y/nixconf/derivations/windsurf",
+ "type": "path"
+ }
+ },
+ "wrapper-manager": {
+ "locked": {
+ "lastModified": 1751998186,
+ "narHash": "sha256-np2RxS8tRz/jGfUSYKxzg7cCi4dS8PL8gutLZfPMbIY=",
+ "owner": "viperML",
+ "repo": "wrapper-manager",
+ "rev": "8ad2484b485acad0632cb0af15b5eb704e3c1d0a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "viperML",
+ "repo": "wrapper-manager",
+ "type": "github"
+ }
+ },
+ "yek": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1747466629,
+ "narHash": "sha256-uoitiN9zrv9QaGf8mKIXhRxXtsNi6MupZVK+Zy3jOoA=",
+ "path": "/home/y/nixconf/derivations/yek",
+ "type": "path"
+ },
+ "original": {
+ "path": "/home/y/nixconf/derivations/yek",
+ "type": "path"
+ }
+ },
+ "zen-browser": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1754886070,
+ "narHash": "sha256-MZDmxOkVKL1HY72bliN8Gxh0SYkHUa3W/1fTU2ke36I=",
+ "owner": "youwen5",
+ "repo": "zen-browser-flake",
+ "rev": "e37d2b326311320c8571111b3ef89b29d26d4b64",
+ "type": "github"
+ },
+ "original": {
+ "owner": "youwen5",
+ "repo": "zen-browser-flake",
+ "type": "github"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/hosts/cloud/hetzner/configuration.nix b/hosts/cloud/hetzner/configuration.nix
index a432391..bc23cf7 100644
--- a/hosts/cloud/hetzner/configuration.nix
+++ b/hosts/cloud/hetzner/configuration.nix
@@ -14,7 +14,7 @@
../users.nix
../packages.nix
../../server.nix
- ./mail.nix
+ # ./mail.nix
];
boot = {
loader.grub = {
@@ -50,5 +50,45 @@
# };
# };
+ services.nostr-rs-relay = {
+ enable = true;
+ settings = {
+ info = {
+ description = "Oorbit coming";
+ pubkey = "npub1ll29wev5zztj7mugxnqlzpa45m0t779zte4x90ugf3psxxqyzr6sk9nq94";
+ relay_url = "wss://n.urbit.cloud";
+ name = "UrNostr";
+ };
+
+ network = {
+ # Bind to this network address
+ address = "0.0.0.0";
+ # Listen on port 12849 (this is the default). I have not managed to find any way to change it. KEEP IT default!
+ };
+
+ authorization = {
+ pubkey_whitelist = [
+ "npub1ll29wev5zztj7mugxnqlzpa45m0t779zte4x90ugf3psxxqyzr6sk9nq94"
+ ];
+ };
+
+ options = {
+ max_event_size = 16384;
+ reject_future_seconds = 1800;
+ };
+
+ limits = {
+ max_subscriptions = 20;
+ max_filters = 100;
+ };
+ };
+ };
+
+ # Open firewall for the relay port
+ networking.firewall.allowedTCPPorts = [
+ 80
+ 443
+ ]; # Add 80/443 if using a reverse proxy
+
system.stateVersion = "24.11"; # Did you read the comment?
}
diff --git a/hosts/cloud/hetzner/mail.nix b/hosts/cloud/hetzner/mail.nix
index 9ef4de8..4e218e7 100644
--- a/hosts/cloud/hetzner/mail.nix
+++ b/hosts/cloud/hetzner/mail.nix
@@ -1,8 +1,4 @@
-{
- config,
- pkgs,
- ...
-}: {
+{pkgs, ...}: {
environment.etc = {
"stalwart/mail-pw1".text = "poguo";
"stalwart/mail-pw2".text = "shahezai";
@@ -29,26 +25,37 @@
submissions = {
bind = "[::]:465";
protocol = "smtp";
+ tls.implicit = true;
};
imaps = {
bind = "[::]:993";
protocol = "imap";
+ tls.implicit = true;
};
- jmap = {
+ http = {
bind = "[::]:8888";
url = "https://mail.urbit.cloud";
- protocol = "jmap";
- };
- management = {
- bind = ["127.0.0.1:8888"];
protocol = "http";
+ use-x-forwarded = true;
};
+ # management = {
+ # bind = ["127.0.0.1:8888"];
+ # protocol = "http";
+ # };
};
};
lookup.default = {
hostname = "mail.urbit.cloud";
domain = "urbit.cloud";
};
+ acme."letsencrypt" = {
+ directory = "https://acme-v02.api.letsencrypt.org/directory";
+ challenge = "dns-01";
+ contact = "postmaster@urbit.cloud";
+ domains = ["urbit.cloud" "mail.urbit.cloud"];
+ provider = "cloudfare";
+ secret = "%{file:/etc/stalwart/acme-secret}";
+ };
session.auth = {
mechanisms = "[plain]";
directory = "'in-memory'";
diff --git a/hosts/cloud/hetzner/nginx.nix b/hosts/cloud/hetzner/nginx.nix
index 2e88843..0e8dbb2 100644
--- a/hosts/cloud/hetzner/nginx.nix
+++ b/hosts/cloud/hetzner/nginx.nix
@@ -25,6 +25,25 @@
proxy_cache off;
'';
};
+ virtualHosts."n.urbit.cloud" = {
+ enableACME = true;
+ forceSSL = true;
+ locations."/" = {
+ proxyPass = "http://127.0.0.1:12849";
+ # TODO NIP 11
+ proxyWebsockets = true; # needed if you need to use WebSocket
+ extraConfig = ''
+ proxy_set_header Host $host;
+ proxy_set_header Forwarded $proxy_add_x_forwarded_for;
+ '';
+ };
+ extraConfig = ''
+ chunked_transfer_encoding off;
+ proxy_http_version 1.1;
+ proxy_buffering off;
+ proxy_cache off;
+ '';
+ };
# virtualHosts."bridge.urbit.cloud" = {
# enableACME = true;
# forceSSL = true;
@@ -48,6 +67,8 @@
forceSSL = true;
serverAliases = [
"mail.urbit.cloud"
+ "autoconfig.urbit.cloud"
+ "autodiscover.urbit.cloud"
"mta-sts.urbit.cloud"
];
locations."/" = {
diff --git a/hosts/local/s15/configuration.nix b/hosts/local/s15/configuration.nix
index 8e06c2f..9c59a8b 100644
--- a/hosts/local/s15/configuration.nix
+++ b/hosts/local/s15/configuration.nix
@@ -36,11 +36,11 @@
# ../../network.nix
# ../../gpg.nix
];
- environment.systemPackages = [
- # wrappers
- pkgs.superhtml
- pkgs.broken-sword-25
- ];
+ # environment.systemPackages = [
+ # # wrappers
+ # pkgs.superhtml
+ # pkgs.broken-sword-25
+ # ];
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. It's perfectly fine and recommended to leave