Compare commits
25
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
37cf9825a7 | ||
|
|
c8951f6da8 | ||
|
|
394c2c2aba | ||
|
|
bb7a01f758 | ||
|
|
a6b46f9c74 | ||
|
|
e865d0832e | ||
|
|
307dbbe044 | ||
|
|
69651258d6 | ||
|
|
53c491f537 | ||
|
|
a8ccb1b6ba | ||
|
|
e6217401f9 | ||
|
|
d97fb37f0e | ||
|
|
75e71f9ce9 | ||
|
|
19540ea1da | ||
|
|
431f78f8af | ||
|
|
95eea6fc26 | ||
|
|
387a34ffff | ||
|
|
37a833887b | ||
|
|
a69fc4240a | ||
|
|
15c586fbdb | ||
|
|
2daf74d134 | ||
|
|
1934787e80 | ||
|
|
2a476a7bfe | ||
|
|
e94137ecbf | ||
|
|
d22f543043 |
+5
-3
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
pkgs',
|
||||||
top,
|
top,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
@@ -33,7 +34,7 @@ in
|
|||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
agenix
|
agenix
|
||||||
hms
|
pkgs'.hms
|
||||||
];
|
];
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
@@ -41,12 +42,13 @@ in
|
|||||||
nerd-fonts.hack
|
nerd-fonts.hack
|
||||||
];
|
];
|
||||||
|
|
||||||
launchd.daemons.darwin-builder = builder;
|
#launchd.daemons.darwin-builder = builder;
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
|
#buildMachines = [ { systems = ["aarch64-linux"]; sshUser = "builder"; sshKey = "/etc/nix/builder_ed25519"; hostName = "localhost:31022"; protocol = "ssh-ng"; }];
|
||||||
enable = true;
|
enable = true;
|
||||||
gc.interval.Hour = 3;
|
gc.interval.Hour = 3;
|
||||||
linux-builder.enable = true;
|
#linux-builder.enable = true;
|
||||||
settings.auto-optimise-store = false; # Darwin bugs?
|
settings.auto-optimise-store = false; # Darwin bugs?
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ let
|
|||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit metadata top;
|
inherit metadata top;
|
||||||
inherit (top) self;
|
inherit (top) self;
|
||||||
|
pkgs' = top.self.packages.${system};
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
{
|
{
|
||||||
|
|||||||
Generated
+89
-120
@@ -25,19 +25,17 @@
|
|||||||
},
|
},
|
||||||
"buildbot": {
|
"buildbot": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"hercules-ci-effects": "hercules-ci-effects",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixunstable"
|
"nixunstable"
|
||||||
],
|
],
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776626072,
|
"lastModified": 1780652294,
|
||||||
"narHash": "sha256-NF6x9h74mrA0Acl1JHWwuSSrwzyTm3KyV8a85QUqTW0=",
|
"narHash": "sha256-pW0RrDJvj8EcbxXPxWVwMQ+x8LdEij3S3oB+inIUeKU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "buildbot-nix",
|
"repo": "buildbot-nix",
|
||||||
"rev": "f298855ee69709374a25ae9543ad11bd549d7b8b",
|
"rev": "b16ef5c60459c94bd7f512977908c69b6e53b1e0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -97,11 +95,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775037210,
|
"lastModified": 1779036909,
|
||||||
"narHash": "sha256-KM2WYj6EA7M/FVZVCl3rqWY+TFV5QzSyyGE2gQxeODU=",
|
"narHash": "sha256-zXcwYQGCT6pzinK+1dBB2ekTVtfxGZAapb3Evdcu4fY=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "06648f4902343228ce2de79f291dd5a58ee12146",
|
"rev": "56c666e108467d87d13508936aade6d567f2a501",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -161,17 +159,14 @@
|
|||||||
},
|
},
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
"buildbot",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775087534,
|
"lastModified": 1778716662,
|
||||||
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -182,14 +177,17 @@
|
|||||||
},
|
},
|
||||||
"flake-parts_2": {
|
"flake-parts_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": [
|
||||||
|
"nixvimunstable",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775087534,
|
"lastModified": 1778716662,
|
||||||
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -199,27 +197,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts_3": {
|
"flake-parts_3": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": [
|
|
||||||
"nixvimunstable",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1775087534,
|
|
||||||
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts_4": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
"nurpkgs",
|
"nurpkgs",
|
||||||
@@ -255,31 +232,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hercules-ci-effects": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": [
|
|
||||||
"buildbot",
|
|
||||||
"flake-parts"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"buildbot",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1776380511,
|
|
||||||
"narHash": "sha256-3A2B8k6YCuzt5pT/CQEltUghtE6heSlk2tMYkg/fUWI=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "hercules-ci-effects",
|
|
||||||
"rev": "4a80b7e95a298b7bb4418c0a2b55fe95a662c377",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "hercules-ci-effects",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hmunstable": {
|
"hmunstable": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -287,11 +239,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776904464,
|
"lastModified": 1780679734,
|
||||||
"narHash": "sha256-sBUCj7/4d3Hoevpu3oQp8ccJNA1EDeVmFi1F8O6VJro=",
|
"narHash": "sha256-KmRNvpNOb7QEORa06bVgjW9kITcx0VhsI7w0vhmZyD8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "667b3c47325441e6a444faaf405bba76ec70338a",
|
"rev": "b2b7db486e06e098711dc291bb25db82850e1d16",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -329,11 +281,11 @@
|
|||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777001712,
|
"lastModified": 1780375694,
|
||||||
"narHash": "sha256-9JX9msZU1NvHzjKM24PRorP76Ge8GBy6LAkJKA21mlY=",
|
"narHash": "sha256-TznzgYVONg28KiSFB2rVdf/eLVIMtEQOxKt13Kzyrp8=",
|
||||||
"owner": "Infinidoge",
|
"owner": "Infinidoge",
|
||||||
"repo": "nix-minecraft",
|
"repo": "nix-minecraft",
|
||||||
"rev": "394d3bfd943458baf29e4798bc9b256d824a3bb9",
|
"rev": "e6f8bec35104ca5955efe73742da58d2823684f7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -348,11 +300,11 @@
|
|||||||
"treefmt-nix": "treefmt-nix_2"
|
"treefmt-nix": "treefmt-nix_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778431771,
|
"lastModified": 1780530521,
|
||||||
"narHash": "sha256-5cOjpGIdh1D3vsoOA8r21ACJBMulhg240MRaBNTbPLI=",
|
"narHash": "sha256-728J4gTwpnug5C6QpnPbFyceYlfhPeX6SEP/K4PPbVs=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "niks3",
|
"repo": "niks3",
|
||||||
"rev": "2fd07c218b5575e30b7e62da56e6ddd6899f59db",
|
"rev": "c9a54708e881d51a76309168c5cda516bb2daeb0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -383,12 +335,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-hardware": {
|
"nix-hardware": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_4"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776830795,
|
"lastModified": 1780310866,
|
||||||
"narHash": "sha256-PAfvLwuHc1VOvsLcpk6+HDKgMEibvZjCNvbM1BJOA7o=",
|
"narHash": "sha256-fPBRVf6A5xlACYcOI59shGrjURuvwu0lRsDoSCEXt/I=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "72674a6b5599e844c045ae7449ba91f803d44ebc",
|
"rev": "4ed851c979641e28597a05086332d75cdc9e395f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -415,11 +370,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1774748309,
|
"lastModified": 1777168982,
|
||||||
"narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=",
|
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "333c4e0545a6da976206c74db8773a1645b5870a",
|
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -430,11 +385,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-lib_2": {
|
"nixpkgs-lib_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778379128,
|
"lastModified": 1780195591,
|
||||||
"narHash": "sha256-+yjPmoKsTqe/FQHriXzIfI0ELuEt3+1LXc0BE8nU/Yc=",
|
"narHash": "sha256-/LAL+E75c0ioCHxyVFGwzXorfuHzToKgqPUCRq4RTIY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "e361b0ff94723bc94283566dc2a13a46f07eaf5c",
|
"rev": "49d924421d7c3175edc499fdc738bd70d69d97d5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -461,11 +416,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777929473,
|
"lastModified": 1780475387,
|
||||||
"narHash": "sha256-TpVPahLM+DGWN+L/k2okrIsrjTfKLjC1xVAy1zX4G0s=",
|
"narHash": "sha256-JsufhU/MyfEEJMNmtmW0DY6LbOVIjjPS0zGQpHvgrBY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "69710ea485067ba4ff64681ebde9bcc87f897dec",
|
"rev": "c8560a2e8ad260841c482fe30731087b92f2223e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -477,11 +432,24 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776548001,
|
"lastModified": 1767892417,
|
||||||
"narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=",
|
"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": "b12141ef619e0a9c1c84dc8c684040326f27cdcc",
|
"rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -491,29 +459,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766025857,
|
"lastModified": 1777207419,
|
||||||
"narHash": "sha256-Lav5jJazCW4mdg1iHcROpuXqmM94BWJvabLFWaJVJp0=",
|
"narHash": "sha256-V3bmPWAajDiC+1ClDOp55gianW2EyRJSJOyu1RUQibc=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "def3da69945bbe338c373fddad5a1bb49cf199ce",
|
"rev": "a7ecea3deccfbdbf22945a89984fcc5a169da8aa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "def3da69945bbe338c373fddad5a1bb49cf199ce",
|
"rev": "a7ecea3deccfbdbf22945a89984fcc5a169da8aa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixunstable": {
|
"nixunstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776548001,
|
"lastModified": 1780243769,
|
||||||
"narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=",
|
"narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b12141ef619e0a9c1c84dc8c684040326f27cdcc",
|
"rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -525,18 +493,18 @@
|
|||||||
},
|
},
|
||||||
"nixvimunstable": {
|
"nixvimunstable": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_3",
|
"flake-parts": "flake-parts_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixunstable"
|
"nixunstable"
|
||||||
],
|
],
|
||||||
"systems": "systems_3"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776830812,
|
"lastModified": 1780646548,
|
||||||
"narHash": "sha256-L2q0bpa6evlzE4IfIQ7JWqhTAuINggUSIxMmOAxUsCg=",
|
"narHash": "sha256-Ckyl/l1XBmEwnaHcHD8PvBZk1uph0NqwbJ//CAvB7iE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "53aad7a9aaadaec21d740117ba0f0531b9a9b3cd",
|
"rev": "816a15282e58678dde831477964987d0262d4293",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -548,15 +516,15 @@
|
|||||||
},
|
},
|
||||||
"nurpkgs": {
|
"nurpkgs": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_4",
|
"flake-parts": "flake-parts_3",
|
||||||
"nixpkgs": "nixpkgs_4"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776910402,
|
"lastModified": 1780789357,
|
||||||
"narHash": "sha256-SvRshrmzz9SmiiflE+Ph2RQ2YJkmQRpluebVt94mHPQ=",
|
"narHash": "sha256-YrZPqCwHzUYb+fbH9tp8T90x3pN37D7onc4X7+bzktc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "b3ab759ea8da0d514dbbcb89e269fd59676a92ae",
|
"rev": "55cbac785808e7e62aee241f5b789b8f5adb8e95",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -571,7 +539,7 @@
|
|||||||
"buildbot": "buildbot",
|
"buildbot": "buildbot",
|
||||||
"colmena": "colmena",
|
"colmena": "colmena",
|
||||||
"darwin": "darwin_2",
|
"darwin": "darwin_2",
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts",
|
||||||
"hmunstable": "hmunstable",
|
"hmunstable": "hmunstable",
|
||||||
"minecraft": "minecraft",
|
"minecraft": "minecraft",
|
||||||
"niks3": "niks3",
|
"niks3": "niks3",
|
||||||
@@ -632,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"
|
||||||
}
|
}
|
||||||
@@ -674,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": {
|
||||||
@@ -689,14 +658,14 @@
|
|||||||
},
|
},
|
||||||
"vsext": {
|
"vsext": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776828494,
|
"lastModified": 1780718391,
|
||||||
"narHash": "sha256-gQ5+syn8ndyF/+c5g5ZpeAScNKhkTF4/63JsO2hqGHo=",
|
"narHash": "sha256-hQOS9bTTzVXQNYaW4bi2EyXN8jqDe7ge07xPPbvUMuA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-vscode-extensions",
|
"repo": "nix-vscode-extensions",
|
||||||
"rev": "ea6764d22ff5478f5db39ede57eeafc70d14e8e6",
|
"rev": "e2ccd7477aa7174e34bd32c135dc470a3f822a82",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -713,11 +682,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776910211,
|
"lastModified": 1780765279,
|
||||||
"narHash": "sha256-0ku3gW8bZ9TTpEU2fQw86oU6ZLT2vF6pacF+cLaf7VY=",
|
"narHash": "sha256-md6QHmlIx40bQkun43M2eT8aav5GURGkXEMFwof6uZs=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "4e6cad241baa0115a7aae8c55b04c166da4997c9",
|
"rev": "3e6d8af994e2a2d31af7a91863d7c0d6e278d951",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -86,6 +86,7 @@
|
|||||||
self
|
self
|
||||||
top
|
top
|
||||||
;
|
;
|
||||||
|
pkgs' = top.self.packages.x86_64-linux;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,3 +20,4 @@ builds:
|
|||||||
# to build at home
|
# to build at home
|
||||||
- homeConfigurations."gregory.hellings-mbp"
|
- homeConfigurations."gregory.hellings-mbp"
|
||||||
- homeConfigurations.gregs-MacBook-Pro-16-inch-Nov-2024
|
- homeConfigurations.gregs-MacBook-Pro-16-inch-Nov-2024
|
||||||
|
- homeConfigurations.ivr
|
||||||
|
|||||||
+24
-26
@@ -13,25 +13,23 @@
|
|||||||
includes = [ "config.local" ];
|
includes = [ "config.local" ];
|
||||||
enableDefaultConfig = false;
|
enableDefaultConfig = false;
|
||||||
|
|
||||||
matchBlocks =
|
settings =
|
||||||
let
|
let
|
||||||
nas = {
|
nas = {
|
||||||
user = "admin";
|
User = "admin";
|
||||||
};
|
};
|
||||||
owned = {
|
owned = {
|
||||||
user = "greg";
|
User = "greg";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
inherit nas;
|
inherit nas;
|
||||||
|
|
||||||
"*" = {
|
"*" = {
|
||||||
dynamicForwards = [ { port = 10240; } ];
|
DynamicForward = [ "10240" ];
|
||||||
serverAliveInterval = 60;
|
ServerAliveInterval = 60;
|
||||||
extraOptions = {
|
LogLevel = "error";
|
||||||
LogLevel = "error";
|
SetEnv = { TERM = "xterm-256color"; };
|
||||||
SetEnv = "TERM=xterm-256color";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
"10.42.1.4" = lib.hm.dag.entryBefore [ "10.42.*" ] nas;
|
"10.42.1.4" = lib.hm.dag.entryBefore [ "10.42.*" ] nas;
|
||||||
@@ -41,46 +39,46 @@
|
|||||||
"chronicles.thehellings.lan" = lib.hm.dag.entryBefore [ "*.thehellings.lan" ] nas;
|
"chronicles.thehellings.lan" = lib.hm.dag.entryBefore [ "*.thehellings.lan" ] nas;
|
||||||
|
|
||||||
gh = {
|
gh = {
|
||||||
user = "git";
|
User = "git";
|
||||||
hostname = "github.com";
|
Hostname = "github.com";
|
||||||
};
|
};
|
||||||
"src" = {
|
"src" = {
|
||||||
user = "git";
|
User = "git";
|
||||||
hostname = "jeremiah.shire-zebra.ts.net";
|
Hostname = "jeremiah.shire-zebra.ts.net";
|
||||||
port = 32222;
|
Port = 32222;
|
||||||
};
|
};
|
||||||
srcpub = {
|
srcpub = {
|
||||||
user = "git";
|
User = "git";
|
||||||
hostname = "src.thehellings.com";
|
Hostname = "src.thehellings.com";
|
||||||
port = 2222;
|
Port = 2222;
|
||||||
};
|
};
|
||||||
ivr = {
|
ivr = {
|
||||||
user = "git";
|
User = "git";
|
||||||
hostname = "gitlab.com";
|
Hostname = "gitlab.com";
|
||||||
};
|
};
|
||||||
|
|
||||||
"ivr.thehellings.lan" = lib.hm.dag.entryBefore [ "ivr" ] {
|
"ivr.thehellings.lan" = lib.hm.dag.entryBefore [ "ivr" ] {
|
||||||
user = "gregory.hellings";
|
User = "gregory.hellings";
|
||||||
};
|
};
|
||||||
|
|
||||||
"*.thehellings.lan" = owned;
|
"*.thehellings.lan" = owned;
|
||||||
"10.42.*" = owned;
|
"10.42.*" = owned;
|
||||||
|
|
||||||
"host.crosswire.org crosswire" = {
|
"host.crosswire.org crosswire" = {
|
||||||
hostname = "host.crosswire.org";
|
Hostname = "host.crosswire.org";
|
||||||
user = "ghellings";
|
User = "ghellings";
|
||||||
};
|
};
|
||||||
|
|
||||||
fedpeople = {
|
fedpeople = {
|
||||||
hostname = "fedorapeople.org";
|
Hostname = "fedorapeople.org";
|
||||||
user = "greghellings";
|
User = "greghellings";
|
||||||
};
|
};
|
||||||
|
|
||||||
"src.fedoraproject.org pkgs.fedoraproject.org" = {
|
"src.fedoraproject.org pkgs.fedoraproject.org" = {
|
||||||
user = "greghellings";
|
User = "greghellings";
|
||||||
};
|
};
|
||||||
|
|
||||||
"127.*".extraOptions = {
|
"127.*" = {
|
||||||
PubkeyAcceptedAlgorithms = "+ssh-rsa";
|
PubkeyAcceptedAlgorithms = "+ssh-rsa";
|
||||||
HostkeyAlgorithms = "+ssh-rsa";
|
HostkeyAlgorithms = "+ssh-rsa";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
greg = {
|
greg = {
|
||||||
@@ -36,4 +36,13 @@
|
|||||||
settings.SKIP_HOST_UPDATE = true;
|
settings.SKIP_HOST_UPDATE = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
xdg.desktopEntries = {
|
||||||
|
prismlauncher = {
|
||||||
|
name = "Prism Launcher - Minecraft";
|
||||||
|
actions.minecraft = {
|
||||||
|
name = "Minecraft";
|
||||||
|
exec = lib.getExe pkgs.prismlauncher;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -62,6 +62,7 @@
|
|||||||
serverProperties = {
|
serverProperties = {
|
||||||
allow-flight = true;
|
allow-flight = true;
|
||||||
motd = "Maya's Minecraft World";
|
motd = "Maya's Minecraft World";
|
||||||
|
online-mode = true;
|
||||||
};
|
};
|
||||||
whitelist = { };
|
whitelist = { };
|
||||||
|
|
||||||
@@ -128,8 +129,8 @@
|
|||||||
# Better storage engines
|
# Better storage engines
|
||||||
# https://www.curseforge.com/minecraft/mc-mods/refined-storage
|
# https://www.curseforge.com/minecraft/mc-mods/refined-storage
|
||||||
refined-storage = pkgs.fetchurl {
|
refined-storage = pkgs.fetchurl {
|
||||||
url = "https://mediafilez.forgecdn.net/files/8032/790/refinedstorage-fabric-3.0.0-beta.8.jar";
|
url = "https://mediafilez.forgecdn.net/files/8086/588/refinedstorage-fabric-3.0.0.jar";
|
||||||
hash = "sha256-XY5I+sw5JlWnKK/hPUOJsk2gnmqH4Iygq+aooN27NJY=";
|
hash = "sha256-LuOF0aYQon78AQeD5fQ8OXHCnekfa+PNKpH7cqimFNs=";
|
||||||
};
|
};
|
||||||
# https://www.curseforge.com/minecraft/mc-mods/storage-drawers
|
# https://www.curseforge.com/minecraft/mc-mods/storage-drawers
|
||||||
#storagedrawers = pkgs.fetchurl {
|
#storagedrawers = pkgs.fetchurl {
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
@@ -115,10 +116,15 @@ in
|
|||||||
"@\tIN\tSOA\t${config.networking.hostName}\tgreg@thehellings.com (1 1m 1m 1m 1m)"
|
"@\tIN\tSOA\t${config.networking.hostName}\tgreg@thehellings.com (1 1m 1m 1m 1m)"
|
||||||
"\tIN\tNS\t${config.networking.hostName}"
|
"\tIN\tNS\t${config.networking.hostName}"
|
||||||
];
|
];
|
||||||
makeHost = host: "${host.name}\tIN\tA\t${host.address}";
|
makeHost =
|
||||||
|
host:
|
||||||
|
[ "${host.name}\tIN\tA\t${host.address}" ]
|
||||||
|
++ lib.map (a: "${a}\tIN\tA\t${host.address}") (
|
||||||
|
if builtins.hasAttr "aliases" host then host.aliases else [ ]
|
||||||
|
);
|
||||||
in
|
in
|
||||||
pkgs.writeText "${domain}" (
|
pkgs.writeText "${domain}" (
|
||||||
builtins.concatStringsSep "\n" (preamble ++ (lib.map makeHost hosts) ++ [ "" ])
|
builtins.concatStringsSep "\n" (preamble ++ (lib.flatten (lib.map makeHost hosts)) ++ [ "" ])
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
lib.mapAttrs
|
lib.mapAttrs
|
||||||
@@ -127,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;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ ... }:
|
{ config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
srcDomain = "src.thehellings.com";
|
srcDomain = "src.thehellings.com";
|
||||||
@@ -6,15 +6,23 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
greg.proxies."${srcDomain}" = {
|
greg.proxies."${srcDomain}" = {
|
||||||
target = "https://gitea.shire-zebra.ts.net";
|
target = "http://unix:${config.services.anubis.instances.git.settings.BIND}";
|
||||||
ssl = true;
|
ssl = true;
|
||||||
genAliases = false;
|
genAliases = false;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
proxy_ssl_verify off;
|
#proxy_ssl_verify off;
|
||||||
proxy_ssl_server_name on;
|
#proxy_ssl_server_name on;
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
proxy_set_header X-Forwarded-Ssl on;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Http-Version $server_protocol;
|
||||||
|
proxy_set_header User-Agent $http_user_agent;
|
||||||
client_max_body_size 100000m;
|
client_max_body_size 100000m;
|
||||||
|
|
||||||
|
#proxy_set_header Host $host;
|
||||||
|
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
#proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
#proxy_set_header X-Forwarded-Ssl on;
|
||||||
|
|
||||||
# Ultimate AI Block List v1.7 20250924
|
# Ultimate AI Block List v1.7 20250924
|
||||||
# https://perishablepress.com/ultimate-ai-block-list/
|
# https://perishablepress.com/ultimate-ai-block-list/
|
||||||
|
|
||||||
@@ -87,6 +95,44 @@ in
|
|||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ sshPort ];
|
networking.firewall.allowedTCPPorts = [ sshPort ];
|
||||||
|
|
||||||
|
services = {
|
||||||
|
anubis = {
|
||||||
|
instances = {
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
BIND = "/run/anubis/anubis-git/anubis.sock";
|
||||||
|
COOKIE_DOMAIN = "thehellings.com";
|
||||||
|
SERVE_ROBOTS_TXT = true;
|
||||||
|
TARGET = "https://gitea.shire-zebra.ts.net/";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
haproxy = {
|
||||||
|
enable = true;
|
||||||
|
config = ''
|
||||||
|
global
|
||||||
|
daemon
|
||||||
|
maxconn 20
|
||||||
|
|
||||||
|
defaults
|
||||||
|
timeout connect 500s
|
||||||
|
timeout client 500s
|
||||||
|
timeout server 1h
|
||||||
|
|
||||||
|
listen gitsshd
|
||||||
|
bind *:${toString sshPort}
|
||||||
|
timeout client 1h
|
||||||
|
mode tcp
|
||||||
|
server git-isaiah isaiah.shire-zebra.ts.net:32222
|
||||||
|
server git-jeremiah jeremiah.shire-zebra.ts.net:32222
|
||||||
|
server git-zeke zeke.shire-zebra.ts.net:32222
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
systemd.services = {
|
systemd.services = {
|
||||||
haproxy = {
|
haproxy = {
|
||||||
after = [
|
after = [
|
||||||
@@ -98,25 +144,5 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.haproxy = {
|
users.users.nginx.extraGroups = [ config.users.groups.anubis.name ];
|
||||||
enable = true;
|
|
||||||
config = ''
|
|
||||||
global
|
|
||||||
daemon
|
|
||||||
maxconn 20
|
|
||||||
|
|
||||||
defaults
|
|
||||||
timeout connect 500s
|
|
||||||
timeout client 500s
|
|
||||||
timeout server 1h
|
|
||||||
|
|
||||||
listen gitsshd
|
|
||||||
bind *:${toString sshPort}
|
|
||||||
timeout client 1h
|
|
||||||
mode tcp
|
|
||||||
server git-isaiah isaiah.shire-zebra.ts.net:32222
|
|
||||||
server git-jeremiah jeremiah.shire-zebra.ts.net:32222
|
|
||||||
server git-zeke zeke.shire-zebra.ts.net:32222
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,12 +2,24 @@
|
|||||||
# them by the following commands:
|
# them by the following commands:
|
||||||
# nix run nixpkgs.matrix-synapse
|
# nix run nixpkgs.matrix-synapse
|
||||||
# register_new_matrix_user -k "B9EoPr2WV9hzwc7uL2Sx1JmvCeKDEOGCpB0uginQcQtEH4wzRtkSIdo7lltrjSQa" http://localhost:8448
|
# register_new_matrix_user -k "B9EoPr2WV9hzwc7uL2Sx1JmvCeKDEOGCpB0uginQcQtEH4wzRtkSIdo7lltrjSQa" http://localhost:8448
|
||||||
{ config, lib, ... }:
|
{ config, ... }:
|
||||||
let
|
let
|
||||||
domain = "${config.networking.domain}";
|
domain = "${config.networking.domain}";
|
||||||
fqdn = "matrix.${domain}";
|
fqdn = "matrix.${domain}";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
greg.proxies."${fqdn}" = {
|
||||||
|
extraConfig = ''
|
||||||
|
error_log /var/log/nginx/debug.log debug;
|
||||||
|
proxy_ssl_verify off;
|
||||||
|
proxy_ssl_server_name on;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header X-Forwarded-Ssl on;
|
||||||
|
'';
|
||||||
|
genAliases = false;
|
||||||
|
ssl = true;
|
||||||
|
target = "https://matrix.shire-zebra.ts.net";
|
||||||
|
};
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
virtualHosts = {
|
virtualHosts = {
|
||||||
# Server the '.well-known' files to find the Matrix API server
|
# Server the '.well-known' files to find the Matrix API server
|
||||||
@@ -44,36 +56,6 @@ in
|
|||||||
return 200 '${builtins.toJSON client}';
|
return 200 '${builtins.toJSON client}';
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# Reverse proxy in front of the actual Matrix server
|
|
||||||
"${fqdn}" = {
|
|
||||||
enableACME = true;
|
|
||||||
forceSSL = true;
|
|
||||||
|
|
||||||
extraConfig = ''
|
|
||||||
error_log /var/log/nginx/debug.log debug;
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Not the appropriate place for the chat client
|
|
||||||
locations =
|
|
||||||
(builtins.listToAttrs (
|
|
||||||
builtins.map
|
|
||||||
(
|
|
||||||
val:
|
|
||||||
lib.nameValuePair "/_${val}" {
|
|
||||||
proxyPass = "https://matrix.shire-zebra.ts.net";
|
|
||||||
}
|
|
||||||
)
|
|
||||||
[
|
|
||||||
"matrix"
|
|
||||||
"synapse"
|
|
||||||
"dendrite"
|
|
||||||
]
|
|
||||||
))
|
|
||||||
// {
|
|
||||||
"/".extraConfig = "return 404;";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -34,10 +34,5 @@ in
|
|||||||
ssl = true;
|
ssl = true;
|
||||||
genAliases = false;
|
genAliases = false;
|
||||||
};
|
};
|
||||||
"doubles.thehellings.com" = {
|
|
||||||
target = "http://localhost:8081";
|
|
||||||
ssl = true;
|
|
||||||
genAliases = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
(name: value: {
|
(name: value: {
|
||||||
inherit name;
|
inherit name;
|
||||||
address = builtins.getAttr netAttr value;
|
address = builtins.getAttr netAttr value;
|
||||||
|
aliases = lib.optionals (builtins.hasAttr "aliases" value) (builtins.getAttr "aliases" value);
|
||||||
})
|
})
|
||||||
(
|
(
|
||||||
lib.filterAttrs (
|
lib.filterAttrs (
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ spec:
|
|||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: mariadb-operator
|
name: mariadb-operator
|
||||||
interval: "1h"
|
interval: "1h"
|
||||||
|
version: "26.3.0"
|
||||||
---
|
---
|
||||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
kind: HelmRelease
|
kind: HelmRelease
|
||||||
@@ -33,6 +34,7 @@ spec:
|
|||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: mariadb-operator
|
name: mariadb-operator
|
||||||
interval: "1h"
|
interval: "1h"
|
||||||
|
version: "26.3.0"
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- name: mariadb-operator-crds
|
- name: mariadb-operator-crds
|
||||||
- name: longhorn
|
- name: longhorn
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ spec:
|
|||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
name: mariadb-operator
|
name: mariadb-operator
|
||||||
interval: "1h"
|
interval: "1h"
|
||||||
|
version: "26.3.0"
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- name: mariadb-operator-crds
|
- name: mariadb-operator-crds
|
||||||
- name: mariadb-operator
|
- name: mariadb-operator
|
||||||
|
|||||||
@@ -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/";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -13,7 +13,8 @@
|
|||||||
"ip": "10.42.1.4",
|
"ip": "10.42.1.4",
|
||||||
"pubkey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEBecZUva9OnZuXLaBun6/1ITo5f9p0YMLPD+q0egLRS",
|
"pubkey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEBecZUva9OnZuXLaBun6/1ITo5f9p0YMLPD+q0egLRS",
|
||||||
"external": true,
|
"external": true,
|
||||||
"ts": "100.119.228.115"
|
"ts": "100.119.228.115",
|
||||||
|
"aliases": ["s3"]
|
||||||
},
|
},
|
||||||
"exodus": {
|
"exodus": {
|
||||||
"ip": null,
|
"ip": null,
|
||||||
|
|||||||
Reference in New Issue
Block a user