chore: nf-fmt-nix

This commit is contained in:
arcnmx 2024-07-31 11:13:50 -07:00
parent c2726dd41b
commit ffde3c1c27
14 changed files with 170 additions and 131 deletions

View file

@ -54,12 +54,15 @@ let
++ optional (sshd.ports.public.enable or false) sshd.ports.public.port ++ optional (sshd.ports.public.enable or false) sshd.ports.public.port
++ [sshd.ports.standard.port] ++ [sshd.ports.standard.port]
); );
in mkOptionDefault port; in
mkOptionDefault port;
hostName = let hostName = let
hostName = if config.network != null hostName =
if config.network != null
then system.network.networks.${config.network}.fqdn then system.network.networks.${config.network}.fqdn
else sshHostConfig.hostName; else sshHostConfig.hostName;
in mkOptionDefault hostName; in
mkOptionDefault hostName;
hostKeyAlias = mkOptionDefault sshHostConfig.hostKeyAlias; hostKeyAlias = mkOptionDefault sshHostConfig.hostKeyAlias;
matchBlockSettings = { matchBlockSettings = {
hostname = mkDefault config.hostName; hostname = mkDefault config.hostName;
@ -176,7 +179,10 @@ let
then head canonNetworkName' then head canonNetworkName'
else null; else null;
mkNetwork = network: nameValuePair (mkNetworkName network) (mkNetworkConf network); mkNetwork = network: nameValuePair (mkNetworkName network) (mkNetworkConf network);
mkNetworkName = network: if network != null then network else "fallback"; mkNetworkName = network:
if network != null
then network
else "fallback";
mkNetworkConf = network: let mkNetworkConf = network: let
needsProxy = network == "int" || (network == "local" && !access.local.enable); needsProxy = network == "int" || (network == "local" && !access.local.enable);
networkConf = { networkConf = {
@ -186,7 +192,8 @@ let
cfg.proxyJump cfg.proxyJump
))); )));
}; };
in networkConf; in
networkConf;
in in
mapListToAttrs mkNetwork networks; mapListToAttrs mkNetwork networks;
set = { set = {
@ -197,7 +204,8 @@ let
extraOptions = unmerged.mergeAttrs config.extraOptions; extraOptions = unmerged.mergeAttrs config.extraOptions;
}; };
extraSettings = unmerged.mergeAttrs config.extraSettings; extraSettings = unmerged.mergeAttrs config.extraSettings;
in mkMerge [ matchBlock extraSettings ]; in
mkMerge [matchBlock extraSettings];
matchBlocksSettings = let matchBlocksSettings = let
mkMatchBlock = _: network: let mkMatchBlock = _: network: let
matchBlockConf = mkMerge [ matchBlockConf = mkMerge [

View file

@ -23,7 +23,10 @@
}: let }: let
port = service.ports.${portName}; port = service.ports.${portName};
# TODO: this properly # TODO: this properly
getAddressFor = if port.status.gatus.client.network or "ip" == "ip4" then "getAddress4For" else "getAddressFor"; getAddressFor =
if port.status.gatus.client.network or "ip" == "ip4"
then "getAddress4For"
else "getAddressFor";
in "${mkAddress6 (access.${getAddressFor} system.name "lan")}:${toString port.port}"; in "${mkAddress6 (access.${getAddressFor} system.name "lan")}:${toString port.port}";
mkServiceConfig = system: serviceName: let mkServiceConfig = system: serviceName: let
inherit (service.prometheus) exporter; inherit (service.prometheus) exporter;

View file

@ -75,8 +75,10 @@ in {
allowedTCPPorts = map mkExporterPort exporters; allowedTCPPorts = map mkExporterPort exporters;
res = builtins.tryEval (any (enablePort true) exporters); res = builtins.tryEval (any (enablePort true) exporters);
cond = lib.warnIf (!res.success) "broken prometheus exporter: ${name}" res.value; cond = lib.warnIf (!res.success) "broken prometheus exporter: ${name}" res.value;
in mkIf cond allowedTCPPorts; in
mkIf cond allowedTCPPorts;
mkExporterPort = exporter: mkIf (enablePort false exporter) exporter.port; mkExporterPort = exporter: mkIf (enablePort false exporter) exporter.port;
in mkMerge (mapAttrsToList mkExporterPorts allExporters); in
mkMerge (mapAttrsToList mkExporterPorts allExporters);
}; };
} }

View file

@ -30,5 +30,6 @@ in {
''ENV{SYSTEMD_WANTS}="motion.service"'' ''ENV{SYSTEMD_WANTS}="motion.service"''
]; ];
rulesLine = concatStringsSep ", " rules; rulesLine = concatStringsSep ", " rules;
in rulesLine; in
rulesLine;
} }

View file

@ -1,7 +1,4 @@
{ {gensokyo-zone, ...}: let
gensokyo-zone,
...
}: let
inherit (gensokyo-zone.lib) mapDefaults; inherit (gensokyo-zone.lib) mapDefaults;
in { in {
services.motion.cameras.webcam.settings = mapDefaults { services.motion.cameras.webcam.settings = mapDefaults {

View file

@ -31,5 +31,6 @@ in {
''ENV{SYSTEMD_WANTS}="motion.service"'' ''ENV{SYSTEMD_WANTS}="motion.service"''
]; ];
rulesLine = concatStringsSep ", " rules; rulesLine = concatStringsSep ", " rules;
in rulesLine; in
rulesLine;
} }

View file

@ -15,7 +15,8 @@ in {
services.octoprint = { services.octoprint = {
enable = mkDefault true; enable = mkDefault true;
# host = mkIf config.networking.enableIPv6 "::"; # host = mkIf config.networking.enableIPv6 "::";
plugins = python3Packages: with python3Packages; [ plugins = python3Packages:
with python3Packages; [
prometheus-exporter prometheus-exporter
octorant octorant
queue queue
@ -167,7 +168,8 @@ in {
autologinHeadsupAcknowledged = true; autologinHeadsupAcknowledged = true;
#autologinAs = "guest"; #autologinAs = "guest";
autologinAs = "admin"; autologinAs = "admin";
localNetworks = access.cidrForNetwork.allLocal.all localNetworks =
access.cidrForNetwork.allLocal.all
++ [ ++ [
# vouch protects it from the outside world so... # vouch protects it from the outside world so...
"0.0.0.0/0" "0.0.0.0/0"

View file

@ -8,16 +8,23 @@ in {
freeipa = let freeipa = let
inherit (prev) freeipa; inherit (prev) freeipa;
python3 = final.python311; python3 = final.python311;
freeipa'py311 = (freeipa.override { freeipa'py311 =
(freeipa.override {
inherit python3; inherit python3;
}).overrideAttrs (old: { })
nativeBuildInputs = [ .overrideAttrs (old: {
nativeBuildInputs =
[
python3 python3
] ++ old.nativeBuildInputs; ]
++ old.nativeBuildInputs;
}); });
isBroken = !(builtins.tryEval freeipa.outPath).success; isBroken = !(builtins.tryEval freeipa.outPath).success;
isUpdated = lib.versionAtLeast freeipa.version "4.12.2"; isUpdated = lib.versionAtLeast freeipa.version "4.12.2";
isPythonUpdated = lib.versionAtLeast final.python3.version "3.12"; isPythonUpdated = lib.versionAtLeast final.python3.version "3.12";
warnFixed = lib.warnIf isUpdated "freeipa python overlay fix probably no longer needed"; warnFixed = lib.warnIf isUpdated "freeipa python overlay fix probably no longer needed";
in if isPythonUpdated && (isBroken || !isUpdated) then freeipa'py311 else warnFixed freeipa; in
if isPythonUpdated && (isBroken || !isUpdated)
then freeipa'py311
else warnFixed freeipa;
} }

View file

@ -6,17 +6,20 @@ in {
}; };
octoprint = let octoprint = let
mapPlugin = python3Packages: _: plugin: plugin.override { mapPlugin = python3Packages: _: plugin:
plugin.override {
inherit python3Packages; inherit python3Packages;
inherit (python3Packages) buildPlugin; inherit (python3Packages) buildPlugin;
}; };
packageOverrides = python3Packages: python3Packages'prev: lib.mapAttrs (mapPlugin python3Packages) { packageOverrides = python3Packages: python3Packages'prev:
lib.mapAttrs (mapPlugin python3Packages) {
inherit (final.octoprintPlugins) prometheus-exporter octorant queue printtimegenius; inherit (final.octoprintPlugins) prometheus-exporter octorant queue printtimegenius;
}; };
octoprint = prev.octoprint.override (old: { octoprint = prev.octoprint.override (old: {
packageOverrides = lib.composeExtensions old.packageOverrides or (_: _: {}) packageOverrides; packageOverrides = lib.composeExtensions old.packageOverrides or (_: _: {}) packageOverrides;
}); });
in octoprint; in
octoprint;
octoprintPlugins = let octoprintPlugins = let
pythonPackages = final.octoprint.python.pkgs; pythonPackages = final.octoprint.python.pkgs;
@ -26,14 +29,21 @@ in {
callPackage = final.newScope { callPackage = final.newScope {
inherit (final.octoprintPlugins) buildPlugin; inherit (final.octoprintPlugins) buildPlugin;
}; };
in octoprintPlugins // { in
octoprintPlugins
// {
callPackage = prev.octoprintPlugins.callPackage or callPackage; callPackage = prev.octoprintPlugins.callPackage or callPackage;
prometheus-exporter = callPackage ../packages/octoprint/prometheus-exporter.nix {}; prometheus-exporter = callPackage ../packages/octoprint/prometheus-exporter.nix {};
octorant = callPackage ../packages/octoprint/octorant.nix {}; octorant = callPackage ../packages/octoprint/octorant.nix {};
queue = callPackage ../packages/octoprint/queue.nix {}; queue = callPackage ../packages/octoprint/queue.nix {};
printtimegenius = let printtimegenius = let
printtimegenius = { fetchFromGitHub, python3Packages, buildPlugin }: octoprintPlugins.printtimegenius.overrideAttrs (old: rec { printtimegenius = {
fetchFromGitHub,
python3Packages,
buildPlugin,
}:
octoprintPlugins.printtimegenius.overrideAttrs (old: rec {
version = lib.warnIf (lib.versionAtLeast old.version "2.3.2") "printtimegenius updated upstream" "2.3.3"; version = lib.warnIf (lib.versionAtLeast old.version "2.3.2") "printtimegenius updated upstream" "2.3.3";
src = fetchFromGitHub { src = fetchFromGitHub {
inherit (old.src) owner repo; inherit (old.src) owner repo;
@ -41,7 +51,8 @@ in {
sha256 = "sha256-hqm8RShCNpsVbrVXquat5VXqcVc7q5tn5+7Ipqmaw4U="; sha256 = "sha256-hqm8RShCNpsVbrVXquat5VXqcVc7q5tn5+7Ipqmaw4U=";
}; };
}); });
in callPackage printtimegenius { }; in
callPackage printtimegenius {};
}; };
# XXX: build broken upstream ugh... # XXX: build broken upstream ugh...

View file

@ -6,7 +6,8 @@
# https://github.com/minecraft-linux/server-modloader/tree/master?tab=readme-ov-file#getting-mods-to-work-on-newer-versions-116 # https://github.com/minecraft-linux/server-modloader/tree/master?tab=readme-ov-file#getting-mods-to-work-on-newer-versions-116
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
python = python3.withPackages (p: [p.lief]); python = python3.withPackages (p: [p.lief]);
static_symbols = if lib.versionAtLeast python3.pkgs.lief.version "0.15.0" static_symbols =
if lib.versionAtLeast python3.pkgs.lief.version "0.15.0"
then "symtab_symbols" then "symtab_symbols"
else "static_symbols"; else "static_symbols";
script = '' script = ''

View file

@ -1,10 +1,12 @@
{ buildPlugin {
, python3Packages buildPlugin,
, fetchFromGitHub python3Packages,
fetchFromGitHub,
}: let }: let
pname = "OctoPrint-Octorant"; pname = "OctoPrint-Octorant";
version = "1.3.4"; version = "1.3.4";
in buildPlugin { in
buildPlugin {
inherit pname version; inherit pname version;
src = fetchFromGitHub { src = fetchFromGitHub {

View file

@ -1,9 +1,11 @@
{ buildPlugin {
, python3Packages buildPlugin,
, fetchFromGitHub python3Packages,
fetchFromGitHub,
}: let }: let
version = "0.2.3"; version = "0.2.3";
in buildPlugin { in
buildPlugin {
pname = "OctoPrint-Prometheus-Exporter"; pname = "OctoPrint-Prometheus-Exporter";
inherit version; inherit version;

View file

@ -1,10 +1,12 @@
{ buildPlugin {
, python3Packages buildPlugin,
, fetchFromGitHub python3Packages,
fetchFromGitHub,
}: let }: let
version = "2.0.0"; version = "2.0.0";
pname = "OctoPrint-Queue"; pname = "OctoPrint-Queue";
in buildPlugin { in
buildPlugin {
inherit pname version; inherit pname version;
src = fetchFromGitHub { src = fetchFromGitHub {