chore: nf-fmt-nix

This commit is contained in:
arcnmx 2024-06-23 11:48:55 -07:00
parent e4bbddb004
commit 32ff0a8e0c
7 changed files with 152 additions and 138 deletions

11
lib.nix
View file

@ -19,16 +19,21 @@
nibble0 = Str.index part 0;
in
nibble0 + UInt.toHexLower nibble1;
in trimAddress6 "${part0 (part 0)}${part 1}:${part 2}ff:fe${part 3}:${part 4}${part 5}";
in
trimAddress6 "${part0 (part 0)}${part 1}:${part 2}ff:fe${part 3}:${part 4}${part 5}";
trimAddress6 = let
matcher = match ''(^|.*:)(0+)([0-9a-fA-F].*)'';
in addr: let
in
addr: let
matched = matcher addr;
prefix = elemAt matched 0;
postfix = elemAt matched 2;
addrReplaced = prefix + postfix;
in if matched == null then addr else trimAddress6 addrReplaced;
in
if matched == null
then addr
else trimAddress6 addrReplaced;
parseUrl = url: let
parts' = Regex.match ''^([^:]+)://(\[[0-9a-fA-F:]+]|[^/:\[]+)(|:[0-9]+)(|/.*)$'' url;

View file

@ -1,9 +1,15 @@
let
deviceModule = {config, lib, ...}: let
deviceModule = {
config,
lib,
...
}: let
inherit (lib.options) mkOption mkEnableOption;
in {
options = with lib.types; {
enable = mkEnableOption "adb device" // {
enable =
mkEnableOption "adb device"
// {
default = true;
};
uphold = mkOption {
@ -15,7 +21,8 @@ let
};
};
};
in {
in
{
config,
gensokyo-zone,
utils,
@ -75,7 +82,8 @@ in {
conf.systemd.services.adb = {
upholds = let
upheldDevices = filterAttrs (_: device: device.uphold) enabledDevices;
in mapAttrsToList (_: device: "adb-device@${escapeSystemdPath device.serial}.service") upheldDevices;
in
mapAttrsToList (_: device: "adb-device@${escapeSystemdPath device.serial}.service") upheldDevices;
after = ["network.target"];
wantedBy = ["multi-user.target"];
serviceConfig = {

View file

@ -295,14 +295,12 @@ in {
hasService = system: system.exports.services.${service}.enable;
notFound = throw "no system found serving ${service}";
multiple = throw "multiple systems found serving ${service}";
in
(findSingle hasService notFound multiple (attrValues systems));
in (findSingle hasService notFound multiple (attrValues systems));
systemForServiceId = serviceId: let
hasService = system: findSingle (service: service.id == serviceId && service.enable) null multiple (attrValues system.exports.services) != null;
notFound = throw "no system found serving ${serviceId}";
multiple = throw "multiple systems found serving ${serviceId}";
in
(findSingle hasService notFound multiple (attrValues systems));
in (findSingle hasService notFound multiple (attrValues systems));
};
};
}

View file

@ -18,10 +18,12 @@ in {
settings.fail_timeout = mkDefault timeout;
addr = mkDefault "10.1.1.67";
port = mkDefault nfandroidtv.ports.default.port;
/*accessService = {
/*
accessService = {
system = "bedroomtv";
name = "nfandroidtv";
};*/
};
*/
};
fallback = let
virtualHost = nginx.virtualHosts.nfandroidtv'fallback;
@ -70,7 +72,8 @@ in {
config.networking.firewall.interfaces.lan = let
virtualHost = nginx.virtualHosts.nfandroidtv'local;
listen = virtualHost.listen'.nfandroidtv;
in mkIf (virtualHost.enable && listen.enable) {
in
mkIf (virtualHost.enable && listen.enable) {
allowedTCPPorts = [listen.port];
};
}