nix machine / user configurations

Compare changes

Choose any two refs to compare.

+37 -37
_sources/generated.json
···
},
"blog": {
"cargoLocks": null,
-
"date": "2025-12-01",
+
"date": "2025-12-07",
"extract": null,
"name": "blog",
"passthru": null,
···
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
-
"rev": "b42a0251ec0648d7f9dc0b3033811a5fa4168d39",
-
"sha256": "sha256-uPNpQxAYAwXHrWCo2VncbjT6OJbAX80jFdcslu8q7dQ=",
+
"rev": "ab573fb4fa69204bf3f891abb49205e6bf5b4c8f",
+
"sha256": "sha256-Ee2NczojZbFfimKF51W6T0wCv3sNmdliPAKFetOJZ4I=",
"sparseCheckout": [],
"type": "git",
"url": "https://tangled.org/@ptr.pet/endpoint"
},
-
"version": "b42a0251ec0648d7f9dc0b3033811a5fa4168d39"
+
"version": "ab573fb4fa69204bf3f891abb49205e6bf5b4c8f"
},
"clickee-proxy": {
"cargoLocks": null,
···
},
"disko": {
"cargoLocks": null,
-
"date": "2025-11-25",
+
"date": "2025-12-01",
"extract": null,
"name": "disko",
"passthru": null,
···
"name": null,
"owner": "nix-community",
"repo": "disko",
-
"rev": "aecba248f9a7d68c5d1ed15de2d1c8a4c994a3c5",
-
"sha256": "sha256-xanUzIb0tf3kJ+PoOFmXEXV1jM3PjkDT/TQ5DYeNYRc=",
+
"rev": "5a88a6eceb8fd732b983e72b732f6f4b8269bef3",
+
"sha256": "sha256-D6xc3Rl8Ab6wucJWdvjNsGYGSxNjQHzRc2EZ6eeQ6l4=",
"sparseCheckout": [],
"type": "github"
},
-
"version": "aecba248f9a7d68c5d1ed15de2d1c8a4c994a3c5"
+
"version": "5a88a6eceb8fd732b983e72b732f6f4b8269bef3"
},
"facter": {
"cargoLocks": null,
-
"date": "2025-11-04",
+
"date": "2025-11-27",
"extract": null,
"name": "facter",
"passthru": null,
···
"name": null,
"owner": "nix-community",
"repo": "nixos-facter-modules",
-
"rev": "fa695bff9ec37fd5bbd7ee3181dbeb5f97f53c96",
-
"sha256": "sha256-iaRf6n0KPl9hndnIft3blm1YTAyxSREV1oX0MFZ6Tk4=",
+
"rev": "5ea68886d95218646d11d3551a476d458df00778",
+
"sha256": "sha256-3bbuneTKZBkYXlm0bE36kUjiDsasoIC1GWBw/UEJ9T4=",
"sparseCheckout": [],
"type": "github"
},
-
"version": "fa695bff9ec37fd5bbd7ee3181dbeb5f97f53c96"
+
"version": "5ea68886d95218646d11d3551a476d458df00778"
},
"gomod2nix": {
"cargoLocks": null,
···
},
"home": {
"cargoLocks": null,
-
"date": "2025-11-26",
+
"date": "2025-12-02",
"extract": null,
"name": "home",
"passthru": null,
···
"name": null,
"owner": "nix-community",
"repo": "home-manager",
-
"rev": "9651819d75f6c7ffaf8a9227490ac704f29659f0",
-
"sha256": "sha256-iUM9ktarEzThkayyZrzQ7oycPshAY2XRQqVKz0xX/L0=",
+
"rev": "ff067cfc619fdf6f82d50344e7d19ff2323f0827",
+
"sha256": "sha256-S41K55kw+hWgDfgKmZ9/fMZ3F0BQDMvqFfE120fMHeE=",
"sparseCheckout": [],
"type": "github"
},
-
"version": "9651819d75f6c7ffaf8a9227490ac704f29659f0"
+
"version": "ff067cfc619fdf6f82d50344e7d19ff2323f0827"
},
"limbusart": {
"cargoLocks": null,
···
"sha256": "sha256-xATZz/sHYHkEXjwcmq1DSntclWxnDIKCpH314MaL63U=",
"sparseCheckout": [],
"type": "git",
-
"url": "https://git.gaze.systems/90008/limbusart.git"
+
"url": "https://github.com/90-008/limbusart.git"
},
"version": "7f29ab57b73eb8a4db7163fc7d19a71cf89c3d8b"
},
···
},
"nixos-hardware": {
"cargoLocks": null,
-
"date": "2025-11-25",
+
"date": "2025-11-29",
"extract": null,
"name": "nixos-hardware",
"passthru": null,
···
"name": null,
"owner": "NixOS",
"repo": "nixos-hardware",
-
"rev": "da17006633ca9cda369be82893ae36824a2ddf1a",
-
"sha256": "sha256-b1MtLQsQc4Ji1u08f+C6g5XrmLPkJQ1fhNkCt+0AERQ=",
+
"rev": "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3",
+
"sha256": "sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x+6XUJ4YdFRjtO4=",
"sparseCheckout": [],
"type": "github"
},
-
"version": "da17006633ca9cda369be82893ae36824a2ddf1a"
+
"version": "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3"
},
"nixpkgs-xr": {
"cargoLocks": null,
-
"date": "2025-11-27",
+
"date": "2025-12-02",
"extract": null,
"name": "nixpkgs-xr",
"passthru": null,
···
"name": null,
"owner": "nix-community",
"repo": "nixpkgs-xr",
-
"rev": "cd67b4986ffb7c4b136b6d4286c94375c74867bc",
-
"sha256": "sha256-D8d1g9aaZlTc/xZjbeaHJUwmJDAOqjqZNucMrq6wCKc=",
+
"rev": "e027c652c5a39267af02a4824a6020381cbcf7eb",
+
"sha256": "sha256-YG8APbeS7cWkA6AKiNWGD1muRIWSoSXAe5wAc4jWgaw=",
"sparseCheckout": [],
"type": "github"
},
-
"version": "cd67b4986ffb7c4b136b6d4286c94375c74867bc"
+
"version": "e027c652c5a39267af02a4824a6020381cbcf7eb"
},
"nsid-tracker": {
"cargoLocks": null,
···
},
"stylix": {
"cargoLocks": null,
-
"date": "2025-11-26",
+
"date": "2025-12-01",
"extract": null,
"name": "stylix",
"passthru": null,
···
"name": null,
"owner": "nix-community",
"repo": "stylix",
-
"rev": "70c444a10d0c9ef71a25580dfa79af9cd43f3a5e",
-
"sha256": "sha256-rofXPD/9TGpHveo1MTlUfpnF0MCG1/uHUB9f0rosdqc=",
+
"rev": "71054adbc3629404b2f02e8385aec07f87980a2f",
+
"sha256": "sha256-hIj3aKL+G8TXrqvz0wCnUKESN5MEyrD4YxaLLARnkPs=",
"sparseCheckout": [],
"type": "github"
},
-
"version": "70c444a10d0c9ef71a25580dfa79af9cd43f3a5e"
+
"version": "71054adbc3629404b2f02e8385aec07f87980a2f"
},
"tangled": {
"cargoLocks": null,
-
"date": "2025-11-24",
+
"date": "2025-11-30",
"extract": null,
"name": "tangled",
"passthru": null,
···
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
-
"rev": "7358ec6edfa4d17b8b8f543d99e83a4705901148",
-
"sha256": "sha256-PzuWiW/nMxwQTX0i1bHwGazQF4ptLNI9OGwpmhDb9i0=",
+
"rev": "d37f774fb8c60aa2bd0cb965c9884457d0afb660",
+
"sha256": "sha256-u1i7aMo0fTQ6WVdOZhG2fo/gEx2Fq8+3URmuqEBZGWI=",
"sparseCheckout": [],
"type": "git",
"url": "https://tangled.org/@tangled.org/core"
},
-
"version": "7358ec6edfa4d17b8b8f543d99e83a4705901148"
+
"version": "d37f774fb8c60aa2bd0cb965c9884457d0afb660"
},
"tangled-sqlite-lib": {
"cargoLocks": null,
···
},
"zen-browser": {
"cargoLocks": null,
-
"date": "2025-11-26",
+
"date": "2025-12-01",
"extract": null,
"name": "zen-browser",
"passthru": null,
···
"name": null,
"owner": "0xc000022070",
"repo": "zen-browser-flake",
-
"rev": "6f5d615393a5e923ea2883ef28e274031d1b1e1e",
-
"sha256": "sha256-AEpt8JdKA4RVobRjaR7S2QP3bmUz8dhuWasB7mr9Ylo=",
+
"rev": "8cded25e10b13e2999241f1c73a7d4e5e5d6f69e",
+
"sha256": "sha256-sJQHRL8trBoG/ArR+mUlyp5cyKU0pgQY+qDQzZGnVgM=",
"sparseCheckout": [],
"type": "github"
},
-
"version": "6f5d615393a5e923ea2883ef28e274031d1b1e1e"
+
"version": "8cded25e10b13e2999241f1c73a7d4e5e5d6f69e"
}
}
+37 -37
_sources/generated.nix
···
};
blog = {
pname = "blog";
-
version = "b42a0251ec0648d7f9dc0b3033811a5fa4168d39";
+
version = "ab573fb4fa69204bf3f891abb49205e6bf5b4c8f";
src = fetchgit {
url = "https://tangled.org/@ptr.pet/endpoint";
-
rev = "b42a0251ec0648d7f9dc0b3033811a5fa4168d39";
+
rev = "ab573fb4fa69204bf3f891abb49205e6bf5b4c8f";
fetchSubmodules = false;
deepClone = false;
leaveDotGit = false;
sparseCheckout = [ ];
-
sha256 = "sha256-uPNpQxAYAwXHrWCo2VncbjT6OJbAX80jFdcslu8q7dQ=";
+
sha256 = "sha256-Ee2NczojZbFfimKF51W6T0wCv3sNmdliPAKFetOJZ4I=";
};
-
date = "2025-12-01";
+
date = "2025-12-07";
};
clickee-proxy = {
pname = "clickee-proxy";
···
};
disko = {
pname = "disko";
-
version = "aecba248f9a7d68c5d1ed15de2d1c8a4c994a3c5";
+
version = "5a88a6eceb8fd732b983e72b732f6f4b8269bef3";
src = fetchFromGitHub {
owner = "nix-community";
repo = "disko";
-
rev = "aecba248f9a7d68c5d1ed15de2d1c8a4c994a3c5";
+
rev = "5a88a6eceb8fd732b983e72b732f6f4b8269bef3";
fetchSubmodules = false;
-
sha256 = "sha256-xanUzIb0tf3kJ+PoOFmXEXV1jM3PjkDT/TQ5DYeNYRc=";
+
sha256 = "sha256-D6xc3Rl8Ab6wucJWdvjNsGYGSxNjQHzRc2EZ6eeQ6l4=";
};
-
date = "2025-11-25";
+
date = "2025-12-01";
};
facter = {
pname = "facter";
-
version = "fa695bff9ec37fd5bbd7ee3181dbeb5f97f53c96";
+
version = "5ea68886d95218646d11d3551a476d458df00778";
src = fetchFromGitHub {
owner = "nix-community";
repo = "nixos-facter-modules";
-
rev = "fa695bff9ec37fd5bbd7ee3181dbeb5f97f53c96";
+
rev = "5ea68886d95218646d11d3551a476d458df00778";
fetchSubmodules = false;
-
sha256 = "sha256-iaRf6n0KPl9hndnIft3blm1YTAyxSREV1oX0MFZ6Tk4=";
+
sha256 = "sha256-3bbuneTKZBkYXlm0bE36kUjiDsasoIC1GWBw/UEJ9T4=";
};
-
date = "2025-11-04";
+
date = "2025-11-27";
};
gomod2nix = {
pname = "gomod2nix";
···
};
home = {
pname = "home";
-
version = "9651819d75f6c7ffaf8a9227490ac704f29659f0";
+
version = "ff067cfc619fdf6f82d50344e7d19ff2323f0827";
src = fetchFromGitHub {
owner = "nix-community";
repo = "home-manager";
-
rev = "9651819d75f6c7ffaf8a9227490ac704f29659f0";
+
rev = "ff067cfc619fdf6f82d50344e7d19ff2323f0827";
fetchSubmodules = false;
-
sha256 = "sha256-iUM9ktarEzThkayyZrzQ7oycPshAY2XRQqVKz0xX/L0=";
+
sha256 = "sha256-S41K55kw+hWgDfgKmZ9/fMZ3F0BQDMvqFfE120fMHeE=";
};
-
date = "2025-11-26";
+
date = "2025-12-02";
};
limbusart = {
pname = "limbusart";
version = "7f29ab57b73eb8a4db7163fc7d19a71cf89c3d8b";
src = fetchgit {
-
url = "https://git.gaze.systems/90008/limbusart.git";
+
url = "https://github.com/90-008/limbusart.git";
rev = "7f29ab57b73eb8a4db7163fc7d19a71cf89c3d8b";
fetchSubmodules = false;
deepClone = false;
···
};
nixos-hardware = {
pname = "nixos-hardware";
-
version = "da17006633ca9cda369be82893ae36824a2ddf1a";
+
version = "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3";
src = fetchFromGitHub {
owner = "NixOS";
repo = "nixos-hardware";
-
rev = "da17006633ca9cda369be82893ae36824a2ddf1a";
+
rev = "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3";
fetchSubmodules = false;
-
sha256 = "sha256-b1MtLQsQc4Ji1u08f+C6g5XrmLPkJQ1fhNkCt+0AERQ=";
+
sha256 = "sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x+6XUJ4YdFRjtO4=";
};
-
date = "2025-11-25";
+
date = "2025-11-29";
};
nixpkgs-xr = {
pname = "nixpkgs-xr";
-
version = "cd67b4986ffb7c4b136b6d4286c94375c74867bc";
+
version = "e027c652c5a39267af02a4824a6020381cbcf7eb";
src = fetchFromGitHub {
owner = "nix-community";
repo = "nixpkgs-xr";
-
rev = "cd67b4986ffb7c4b136b6d4286c94375c74867bc";
+
rev = "e027c652c5a39267af02a4824a6020381cbcf7eb";
fetchSubmodules = false;
-
sha256 = "sha256-D8d1g9aaZlTc/xZjbeaHJUwmJDAOqjqZNucMrq6wCKc=";
+
sha256 = "sha256-YG8APbeS7cWkA6AKiNWGD1muRIWSoSXAe5wAc4jWgaw=";
};
-
date = "2025-11-27";
+
date = "2025-12-02";
};
nsid-tracker = {
pname = "nsid-tracker";
···
};
stylix = {
pname = "stylix";
-
version = "70c444a10d0c9ef71a25580dfa79af9cd43f3a5e";
+
version = "71054adbc3629404b2f02e8385aec07f87980a2f";
src = fetchFromGitHub {
owner = "nix-community";
repo = "stylix";
-
rev = "70c444a10d0c9ef71a25580dfa79af9cd43f3a5e";
+
rev = "71054adbc3629404b2f02e8385aec07f87980a2f";
fetchSubmodules = false;
-
sha256 = "sha256-rofXPD/9TGpHveo1MTlUfpnF0MCG1/uHUB9f0rosdqc=";
+
sha256 = "sha256-hIj3aKL+G8TXrqvz0wCnUKESN5MEyrD4YxaLLARnkPs=";
};
-
date = "2025-11-26";
+
date = "2025-12-01";
};
tangled = {
pname = "tangled";
-
version = "7358ec6edfa4d17b8b8f543d99e83a4705901148";
+
version = "d37f774fb8c60aa2bd0cb965c9884457d0afb660";
src = fetchgit {
url = "https://tangled.org/@tangled.org/core";
-
rev = "7358ec6edfa4d17b8b8f543d99e83a4705901148";
+
rev = "d37f774fb8c60aa2bd0cb965c9884457d0afb660";
fetchSubmodules = false;
deepClone = false;
leaveDotGit = false;
sparseCheckout = [ ];
-
sha256 = "sha256-PzuWiW/nMxwQTX0i1bHwGazQF4ptLNI9OGwpmhDb9i0=";
+
sha256 = "sha256-u1i7aMo0fTQ6WVdOZhG2fo/gEx2Fq8+3URmuqEBZGWI=";
};
-
date = "2025-11-24";
+
date = "2025-11-30";
};
tangled-sqlite-lib = {
pname = "tangled-sqlite-lib";
···
};
zen-browser = {
pname = "zen-browser";
-
version = "6f5d615393a5e923ea2883ef28e274031d1b1e1e";
+
version = "8cded25e10b13e2999241f1c73a7d4e5e5d6f69e";
src = fetchFromGitHub {
owner = "0xc000022070";
repo = "zen-browser-flake";
-
rev = "6f5d615393a5e923ea2883ef28e274031d1b1e1e";
+
rev = "8cded25e10b13e2999241f1c73a7d4e5e5d6f69e";
fetchSubmodules = false;
-
sha256 = "sha256-AEpt8JdKA4RVobRjaR7S2QP3bmUz8dhuWasB7mr9Ylo=";
+
sha256 = "sha256-sJQHRL8trBoG/ArR+mUlyp5cyKU0pgQY+qDQzZGnVgM=";
};
-
date = "2025-11-26";
+
date = "2025-12-01";
};
}
+71 -39
dns/dnsconfig.js
···
var DSP_CLOUDFLARE = NewDnsProvider("cloudflare");
+
var DSP_BUNNY = NewDnsProvider("bunny_dns");
var REG_NONE = NewRegistrar("none");
-
var WOLUMONDE_IP = "23.88.101.188";
-
var DZWONEK_IP = "94.237.26.47";
-
var TRIMOUNTS_IP = "159.195.58.28";
+
var DZWONEK_IP4 = "94.237.26.47";
+
var DZWONEK_IP6 = "2a04:3542:1000:910:6898:1dff:fea1:4b4b";
+
var DZWONEK_IPS = [DZWONEK_IP4, DZWONEK_IP6];
+
var TRIMOUNTS_IP4 = "159.195.58.28";
+
var TRIMOUNTS_IP6 = "2a0a:4cc0:c1:e83d::b00b";
+
var TRIMOUNTS_IPS = [TRIMOUNTS_IP4, TRIMOUNTS_IP6];
+
+
function host(name, ips, opts) {
+
if (opts)
+
return [
+
A(name, ips[0], opts),
+
AAAA(name, ips[1], opts),
+
];
+
else
+
return [
+
A(name, ips[0]),
+
AAAA(name, ips[1]),
+
];
+
}
+
+
function hosts(_names, ips, opts) {
+
var names = [];
+
if (typeof _names === "string")
+
names.push(_names);
+
else
+
names = _names;
+
+
var records = [];
+
_.each(names, function (name) {
+
_.each(host(name, ips, opts), function (r) {
+
records.push(r);
+
});
+
});
+
return records;
+
}
+
+
function TRIMOUNTS(names, opts) {
+
return hosts(names, TRIMOUNTS_IPS, opts);
+
}
+
function DZWONEK(names, opts) {
+
return hosts(names, DZWONEK_IPS, opts);
+
}
+
+
function IGNORE_ACME() {
+
return IGNORE_NAME("_acme-challenge");
+
}
D(
"gaze.systems",
REG_NONE,
-
DnsProvider(DSP_CLOUDFLARE),
+
DnsProvider(DSP_BUNNY),
DefaultTTL(1),
-
A("@", TRIMOUNTS_IP, CF_PROXY_OFF, TTL(60)),
-
A("doc", TRIMOUNTS_IP, CF_PROXY_OFF),
-
A("pmart", TRIMOUNTS_IP, CF_PROXY_OFF),
-
// A("webhook", WOLUMONDE_IP, CF_PROXY_OFF),
-
A("dash", TRIMOUNTS_IP, CF_PROXY_OFF), // perses
-
A("knot", TRIMOUNTS_IP, CF_PROXY_OFF, TTL(60)),
-
A("spindle", TRIMOUNTS_IP, CF_PROXY_OFF, TTL(60)),
-
A("id", TRIMOUNTS_IP, CF_PROXY_OFF),
-
// atp
-
A("guestbook", TRIMOUNTS_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/."),
-
// TXT("id", "entity linked here uses it/they pronouns. it can be referred to as /dusk/ or /dawn/."),
-
// TXT("id", "this one is not a human, try to refer to it in third person. use /this one/, /this thing/, etc."),
-
// TXT("id", "try connecting to https://gaze.systems/about for more information."),
+
TRIMOUNTS(
+
[
+
"@", "doc", "pmart", "dash", "id",
+
"knot", "spindle",
+
"guestbook",
+
],
+
CF_PROXY_OFF,
+
),
+
DZWONEK("vpn", CF_PROXY_OFF),
// github pages
CNAME("dev", "90-008.github.io."),
// fastmail
···
MX("@", 10, "in1-smtp.messagingengine.com."),
MX("@", 20, "in2-smtp.messagingengine.com."),
TXT("@", "v=spf1 include:spf.messagingengine.com ?all"),
-
TXT("_dmarc", "v=DMARC1; p=none;"),
+
TXT("_dmarc", "v=DMARC1; p=reject;"),
// resend
MX("send.poke", 10, "feedback-smtp.us-east-1.amazonses.com."),
TXT(
···
// atproto
TXT("_atproto.eris", "did=did:plc:bxjnsrfzozl365rsdo5yvuz5", TTL(60)),
TXT("_atproto.drew", "did=did:plc:vo6ie3kd6xvpjlof4pnb2zzp", TTL(60)),
+
IGNORE_ACME(),
);
D(
···
REG_NONE,
DnsProvider(DSP_CLOUDFLARE),
DefaultTTL(1),
-
A("@", TRIMOUNTS_IP, CF_PROXY_ON),
+
TRIMOUNTS("@", CF_PROXY_ON),
TXT("@", "a data endpoint for entity with serial id /90008/."),
TXT(
"@",
-
"entity linked here uses it/they pronouns. it can be referred to as /dusk/ or /dawn/.",
+
"entity linked here uses it/that pronouns. it can also be referred to as /dawn/.",
),
TXT(
"@",
···
"@",
"try connecting to https://gaze.systems/about for more information.",
),
-
// atproto
-
// TXT("_atproto", "did=did:plc:dfl62fgb7wtjj3fcbb72naae"),
-
IGNORE_NAME("_acme-challenge"),
+
IGNORE_ACME(),
);
D(
"poor.dog",
REG_NONE,
-
DnsProvider(DSP_CLOUDFLARE),
+
DnsProvider(DSP_BUNNY),
DefaultTTL(1),
-
A("@", TRIMOUNTS_IP, CF_PROXY_OFF),
+
TRIMOUNTS("@", CF_PROXY_OFF),
TXT("@", "v=spf1 -all"),
TXT("_dmarc", "v=DMARC1; p=reject;"),
TXT("_atproto", "did=did:plc:dfl62fgb7wtjj3fcbb72naae", TTL(60)),
-
IGNORE_NAME("_acme-challenge"),
+
IGNORE_ACME(),
);
var EMAIL_TTL = 86400;
···
D(
"ptr.pet",
REG_NONE,
-
DnsProvider(DSP_CLOUDFLARE),
+
DnsProvider(DSP_BUNNY),
DefaultTTL(1),
-
A("@", TRIMOUNTS_IP, CF_PROXY_OFF),
-
A("nucleus", DZWONEK_IP, CF_PROXY_OFF),
-
A("trill", DZWONEK_IP, CF_PROXY_OFF),
+
TRIMOUNTS("@", CF_PROXY_OFF),
+
DZWONEK(["nucleus", "trill"], CF_PROXY_OFF),
// atproto
TXT("_atproto", "did=did:plc:dfl62fgb7wtjj3fcbb72naae"),
TXT("_atproto.nil", "did=did:plc:dumbmutt4po52ept2tczimje"),
···
),
// mta-sts
-
A("mta-sts", TRIMOUNTS_IP, CF_PROXY_OFF),
+
TRIMOUNTS("mta-sts", CF_PROXY_OFF),
TXT("_mta-sts", "v=STSv1; id=20250930T1945", TTL(EMAIL_TTL)),
// autoconfig
-
A("autoconfig", TRIMOUNTS_IP, CF_PROXY_OFF),
-
A("autodiscover", TRIMOUNTS_IP, CF_PROXY_OFF),
+
TRIMOUNTS(["autoconfig", "autodiscover"], CF_PROXY_OFF),
// autodiscovery
SRV(
···
SRV("_imaps._tcp", 0, 1, 993, "imap.migadu.com.", TTL(EMAIL_TTL)),
SRV("_pop3s._tcp", 0, 1, 995, "pop.migadu.com.", TTL(EMAIL_TTL)),
-
IGNORE_NAME("_acme-challenge"),
+
IGNORE_ACME(),
);
+13 -16
flake.lock
···
"rust-overlay": "rust-overlay"
},
"locked": {
-
"lastModified": 1764351487,
-
"narHash": "sha256-7XJcTfz0dPhBd7nfyjcFxT1LIIctJZ2LthiI2Ltd7zY=",
+
"lastModified": 1764596563,
+
"narHash": "sha256-tH3AGDWlAN3ImVuBBCLmqaqD0EbkISiPCHGeMcd430k=",
"owner": "chaotic-cx",
"repo": "nyx",
-
"rev": "2031f4a0507d0f7ab3e1aaff4c027a010feee447",
+
"rev": "0701ee838b0fb34a77b6dd4b35476b4bb09fbca9",
"type": "github"
},
"original": {
···
},
"nixpkgs": {
"locked": {
-
"lastModified": 1764242076,
-
"narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=",
+
"lastModified": 1764517877,
+
"narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=",
"owner": "NixOS",
"repo": "nixpkgs",
-
"rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4",
+
"rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c",
"type": "github"
},
"original": {
···
},
"nixpkgs_2": {
"locked": {
-
"lastModified": 1764242076,
-
"narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=",
-
"owner": "NixOS",
-
"repo": "nixpkgs",
-
"rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4",
-
"type": "github"
+
"lastModified": 1764517877,
+
"narHash": "sha256-xLPjeWHfxEJtZmosOmLaT25Vb2rbktbbE7ShRtAm8h0=",
+
"rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c",
+
"type": "tarball",
+
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre904649.2d293cbfa5a7/nixexprs.tar.xz?lastModified=1764517877&rev=2d293cbfa5a793b4c50d17c05ef9e385b90edf6c"
},
"original": {
-
"owner": "NixOS",
-
"ref": "nixos-unstable",
-
"repo": "nixpkgs",
-
"type": "github"
+
"type": "tarball",
+
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
}
},
"root": {
+1 -1
flake.nix
···
{
description = "config!!!";
-
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+
inputs.nixpkgs.url = "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz";
inputs.chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
outputs =
+1 -1
hosts/chernobog/modules/vr.nix
···
],
"runtime" :
[
-
${pkgs.xrizer}/lib/xrizer"
+
"${pkgs.xrizer}/lib/xrizer"
],
"version" : 1
}
-2
hosts/trimounts/default.nix
···
pkgs.gitMinimal
];
-
networking.firewall.enable = true;
-
system.stateVersion = "25.11";
}
+1 -1
hosts/trimounts/modules/arpa.nix
···
connection to https://gaze.systems/about for more data.
/discord 90.008/
-
/bsky @poor.dog/
+
/bsky @ptr.pet/
/email 90008@gaze.systems/
/dig +short TXT 9.0.0.0.8.e.f.1.5.0.7.4.0.1.0.0.2.ip6.arpa/
+14
hosts/trimounts/modules/navidrome.nix
···
+
{config, pkgs, ...}: {
+
services.navidrome = {
+
enable = true;
+
settings = {
+
MusicFolder = "/music";
+
Port = 9999;
+
Address = "0.0.0.0";
+
ListenBrainz = {
+
Enabled = true;
+
BaseURL = "https://piper.kittysay.xyz/1";
+
};
+
};
+
};
+
}
+15
hosts/trimounts/modules/networking.nix
···
+
{
+
networking.enableIPv6 = true;
+
networking.interfaces.ens3 = {
+
ipv6.addresses = [{
+
address = "2a0a:4cc0:c1:e83d::b00b";
+
prefixLength = 64;
+
}];
+
};
+
networking.defaultGateway6 = {
+
address = "fe80::1";
+
interface = "ens3";
+
};
+
+
networking.firewall.enable = true;
+
}
+3 -3
hosts/trimounts/modules/nginx.nix
···
users.users.nginx.extraGroups = [ "acme" ];
-
age.secrets.cfDnsEditToken.file = ../../../secrets/cloudflareDnsEdit.age;
+
age.secrets.bunnyApiKey.file = ../../../secrets/bunnyApiKey.age;
security.acme = {
acceptTerms = true;
defaults = {
group = "nginx";
email = (import "${inputs.self}/personal.nix").emails.primary;
-
dnsProvider = "cloudflare";
+
dnsProvider = "bunny";
credentialFiles = {
-
CF_DNS_API_TOKEN_FILE = config.age.secrets.cfDnsEditToken.path;
+
BUNNY_API_KEY_FILE = config.age.secrets.bunnyApiKey.path;
};
};
certs."poor.dog" = { };
+65
hosts/trimounts/modules/nsid-tracker.disabled
···
+
{
+
pkgs,
+
terra,
+
inputs,
+
...
+
}:
+
let
+
client-modules = pkgs.callPackage "${inputs.nsid-tracker}/nix/client-modules.nix" { };
+
client = pkgs.callPackage "${inputs.nsid-tracker}/nix/client.nix" {
+
PUBLIC_API_URL = "gaze.systems/nsid-tracker/api";
+
inherit client-modules;
+
};
+
# server = terra.nsid-tracker-server;
+
port = 3713;
+
in
+
{
+
systemd.services.nsid-tracker-client = {
+
description = "nsid-tracker-client";
+
wantedBy = [ "multi-user.target" ];
+
after = [ "network.target" ];
+
environment = {
+
# ORIGIN = "https://gaze.systems";
+
PORT = toString port;
+
};
+
serviceConfig = {
+
DynamicUser = true;
+
ExecStart = "${client}/bin/website";
+
Restart = "on-failure";
+
RestartSec = 5;
+
WorkingDirectory = "/var/lib/nsid-tracker";
+
};
+
};
+
+
systemd.services.nsid-tracker-keep-alive = {
+
description = "keeps nsid-tracker peer connection alive";
+
wantedBy = [ "multi-user.target" ];
+
after = [ "network.target" ];
+
serviceConfig = {
+
Type = "oneshot";
+
ExecStart = "${pkgs.curl}/bin/curl http://dusk-devel-mobi:${toString port}/events";
+
};
+
};
+
systemd.timers.nsid-tracker-keep-alive.timerConfig = {
+
OnBootSec = "5 min";
+
OnUnitActiveSec = "5 min";
+
Unit = "nsid-tracker-keep-alive.service";
+
};
+
+
services.nginx.virtualHosts."gaze.systems" = {
+
locations."/nsid-tracker/api" = {
+
proxyPass = "http://100.64.0.6:${toString port}/";
+
proxyWebsockets = true;
+
extraConfig = ''
+
rewrite ^/nsid-tracker/api/(.*) /$1 break;
+
'';
+
};
+
locations."/nsid-tracker".return = "301 /nsid-tracker/";
+
locations."/nsid-tracker/" = {
+
proxyPass = "http://localhost:${toString port}/";
+
extraConfig = ''
+
rewrite ^/nsid-tracker/(.*)$ /$1 break;
+
'';
+
};
+
};
+
}
-65
hosts/trimounts/modules/nsid-tracker.nix
···
-
{
-
pkgs,
-
terra,
-
inputs,
-
...
-
}:
-
let
-
client-modules = pkgs.callPackage "${inputs.nsid-tracker}/nix/client-modules.nix" { };
-
client = pkgs.callPackage "${inputs.nsid-tracker}/nix/client.nix" {
-
PUBLIC_API_URL = "gaze.systems/nsid-tracker/api";
-
inherit client-modules;
-
};
-
# server = terra.nsid-tracker-server;
-
port = 3713;
-
in
-
{
-
systemd.services.nsid-tracker-client = {
-
description = "nsid-tracker-client";
-
wantedBy = [ "multi-user.target" ];
-
after = [ "network.target" ];
-
environment = {
-
# ORIGIN = "https://gaze.systems";
-
PORT = toString port;
-
};
-
serviceConfig = {
-
DynamicUser = true;
-
ExecStart = "${client}/bin/website";
-
Restart = "on-failure";
-
RestartSec = 5;
-
WorkingDirectory = "/var/lib/nsid-tracker";
-
};
-
};
-
-
systemd.services.nsid-tracker-keep-alive = {
-
description = "keeps nsid-tracker peer connection alive";
-
wantedBy = [ "multi-user.target" ];
-
after = [ "network.target" ];
-
serviceConfig = {
-
Type = "oneshot";
-
ExecStart = "${pkgs.curl}/bin/curl http://dusk-devel-mobi:${toString port}/events";
-
};
-
};
-
systemd.timers.nsid-tracker-keep-alive.timerConfig = {
-
OnBootSec = "5 min";
-
OnUnitActiveSec = "5 min";
-
Unit = "nsid-tracker-keep-alive.service";
-
};
-
-
services.nginx.virtualHosts."gaze.systems" = {
-
locations."/nsid-tracker/api" = {
-
proxyPass = "http://100.64.0.6:${toString port}/";
-
proxyWebsockets = true;
-
extraConfig = ''
-
rewrite ^/nsid-tracker/api/(.*) /$1 break;
-
'';
-
};
-
locations."/nsid-tracker".return = "301 /nsid-tracker/";
-
locations."/nsid-tracker/" = {
-
proxyPass = "http://localhost:${toString port}/";
-
extraConfig = ''
-
rewrite ^/nsid-tracker/(.*)$ /$1 break;
-
'';
-
};
-
};
-
}
+2 -2
nvfetcher.toml
···
fetch.git = "https://tangled.org/@ptr.pet/nixos-cloud-resources"
[limbusart]
-
src.git = "https://git.gaze.systems/90008/limbusart.git"
-
fetch.git = "https://git.gaze.systems/90008/limbusart.git"
+
src.git = "https://github.com/90-008/limbusart.git"
+
fetch.git = "https://github.com/90-008/limbusart.git"
[clickee-proxy]
src.git = "https://tangled.org/@ptr.pet/clickee-proxy"
+6
pkgs-set/overlays/navidrome.nix/default.nix
···
+
final: prev: {
+
navidrome = prev.navidrome.overrideAttrs (old: {
+
patches = (old.patches or []) ++ [./origin_url.patch];
+
doCheck = false;
+
});
+
}
+85
pkgs-set/overlays/navidrome.nix/origin_url.patch
···
+
diff --git a/core/agents/listenbrainz/agent.go b/core/agents/listenbrainz/agent.go
+
index 769b0f5..758eb85 100644
+
--- a/core/agents/listenbrainz/agent.go
+
+++ b/core/agents/listenbrainz/agent.go
+
@@ -3,6 +3,7 @@ package listenbrainz
+
import (
+
"context"
+
"errors"
+
+ "fmt"
+
"net/http"
+
+
"github.com/navidrome/navidrome/conf"
+
@@ -52,6 +53,10 @@ func (l *listenBrainzAgent) formatListen(track *model.MediaFile) listenInfo {
+
artistNames := slice.Map(track.Participants[model.RoleArtist], func(p model.Participant) string {
+
return p.Name
+
})
+
+ var originURL string
+
+ if v := track.Tags.Values(model.TagSource); len(v) > 0 {
+
+ originURL = v[0]
+
+ }
+
li := listenInfo{
+
TrackMetadata: trackMetadata{
+
ArtistName: track.Artist,
+
@@ -67,9 +72,12 @@ func (l *listenBrainzAgent) formatListen(track *model.MediaFile) listenInfo {
+
ReleaseMBID: track.MbzAlbumID,
+
ReleaseGroupMBID: track.MbzReleaseGroupID,
+
DurationMs: int(track.Duration * 1000),
+
+ OriginURL: originURL,
+
},
+
},
+
}
+
+ fmt.Printf("listen info: %+v\n", li)
+
+ fmt.Printf("track tags: %+v\n", track.Tags)
+
return li
+
}
+
+
diff --git a/core/agents/listenbrainz/agent_test.go b/core/agents/listenbrainz/agent_test.go
+
index e99b442..11e7b3c 100644
+
--- a/core/agents/listenbrainz/agent_test.go
+
+++ b/core/agents/listenbrainz/agent_test.go
+
@@ -69,6 +69,7 @@ var _ = Describe("listenBrainzAgent", func() {
+
"ArtistNames": ConsistOf("Artist 1", "Artist 2"),
+
"ArtistMBIDs": ConsistOf("mbz-111", "mbz-222"),
+
"DurationMs": Equal(142200),
+
+ "OriginURL": Ignore(),
+
}),
+
}),
+
}))
+
diff --git a/core/agents/listenbrainz/client.go b/core/agents/listenbrainz/client.go
+
index 168aad5..807bdef 100644
+
--- a/core/agents/listenbrainz/client.go
+
+++ b/core/agents/listenbrainz/client.go
+
@@ -82,6 +82,7 @@ type additionalInfo struct {
+
ReleaseMBID string `json:"release_mbid,omitempty"`
+
ReleaseGroupMBID string `json:"release_group_mbid,omitempty"`
+
DurationMs int `json:"duration_ms,omitempty"`
+
+ OriginURL string `json:"origin_url,omitempty"`
+
}
+
+
func (c *client) validateToken(ctx context.Context, apiKey string) (*listenBrainzResponse, error) {
+
diff --git a/model/tag.go b/model/tag.go
+
index 674f688..ecd1a12 100644
+
--- a/model/tag.go
+
+++ b/model/tag.go
+
@@ -194,6 +194,7 @@ const (
+
TagISRC TagName = "isrc"
+
TagBPM TagName = "bpm"
+
TagExplicitStatus TagName = "explicitstatus"
+
+ TagSource TagName = "source"
+
+
// Dates and years
+
+
diff --git a/resources/mappings.yaml b/resources/mappings.yaml
+
index d1da5c6..905ad01 100644
+
--- a/resources/mappings.yaml
+
+++ b/resources/mappings.yaml
+
@@ -251,6 +251,8 @@ additional:
+
aliases: [ txxx:script, script, ----:com.apple.itunes:script, wm/script ]
+
subtitle:
+
aliases: [ tit3, subtitle, ----:com.apple.itunes:subtitle, wm/subtitle ]
+
+ source:
+
+ aliases: [ source, woas, audio source, txxx:source, ----:com.apple.itunes:source ]
+
website:
+
aliases: [ woar, website, weblink, wm/authorurl ]
+
work:
+1 -1
pkgs-set/overlays/nixpkgs-xr.nix
···
{inputs, ...}: final: prev:
((import inputs.nixpkgs-xr).overlays.default final prev)
-
# // { wivrn = prev.wivrn; }
+
// { wivrn = prev.wivrn; }
+21
secrets/bunnyApiKey.age
···
+
age-encryption.org/v1
+
-> ssh-rsa Abmvag
+
XNh6H/W0srZXbGmkLGQ/YpXfamisyK/duLeSftkcrXU67b5s8x40HUv1NaKr/QQt
+
7ZBvKfm+8YsKcmmXaIINOHl6/LQ6GTpWprN91VDxTGOGzpO/GmD8MOUk8zfJYh+D
+
3soDoZuuk1gr8Q7+f8AIrfT+x3QwHA2h3hCm3un3MqhmAicTTip2C3NFQhlsEwHi
+
DhgOJ1Wy9/lSXwIzhg62s8KDOQ4cBETA8PRvspWh8GsV1oLU/brk2itwUaj0P8xA
+
uQrQzo71rbUttXeGnW4yBZjzzGMJe5iHY3H4aQxjklC1yGpInDf3HGaO6X/yaZBx
+
vRx2YxwCH4AdhgVpllbZo2++uGX8mye6fu5Lap04+dXU+ubglEvDQ1uRDrbXML9/
+
PpRszgmu5z7k9u+qWI/aBywUChvVSy4TDWKcj2JAqvCuU7QYiEi6SKhIiDLNd/BQ
+
7aa/GHSUpUu6TnpRwuBF4l2g5+jO27hsNWb3nAm/SV5YHEVCn+Tr5PiRPxBK8Fa0
+
ngJjBK5r4ra+uGulwGn1uoM0jYVCl6EtjtKgLeP5cvbdLylKWRXRYxyL7XTxqmHb
+
oLJsVvxuF1pFiaUkAmMBctaYdMw9EVwV8vTp4/eebVe6pU0Lmxv5B0u5nDiWar5o
+
RQzfwfGhtOaE0PUQNqVz7VfdoIzCcUjqnJMwInh+XwU
+
-> ssh-ed25519 y5W/qA rZ2rTM2n2bPULAefeeUvEFwskCNIEh5KdkC7uEnBcXM
+
P75OaqdeAt3BVa/xprDvJ/bLoGLkU6qdteVvwD9fO8M
+
-> ssh-ed25519 LaQclg Bnt8Z3Cve0gG6ItbJq+1+fUT/ykFsngstap8ymEr1m4
+
filHMr3njOkRpbu4UwutvqxVLf8joTBvqs3JT1gu7kk
+
--- pkIfClG050A3Kp8c+HUQJDwlxM1BbFaCRx8Vp0++xbI
+
4๏ฟฝdc๏ฟฝ๏ฟฝ๏ฟฝ/\๏ฟฝฺฆ ๏ฟฝ@:e๏ฟฝ๏ฟฝ:e๏ฟฝo;๏ฟฝ
+
๏ฟฝE๏ฟฝd\W๏ฟฝ#m
+
๏ฟฝ๏ฟฝWA๏ฟฝ๏ฟฝ#๏ฟฝuaJ๏ฟฝ๏ฟฝT๏ฟฝ<๏ฟฝ๏ฟฝ๏ฟฝX๏ฟฝR๏ฟฝ๏ฟฝ๏ฟฝX๏ฟฝX"9 ๏ฟฝ๏ฟฝ๏ฟฝ)๏ฟฝ'U:7๏ฟฝ๏ฟฝ+๏ฟฝ,๏ฟฝhNฯ๏ฟฝUl\๏ฟฝ FSP8c
+5 -6
secrets/secrets.nix
···
let
yusdacra = builtins.readFile ./yusdacra.key.pub;
-
wolumonde = builtins.readFile ./wolumonde.key.pub;
dzwonek = builtins.readFile ./dzwonek.key.pub;
trimounts = builtins.readFile ./trimounts.key.pub;
develMobi = builtins.readFile ./develMobi.key.pub;
···
"nixGithubAccessToken.age".publicKeys = [ yusdacra ];
"websiteConfig.age".publicKeys = [
yusdacra
-
wolumonde
trimounts
];
"pdsConfig.age".publicKeys = [
yusdacra
-
wolumonde
trimounts
];
"clickeeProxyConfig.age".publicKeys = [
yusdacra
-
wolumonde
trimounts
];
"persesSecret.age".publicKeys = [
yusdacra
-
wolumonde
trimounts
];
"headscaleOidcSecret.age".publicKeys = [
···
"cloudflareDnsEdit.age".publicKeys = [
yusdacra
dzwonek
-
wolumonde
+
trimounts
+
];
+
"bunnyApiKey.age".publicKeys = [
+
yusdacra
+
dzwonek
trimounts
];
}
+28 -2
users/mayer/default.nix
···
nushell
];
programs = {
-
steam.enable = true;
-
gamescope.enable = true;
+
steam = {
+
enable = true;
+
package = pkgs.steam.override {
+
extraPkgs = pkgs': with pkgs'; [
+
vulkan-loader
+
wayland
+
wayland-protocols
+
xorg.libXcursor
+
xorg.libXi
+
xorg.libXinerama
+
xorg.libXScrnSaver
+
libpng
+
libpulseaudio
+
libvorbis
+
stdenv.cc.cc.lib # Provides libstdc++.so.6
+
libkrb5
+
keyutils
+
];
+
};
+
extraCompatPackages = with pkgs; [
+
proton-ge-bin
+
];
+
};
+
gamescope = {
+
enable = true;
+
capSysNice = true;
+
};
gamemode.enable = true;
appimage = {
enable = true;
···
bs-manager
cemu
tor-browser
+
supersonic-wayland
]) ++ [terra.helium];
};