nix machine / user configurations

host nucleus on dzwonek

ptr.pet caa8877a cc868952

verified
Changed files
+80 -1
_sources
dns
hosts
dzwonek
modules
+20
_sources/generated.json
···
},
"version": "2683e619932808b8aa78ec7100de6324c8216daf"
},
+
"nucleus": {
+
"cargoLocks": null,
+
"date": "2025-10-31",
+
"extract": null,
+
"name": "nucleus",
+
"passthru": null,
+
"pinned": false,
+
"src": {
+
"deepClone": false,
+
"fetchSubmodules": false,
+
"leaveDotGit": false,
+
"name": null,
+
"rev": "424bd6cfb7aaa5f178dc32e79a997d229c7bd823",
+
"sha256": "sha256-jK+4I2WT60bFQaq6ItlPFzvDj9P3pu386m1AtrzUmc4=",
+
"sparseCheckout": [],
+
"type": "git",
+
"url": "https://tangled.org/@ptr.pet/nucleus"
+
},
+
"version": "424bd6cfb7aaa5f178dc32e79a997d229c7bd823"
+
},
"stylix": {
"cargoLocks": null,
"date": "2025-10-28",
+14
_sources/generated.nix
···
};
date = "2025-09-11";
};
+
nucleus = {
+
pname = "nucleus";
+
version = "424bd6cfb7aaa5f178dc32e79a997d229c7bd823";
+
src = fetchgit {
+
url = "https://tangled.org/@ptr.pet/nucleus";
+
rev = "424bd6cfb7aaa5f178dc32e79a997d229c7bd823";
+
fetchSubmodules = false;
+
deepClone = false;
+
leaveDotGit = false;
+
sparseCheckout = [ ];
+
sha256 = "sha256-jK+4I2WT60bFQaq6ItlPFzvDj9P3pu386m1AtrzUmc4=";
+
};
+
date = "2025-10-31";
+
};
stylix = {
pname = "stylix";
version = "f8f4e3c3658ee962f8f332a56720c8dfc2836f7a";
+3 -1
dns/dnsconfig.js
···
A("spindle", WOLUMONDE_IP, CF_PROXY_OFF),
A("skeetdeck", WOLUMONDE_IP, CF_PROXY_OFF),
A("likes", WOLUMONDE_IP, CF_PROXY_OFF),
-
A("vpn", DZWONEK_IP, CF_PROXY_OFF),
A("id", WOLUMONDE_IP, CF_PROXY_OFF),
A("test", WOLUMONDE_IP, CF_PROXY_OFF),
// atp handles
A("dawn", WOLUMONDE_IP, CF_PROXY_OFF),
A("guestbook", WOLUMONDE_IP, CF_PROXY_OFF),
A("drew", WOLUMONDE_IP, CF_PROXY_OFF),
+
// dzwonek
+
A("vpn", DZWONEK_IP, CF_PROXY_OFF),
// A("meow", WOLUMONDE_IP, CF_PROXY_OFF),
// thing
// TXT("id", "a data endpoint for entity with serial id /90008/."),
···
DefaultTTL(1),
A("@", WOLUMONDE_IP, CF_PROXY_OFF),
A("test", WOLUMONDE_IP, CF_PROXY_OFF),
+
A("nucleus", DZWONEK_IP, CF_PROXY_OFF),
// atproto
TXT("_atproto", "did=did:plc:dfl62fgb7wtjj3fcbb72naae"),
A("nil", WOLUMONDE_IP, CF_PROXY_OFF),
+1
hosts/dzwonek/default.nix
···
"${inputs.home}/nixos"
"${inputs.disko}/module.nix"
../../modules
+
../../modules/stylix-null.nix
../../users/root
./disk-config.nix
]
+22
hosts/dzwonek/modules/nucleus.nix
···
+
{pkgs, inputs, ...}:
+
let
+
rootDomain = "vpn.gaze.systems";
+
domain = "nucleus.ptr.pet";
+
pkg = pkgs.callPackage "${inputs.nucleus}/nix" {
+
nucleus-modules = pkgs.callPackage "${inputs.nucleus}/nix/modules.nix" {};
+
PUBLIC_DOMAIN = "https://${domain}";
+
};
+
in
+
{
+
security.acme.certs.${rootDomain}.extraDomainNames = [domain];
+
services.nginx.virtualHosts.${domain} = {
+
useACMEHost = rootDomain;
+
forceSSL = true;
+
quic = true;
+
kTLS = true;
+
locations."/" = {
+
root = pkg;
+
tryFiles = "$uri $uri/ /index.html";
+
};
+
};
+
}
+16
modules/stylix-null.nix
···
+
{lib, ...}:
+
let
+
options = {
+
stylix = lib.mkOption {
+
type = lib.types.raw;
+
};
+
};
+
in
+
{
+
inherit options;
+
config = {
+
home-manager.sharedModules = [{
+
inherit options;
+
}];
+
};
+
}
+4
nvfetcher.toml
···
src.git = "https://tangled.org/@ptr.pet/nsid-tracker"
fetch.git = "https://tangled.org/@ptr.pet/nsid-tracker"
+
[nucleus]
+
src.git = "https://tangled.org/@ptr.pet/nucleus"
+
fetch.git = "https://tangled.org/@ptr.pet/nucleus"
+
## TANGLED ##
[tangled]