Compare commits
10
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f6d86d25b0 | ||
|
|
37cf9825a7 | ||
|
|
c8951f6da8 | ||
|
|
394c2c2aba | ||
|
|
bb7a01f758 | ||
|
|
a6b46f9c74 | ||
|
|
e865d0832e | ||
|
|
307dbbe044 | ||
|
|
69651258d6 | ||
|
|
53c491f537 |
Generated
+65
-48
@@ -31,11 +31,11 @@
|
|||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779096866,
|
"lastModified": 1780652294,
|
||||||
"narHash": "sha256-8HtF1G7OPMXzo+f+0W+7zwzhuBUSk2EMrOS4ZvFw7+I=",
|
"narHash": "sha256-pW0RrDJvj8EcbxXPxWVwMQ+x8LdEij3S3oB+inIUeKU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "buildbot-nix",
|
"repo": "buildbot-nix",
|
||||||
"rev": "891f2baba218f4365f0c6ef96ea33f9b277f5ed0",
|
"rev": "b16ef5c60459c94bd7f512977908c69b6e53b1e0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -239,11 +239,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779507042,
|
"lastModified": 1780679734,
|
||||||
"narHash": "sha256-7wOwi8B6D0BYsieZCnHZZj2sNUzgJhLoIVSfkwB7lxQ=",
|
"narHash": "sha256-KmRNvpNOb7QEORa06bVgjW9kITcx0VhsI7w0vhmZyD8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "509ed3c603349a9d43de9e2ae6613baea6bd5b34",
|
"rev": "b2b7db486e06e098711dc291bb25db82850e1d16",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -281,11 +281,11 @@
|
|||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779508581,
|
"lastModified": 1780375694,
|
||||||
"narHash": "sha256-qZjcS4jRe0pUv4ZAFCyr7ELFrb3LPLr+5u8LHRZjMVQ=",
|
"narHash": "sha256-TznzgYVONg28KiSFB2rVdf/eLVIMtEQOxKt13Kzyrp8=",
|
||||||
"owner": "Infinidoge",
|
"owner": "Infinidoge",
|
||||||
"repo": "nix-minecraft",
|
"repo": "nix-minecraft",
|
||||||
"rev": "e13397b445bb0dcb390f90126914113ec5dd5afe",
|
"rev": "e6f8bec35104ca5955efe73742da58d2823684f7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -300,11 +300,11 @@
|
|||||||
"treefmt-nix": "treefmt-nix_2"
|
"treefmt-nix": "treefmt-nix_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779223902,
|
"lastModified": 1780530521,
|
||||||
"narHash": "sha256-qQogttCU2zOyK7MN85yPaUxxN2u0BN9zabfO4X7FwNg=",
|
"narHash": "sha256-728J4gTwpnug5C6QpnPbFyceYlfhPeX6SEP/K4PPbVs=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "niks3",
|
"repo": "niks3",
|
||||||
"rev": "1db826ca990cb3dead5c033bcfba4bf68ce9fc05",
|
"rev": "c9a54708e881d51a76309168c5cda516bb2daeb0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -335,12 +335,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-hardware": {
|
"nix-hardware": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_4"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779258371,
|
"lastModified": 1780310866,
|
||||||
"narHash": "sha256-j1iZsLy6oFApqR1oiDmHhvkwxXqcNi0aoSJj643LuwU=",
|
"narHash": "sha256-fPBRVf6A5xlACYcOI59shGrjURuvwu0lRsDoSCEXt/I=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "c97bc4d15bd3473dd095e8e8ba57330ab1943a77",
|
"rev": "4ed851c979641e28597a05086332d75cdc9e395f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -382,11 +385,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-lib_2": {
|
"nixpkgs-lib_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778984393,
|
"lastModified": 1780195591,
|
||||||
"narHash": "sha256-r755Kh5Q0XBTPNuv9rL2rsUJTq8BDhb+lIwRWhl6yYA=",
|
"narHash": "sha256-/LAL+E75c0ioCHxyVFGwzXorfuHzToKgqPUCRq4RTIY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "0d14a58ab7aa3f513c58ccc9e47e77ffd92be204",
|
"rev": "49d924421d7c3175edc499fdc738bd70d69d97d5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -413,11 +416,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779142197,
|
"lastModified": 1780475387,
|
||||||
"narHash": "sha256-Fypu3KtYQ+ZXL91CZIGqS3ZKwrMH6GOSPCtJ07W3ecU=",
|
"narHash": "sha256-JsufhU/MyfEEJMNmtmW0DY6LbOVIjjPS0zGQpHvgrBY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d4d6b67b138722feb847a75760a430943c33f4ef",
|
"rev": "c8560a2e8ad260841c482fe30731087b92f2223e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -429,11 +432,24 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779508470,
|
"lastModified": 1767892417,
|
||||||
"narHash": "sha256-Ap9KJX+5xHIn3bPIpfNgT6MEXdAECECwo4/rmlQD74M=",
|
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
|
||||||
|
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_5": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1780243769,
|
||||||
|
"narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "29916453413845e54a65b8a1cf996842300cd299",
|
"rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -443,7 +459,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777207419,
|
"lastModified": 1777207419,
|
||||||
"narHash": "sha256-V3bmPWAajDiC+1ClDOp55gianW2EyRJSJOyu1RUQibc=",
|
"narHash": "sha256-V3bmPWAajDiC+1ClDOp55gianW2EyRJSJOyu1RUQibc=",
|
||||||
@@ -461,11 +477,11 @@
|
|||||||
},
|
},
|
||||||
"nixunstable": {
|
"nixunstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779508470,
|
"lastModified": 1780243769,
|
||||||
"narHash": "sha256-Ap9KJX+5xHIn3bPIpfNgT6MEXdAECECwo4/rmlQD74M=",
|
"narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "29916453413845e54a65b8a1cf996842300cd299",
|
"rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -484,11 +500,11 @@
|
|||||||
"systems": "systems_3"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779554657,
|
"lastModified": 1780646548,
|
||||||
"narHash": "sha256-qjLcUp7DBpmSUL+nVjLymp2nEvAzeKKoAVDCRgZYxFk=",
|
"narHash": "sha256-Ckyl/l1XBmEwnaHcHD8PvBZk1uph0NqwbJ//CAvB7iE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "1a380f12453ba97ad8cc9c60f223afb1cb8bace8",
|
"rev": "816a15282e58678dde831477964987d0262d4293",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -501,14 +517,14 @@
|
|||||||
"nurpkgs": {
|
"nurpkgs": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_3",
|
"flake-parts": "flake-parts_3",
|
||||||
"nixpkgs": "nixpkgs_4"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779579389,
|
"lastModified": 1780789357,
|
||||||
"narHash": "sha256-YbWzWejE/QRBLQN9VKBL66byuTFPvncQgiv4NC25lN4=",
|
"narHash": "sha256-YrZPqCwHzUYb+fbH9tp8T90x3pN37D7onc4X7+bzktc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "65439f69b3bcf6b26b8a7c92c26bd09066fdf9c5",
|
"rev": "55cbac785808e7e62aee241f5b789b8f5adb8e95",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -584,15 +600,16 @@
|
|||||||
},
|
},
|
||||||
"systems_3": {
|
"systems_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1774449309,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=",
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default",
|
"repo": "default",
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
"rev": "c29398b59d2048c4ab79345812849c9bd15e9150",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
|
"ref": "future-26.11",
|
||||||
"repo": "default",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -626,11 +643,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775636079,
|
"lastModified": 1780220602,
|
||||||
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
|
"narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
|
"rev": "db947814a175b7ca6ded66e21383d938df01c227",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -641,14 +658,14 @@
|
|||||||
},
|
},
|
||||||
"vsext": {
|
"vsext": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779507994,
|
"lastModified": 1780718391,
|
||||||
"narHash": "sha256-vw/u69n4vPibpWNUVkbwlfVHQukg3xcuKoHwCXJkOvc=",
|
"narHash": "sha256-hQOS9bTTzVXQNYaW4bi2EyXN8jqDe7ge07xPPbvUMuA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-vscode-extensions",
|
"repo": "nix-vscode-extensions",
|
||||||
"rev": "375f9dc68aa90ccff57891af5dfe1d5fb2a9b20a",
|
"rev": "e2ccd7477aa7174e34bd32c135dc470a3f822a82",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -665,11 +682,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777732699,
|
"lastModified": 1780765279,
|
||||||
"narHash": "sha256-2uX/XtOWZ/oy2rerRynVhqVA//ZXZ3Fo60PikLHEPQc=",
|
"narHash": "sha256-md6QHmlIx40bQkun43M2eT8aav5GURGkXEMFwof6uZs=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "5482f113fd31ebac131d1ebeb2ae90bf0d5e41f5",
|
"rev": "3e6d8af994e2a2d31af7a91863d7c0d6e278d951",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -36,14 +36,14 @@
|
|||||||
".pip/pip.conf".text = ''
|
".pip/pip.conf".text = ''
|
||||||
[global]
|
[global]
|
||||||
retries = 1
|
retries = 1
|
||||||
index-url = https://pypi.python.org/simple
|
index-url = https://pypi.python.org/
|
||||||
extra-index-url =
|
extra-index-url =
|
||||||
https://pypidev.ivrtechnology.com/simple/
|
https://pypidev.ivrtechnology.com/
|
||||||
'';
|
'';
|
||||||
".config/uv/uv.toml".text = ''
|
".config/uv/uv.toml".text = ''
|
||||||
index-strategy = "unsafe-first-match"
|
index-strategy = "unsafe-first-match"
|
||||||
[[index]]
|
[[index]]
|
||||||
url = "https://pypidev.ivrtechnology.com/simple/"
|
url = "https://pypidev.ivrtechnology.com/"
|
||||||
name = "pypidev"
|
name = "pypidev"
|
||||||
ignore-error-codes = [403]
|
ignore-error-codes = [403]
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -26,12 +26,16 @@ in
|
|||||||
ansible
|
ansible
|
||||||
awscli2
|
awscli2
|
||||||
cargo
|
cargo
|
||||||
|
clippy
|
||||||
direnv
|
direnv
|
||||||
|
go
|
||||||
home-manager
|
home-manager
|
||||||
just
|
just
|
||||||
mcp-grafana
|
mcp-grafana
|
||||||
|
nil
|
||||||
nixVersions.stable
|
nixVersions.stable
|
||||||
podman
|
podman
|
||||||
|
podman-compose
|
||||||
poetry
|
poetry
|
||||||
pre-commit
|
pre-commit
|
||||||
(pulumi.withPackages (
|
(pulumi.withPackages (
|
||||||
@@ -45,6 +49,7 @@ in
|
|||||||
))
|
))
|
||||||
python
|
python
|
||||||
rustc
|
rustc
|
||||||
|
rustfmt
|
||||||
terraform
|
terraform
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ let
|
|||||||
#"1.0.0.1" # Cloudflare
|
#"1.0.0.1" # Cloudflare
|
||||||
#"149.112.112.112" # Quad 9
|
#"149.112.112.112" # Quad 9
|
||||||
metadata.infra.gw # Currently using our UniFi router for DNS as well
|
metadata.infra.gw # Currently using our UniFi router for DNS as well
|
||||||
|
"100.100.100.100"
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
@@ -132,7 +133,7 @@ in
|
|||||||
file = makeZoneFile (lib'.hostsByNet net metadata.hosts) domain;
|
file = makeZoneFile (lib'.hostsByNet net metadata.hosts) domain;
|
||||||
})
|
})
|
||||||
{
|
{
|
||||||
"shire-zebra.ts.net" = "tailscale";
|
#"shire-zebra.ts.net" = "tailscale";
|
||||||
"nebula.thehellings.com" = "nebula";
|
"nebula.thehellings.com" = "nebula";
|
||||||
nebula = "nebula";
|
nebula = "nebula";
|
||||||
"thehellings.lan" = "lan";
|
"thehellings.lan" = "lan";
|
||||||
|
|||||||
@@ -1,70 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
metadata,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
ips = lib.filterAttrs (_k: v: v ? "ip" && v.ip != null) metadata.hosts;
|
|
||||||
tps = lib.filterAttrs (_k: v: v ? "ts" && v.ts != null) metadata.hosts;
|
|
||||||
get = field: set: lib.mapAttrsToList (_k: v: v.${field}) set;
|
|
||||||
getTS = get "ts" tps;
|
|
||||||
getIP = get "ip" ips;
|
|
||||||
whitelists = builtins.concatStringsSep "," (
|
|
||||||
[
|
|
||||||
"localhost"
|
|
||||||
"127.0.0.1"
|
|
||||||
]
|
|
||||||
++ getTS
|
|
||||||
++ getIP
|
|
||||||
);
|
|
||||||
in
|
|
||||||
{
|
|
||||||
services = {
|
|
||||||
prowlarr = {
|
|
||||||
enable = true;
|
|
||||||
dataDir = "/arr/prowlarr";
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
radarr = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
transmission = {
|
|
||||||
enable = true;
|
|
||||||
openPeerPorts = true;
|
|
||||||
openRPCPort = true;
|
|
||||||
package = pkgs.transmission_4;
|
|
||||||
settings = {
|
|
||||||
download-dir = "/arr/transmission/downloads";
|
|
||||||
rpc-bind-address = "0.0.0.0";
|
|
||||||
rpc-host-whitelist = whitelists;
|
|
||||||
rpc-host-whitelist-enabled = false;
|
|
||||||
rpc-whitelist = whitelists;
|
|
||||||
rpc-whitelist-enabled = false;
|
|
||||||
watch-dir-enabled = true;
|
|
||||||
watch-dir = "/arr/transmission/incoming";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.mounts =
|
|
||||||
let
|
|
||||||
nfs = name: {
|
|
||||||
what = "nas1.shire-zebra.ts.net:/mnt/all/${name}";
|
|
||||||
type = "nfs";
|
|
||||||
name = "${name}.mount";
|
|
||||||
where = "/${name}";
|
|
||||||
requires = [ "tailscaled-autoconnect.service" ];
|
|
||||||
after = [ "tailscaled-autoconnect.service" ];
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
mountConfig.Options = "_netdev,noexec,timeo=50,retrans=5,soft";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
[
|
|
||||||
(nfs "arr")
|
|
||||||
(nfs "music")
|
|
||||||
(nfs "photos")
|
|
||||||
(nfs "video")
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -18,7 +18,6 @@ in
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
# Include the results of the hardware scan.
|
# Include the results of the hardware scan.
|
||||||
./arr.nix
|
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
top.niks3.nixosModules.niks3
|
top.niks3.nixosModules.niks3
|
||||||
];
|
];
|
||||||
@@ -200,6 +199,25 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.mounts =
|
||||||
|
let
|
||||||
|
nfs = name: {
|
||||||
|
what = "nas1.shire-zebra.ts.net:/mnt/all/${name}";
|
||||||
|
type = "nfs";
|
||||||
|
name = "${name}.mount";
|
||||||
|
where = "/${name}";
|
||||||
|
requires = [ "tailscaled-autoconnect.service" ];
|
||||||
|
after = [ "tailscaled-autoconnect.service" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
mountConfig.Options = "_netdev,noexec,timeo=50,retrans=5,soft";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
[
|
||||||
|
(nfs "music")
|
||||||
|
(nfs "photos")
|
||||||
|
(nfs "video")
|
||||||
|
];
|
||||||
|
|
||||||
# After first deploy: create a Grafana service account + API token for Klaatu
|
# After first deploy: create a Grafana service account + API token for Klaatu
|
||||||
# via the Grafana UI, then encrypt it: agenix -e secrets/grafana-api-token.age
|
# via the Grafana UI, then encrypt it: agenix -e secrets/grafana-api-token.age
|
||||||
age.secrets.grafana-api-token = {
|
age.secrets.grafana-api-token = {
|
||||||
|
|||||||
@@ -142,12 +142,12 @@ in
|
|||||||
updateOutputs = false;
|
updateOutputs = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
domain = "${config.networking.hostName}.shire-zebra.ts.net";
|
domain = "${config.networking.hostName}.shire-zebra.ts.net:8010";
|
||||||
evalMaxMemorySize = 8192;
|
evalMaxMemorySize = 8192;
|
||||||
evalWorkerCount = 4;
|
evalWorkerCount = 4;
|
||||||
gitea = {
|
gitea = {
|
||||||
enable = true;
|
enable = true;
|
||||||
instanceUrl = "https://src.thehellings.com";
|
instanceUrl = "https://gitea.shire-zebra.ts.net";
|
||||||
oauthId = "7ec9107d-379b-47c8-870f-1191956d0500";
|
oauthId = "7ec9107d-379b-47c8-870f-1191956d0500";
|
||||||
oauthSecretFile = config.age.secrets.gitea-oauthSecret.path;
|
oauthSecretFile = config.age.secrets.gitea-oauthSecret.path;
|
||||||
tokenFile = config.age.secrets.gitea-oauthToken.path;
|
tokenFile = config.age.secrets.gitea-oauthToken.path;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: gitea
|
chart: gitea
|
||||||
version: "12.5.3"
|
version: "12.6.0"
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: gitea-repository
|
name: gitea-repository
|
||||||
@@ -35,7 +35,7 @@ spec:
|
|||||||
storageClass: longhorn-default
|
storageClass: longhorn-default
|
||||||
|
|
||||||
image:
|
image:
|
||||||
tag: "1.25.5"
|
tag: "1.26.2"
|
||||||
|
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
|
||||||
@@ -66,8 +66,8 @@ spec:
|
|||||||
APP_NAME: "Gitea: Greg's Cup of Git"
|
APP_NAME: "Gitea: Greg's Cup of Git"
|
||||||
RUN_MODE: dev
|
RUN_MODE: dev
|
||||||
server:
|
server:
|
||||||
DOMAIN: "thehellings.com"
|
DOMAIN: "shire-zebra.ts.net"
|
||||||
ROOT_URL: "https://src.thehellings.com"
|
ROOT_URL: "https://gitea.shire-zebra.ts.net"
|
||||||
SSH_PORT: "2222"
|
SSH_PORT: "2222"
|
||||||
database:
|
database:
|
||||||
DB_TYPE: postgres
|
DB_TYPE: postgres
|
||||||
@@ -119,53 +119,6 @@ spec:
|
|||||||
cpu: "100m"
|
cpu: "100m"
|
||||||
memory: "2Gi"
|
memory: "2Gi"
|
||||||
|
|
||||||
# Anubis anti-crawler sidecar
|
|
||||||
# Anubis listens on :8080 and proxies to Gitea at http://localhost:3000
|
|
||||||
# Ingress is updated to route to the anubis port instead of http
|
|
||||||
extraContainers:
|
|
||||||
- name: anubis
|
|
||||||
image: ghcr.io/techarohq/anubis:latest
|
|
||||||
imagePullPolicy: Always
|
|
||||||
env:
|
|
||||||
- name: BIND
|
|
||||||
value: ":8080"
|
|
||||||
- name: DIFFICULTY
|
|
||||||
value: "4"
|
|
||||||
- name: METRICS_BIND
|
|
||||||
value: ":9090"
|
|
||||||
- name: POLICY_FNAME
|
|
||||||
value: "/etc/anubis/policy.yaml"
|
|
||||||
- name: SERVE_ROBOTS_TXT
|
|
||||||
value: "true"
|
|
||||||
- name: TARGET
|
|
||||||
value: "http://localhost:3000"
|
|
||||||
volumeMounts:
|
|
||||||
- name: anubis-policy
|
|
||||||
mountPath: /etc/anubis
|
|
||||||
readOnly: true
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: "750m"
|
|
||||||
memory: "256Mi"
|
|
||||||
requests:
|
|
||||||
cpu: "250m"
|
|
||||||
memory: "256Mi"
|
|
||||||
securityContext:
|
|
||||||
runAsUser: 1000
|
|
||||||
runAsGroup: 1000
|
|
||||||
runAsNonRoot: true
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
drop:
|
|
||||||
- ALL
|
|
||||||
seccompProfile:
|
|
||||||
type: RuntimeDefault
|
|
||||||
|
|
||||||
extraVolumes:
|
|
||||||
- name: anubis-policy
|
|
||||||
configMap:
|
|
||||||
name: anubis-policy
|
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
type: RollingUpdate
|
type: RollingUpdate
|
||||||
rollingUpdate:
|
rollingUpdate:
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ spec:
|
|||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: longhorn
|
chart: longhorn
|
||||||
version: "1.11.1"
|
version: "1.11.2"
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: longhorn
|
name: longhorn
|
||||||
|
|||||||
@@ -399,16 +399,24 @@
|
|||||||
name = "Media";
|
name = "Media";
|
||||||
bookmarks = [
|
bookmarks = [
|
||||||
{
|
{
|
||||||
name = "Prowlarr";
|
name = "Flaresolverr";
|
||||||
url = "https://hosea.shire-zebra.ts.net:9696/";
|
url = "http://nas1.shire-zebra.ts.net:30098";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "Transmission";
|
name = "Prowlarr";
|
||||||
url = "https://hosea.shire-zebra.ts.net:9091/";
|
url = "http://nas1.shire-zebra.ts.net:30050/";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Sonarr (TV)";
|
||||||
|
url = "http://nas1.shire-zebra.ts.net:30113/";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "Radarr (Movies)";
|
name = "Radarr (Movies)";
|
||||||
url = "https://hosea.shire-zebra.ts.net:7878/";
|
url = "http://nas1.shire-zebra.ts.net:30025/";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Transmission";
|
||||||
|
url = "http://nas1.shire-zebra.ts.net:30096/";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user