diff --git a/hosts/algiz/default.nix b/hosts/algiz/default.nix index 2f8279f..ff6ceb9 100644 --- a/hosts/algiz/default.nix +++ b/hosts/algiz/default.nix @@ -1,14 +1,14 @@ { enabled, enableAttrs, - pipeList, + listify, ... }: { oizys = { rune.motd = enabled; - languages = "nim|node|python|nushell" |> pipeList; - } // ("docker|backups|nix-ld" |> pipeList |> enableAttrs); + languages = "nim|node|python|nushell" |> listify; + } // ("docker|backups|nix-ld" |> listify |> enableAttrs); services.restic.backups.gdrive = { # directories created by gitea and soft-serve aren't world readable diff --git a/hosts/othalan/default.nix b/hosts/othalan/default.nix index 7152689..736d72c 100644 --- a/hosts/othalan/default.nix +++ b/hosts/othalan/default.nix @@ -3,15 +3,24 @@ config, enabled, enableAttrs, - pipeList, + listify, ... }: { - oizys = { - nix-ld = enabled // { - overkill = enabled; - }; - languages = "misc|nim|node|nushell|python|roc|tex|zig" |> pipeList; - } // ("vpn|desktop|hyprland|chrome|docker|vbox|backups|hp-scanner|llm" |> pipeList |> enableAttrs); + oizys = + { + nix-ld = enabled // { + overkill = enabled; + }; + languages = "misc|nim|node|nushell|python|roc|tex|zig" |> listify; + } + // ( + '' + vpn|desktop|hyprland|chrome + docker|vbox|backups|hp-scanner|llm + '' + |> listify + |> enableAttrs + ); } diff --git a/lib/extended.nix b/lib/extended.nix index a69a425..90730e9 100644 --- a/lib/extended.nix +++ b/lib/extended.nix @@ -14,6 +14,7 @@ let mkOption types splitString + trim ; inherit (final.filesystem) listFilesRecursive; in @@ -26,8 +27,19 @@ let enable = false; }; - # "opt1|opt2" |> pipeList -> ["opt1" "opt2"] - pipeList = s: s |> replaceStrings [ "\n" ] [ "|" ] |> splitString "|" |> filter (s': s' != ""); + # split a string on newlines and pipes to generate list + # "opt1|opt2" |> listify -> ["opt1" "opt2"] + # '' + # opt1 + # opt2|opt3 + # '' |> listify ["opt1" "opt2" "opt3"] + listify = + s: + s + |> replaceStrings [ "\n" ] [ "|" ] + |> splitString "|" + |> filter (s': s' != "") + |> map (s': trim s'); # ["a" "b"] -> {a.enable = true; b.enable = true;} enableAttrs = @@ -112,6 +124,6 @@ in pkgFromSystem overlayFrom flakeFromSystem - pipeList + listify ; } diff --git a/lib/generators.nix b/lib/generators.nix index 73024bc..60eeb1e 100644 --- a/lib/generators.nix +++ b/lib/generators.nix @@ -14,7 +14,7 @@ let enableAttrs isNixFile flakeFromSystem - pipeList + listify ; inherit (lib.filesystem) listFilesRecursive; @@ -59,7 +59,7 @@ let inherit mkDefaultOizysModule mkOizysModule - pipeList + listify enableAttrs hostName flake