diff --git a/lib.nix b/lib.nix index 73930a61..4ad54e53 100644 --- a/lib.nix +++ b/lib.nix @@ -4,9 +4,10 @@ systems, }: let nixlib = inputs.nixpkgs.lib; + inherit (nixlib.modules) mkOrder mkOverride; inherit (nixlib.strings) splitString toLower; inherit (nixlib.lists) imap0 elemAt; - inherit (nixlib.attrsets) listToAttrs nameValuePair; + inherit (nixlib.attrsets) mapAttrs listToAttrs nameValuePair; inherit (nixlib.strings) substring fixedWidthString replaceStrings concatMapStringsSep; inherit (nixlib.trivial) flip toHexString bitOr; @@ -35,6 +36,13 @@ mkWinPath = replaceStrings ["/"] ["\\"]; mkBaseDn = domain: concatMapStringsSep "," (part: "dc=${part}") (splitString "." domain); + mapListToAttrs = f: l: listToAttrs (map f l); + + mkAlmostOptionDefault = mkOverride 1400; + mkAlmostAfter = mkOrder 1400; + mapOverride = priority: mapAttrs (_: mkOverride priority); + mapOptionDefaults = mapOverride 1500; + treeToModulesOutput = modules: { ${ @@ -53,6 +61,7 @@ in { lib = { domain = "gensokyo.zone"; inherit treeToModulesOutput mkWinPath mkBaseDn userIs eui64 toHexStringLower hexCharToInt; + inherit mkAlmostAfter mkAlmostOptionDefault mapOptionDefaults mapOverride mapListToAttrs; inherit (inputs.arcexprs.lib) unmerged json; }; generate = import ./generate.nix {inherit inputs tree;}; diff --git a/modules/nixos/barcodebuddy.nix b/modules/nixos/barcodebuddy.nix index e0b4fb35..8c86cdc9 100644 --- a/modules/nixos/barcodebuddy.nix +++ b/modules/nixos/barcodebuddy.nix @@ -1,11 +1,10 @@ -{ config, lib, pkgs, ... }: let +{ config, lib, inputs, pkgs, ... }: let + inherit (inputs.self.lib.lib) mkAlmostOptionDefault mapOptionDefaults; inherit (lib.options) mkOption mkEnableOption mkPackageOption; - inherit (lib.modules) mkIf mkMerge mkAfter mkDefault mkOptionDefault mkOverride; - inherit (lib.attrsets) mapAttrs mapAttrs' nameValuePair; + inherit (lib.modules) mkIf mkMerge mkAfter mkDefault mkOptionDefault; + inherit (lib.attrsets) mapAttrs' nameValuePair; inherit (lib.lists) isList imap0; inherit (lib.strings) concatStringsSep; - mkAlmostOptionDefault = mkOverride 1250; - mapOptionDefaults = mapAttrs (_: mkOptionDefault); cfg = config.services.barcodebuddy; toEnvName = key: "BBUDDY_" + key; toEnvValue = value: diff --git a/modules/nixos/nginx/listen.nix b/modules/nixos/nginx/listen.nix index 26625bc6..e8b4098e 100644 --- a/modules/nixos/nginx/listen.nix +++ b/modules/nixos/nginx/listen.nix @@ -1,13 +1,14 @@ { config, lib, + inputs, ... }: let + inherit (inputs.self.lib.lib) mkAlmostOptionDefault; inherit (lib.options) mkOption mkEnableOption; - inherit (lib.modules) mkIf mkMerge mkOptionDefault mkForce mkOverride mkRenamedOptionModule; - inherit (lib.attrsets) attrValues mapAttrs mapAttrsToList; + inherit (lib.modules) mkIf mkMerge mkOptionDefault mkForce; + inherit (lib.attrsets) attrValues mapAttrs; inherit (lib.lists) filter concatMap; - mkAlmostOptionDefault = mkOverride 1250; inherit (config.services) nginx; listenModule = { config, virtualHost, ... }: { options = with lib.types; { diff --git a/modules/nixos/nginx/proxied.nix b/modules/nixos/nginx/proxied.nix index b2ee2fc7..942a62c8 100644 --- a/modules/nixos/nginx/proxied.nix +++ b/modules/nixos/nginx/proxied.nix @@ -1,18 +1,18 @@ { config, lib, + inputs, ... }: let + inherit (inputs.self.lib.lib) mkAlmostAfter mkAlmostOptionDefault; inherit (lib.options) mkOption mkEnableOption; - inherit (lib.modules) mkIf mkMerge mkBefore mkAfter mkOrder mkDefault mkOptionDefault mkOverride; + inherit (lib.modules) mkIf mkMerge mkBefore mkDefault mkOptionDefault; inherit (lib.strings) optionalString splitString match; inherit (lib.attrsets) attrValues; inherit (lib.lists) length head /*optional*/ any; inherit (lib.trivial) mapNullable; #inherit (config) networking; inherit (config.services) nginx; - mkAlmostAfter = mkOrder 1250; - mkAlmostOptionDefault = mkOverride 1250; schemeForUrl = url: let parts = splitString ":" url; in if length parts == 1 then null else head parts; diff --git a/modules/nixos/nginx/ssl.nix b/modules/nixos/nginx/ssl.nix index bc39158f..dd99f272 100644 --- a/modules/nixos/nginx/ssl.nix +++ b/modules/nixos/nginx/ssl.nix @@ -1,13 +1,14 @@ { config, lib, + inputs, ... }: let + inherit (inputs.self.lib.lib) mkAlmostOptionDefault; inherit (lib.options) mkOption mkEnableOption; - inherit (lib.modules) mkIf mkMerge mkDefault mkOptionDefault mkOverride; + inherit (lib.modules) mkIf mkMerge mkDefault mkOptionDefault; inherit (lib.trivial) warnIf; inherit (config.services.nginx) virtualHosts; - mkAlmostOptionDefault = mkOverride 1250; forceRedirectConfig = virtualHost: '' if ($x_scheme = http) { return ${toString virtualHost.redirectCode} https://$x_forwarded_host$request_uri; diff --git a/modules/nixos/nginx/vouch.nix b/modules/nixos/nginx/vouch.nix index 701a425a..83e4c74b 100644 --- a/modules/nixos/nginx/vouch.nix +++ b/modules/nixos/nginx/vouch.nix @@ -1,17 +1,17 @@ { - pkgs, config, lib, + inputs, ... }: let + inherit (inputs.self.lib.lib) mkAlmostOptionDefault; inherit (lib.options) mkOption mkEnableOption; - inherit (lib.modules) mkIf mkMerge mkBefore mkAfter mkOptionDefault mkOverride; + inherit (lib.modules) mkIf mkMerge mkBefore mkAfter mkOptionDefault; inherit (lib.attrsets) mapAttrsToList; - inherit (lib.strings) toLower replaceStrings concatStringsSep; + inherit (lib.strings) toLower replaceStrings; inherit (config) networking; inherit (config.services) vouch-proxy nginx tailscale; inherit (nginx) vouch; - mkAlmostOptionDefault = mkOverride 1250; locationModule = {config, virtualHost, ...}: { options.vouch = with lib.types; { requireAuth = mkEnableOption "require auth to access this location"; diff --git a/modules/system/proxmox/network.nix b/modules/system/proxmox/network.nix index 9ba1a715..aabd6d16 100644 --- a/modules/system/proxmox/network.nix +++ b/modules/system/proxmox/network.nix @@ -1,12 +1,11 @@ {config, lib, inputs, ...}: let - inherit (inputs.self.lib.lib) unmerged eui64 toHexStringLower; + inherit (inputs.self.lib.lib) unmerged eui64 toHexStringLower mkAlmostOptionDefault; inherit (lib.options) mkOption mkEnableOption; - inherit (lib.modules) mkIf mkMerge mkOptionDefault mkOverride; + inherit (lib.modules) mkIf mkMerge mkOptionDefault; inherit (lib.attrsets) attrValues; inherit (lib.lists) elem findSingle findFirst; inherit (lib.strings) hasPrefix removePrefix replaceStrings; inherit (lib.trivial) mapNullable; - mkAlmostOptionDefault = mkOverride 1250; cfg = config.proxmox.network; internalOffset = 32; networkInterfaceModule = { config, name, system, ... }: {