dotfiles/common/util/array.nix
2025-03-17 17:46:15 -04:00

11 lines
366 B
Nix

{ lib, ... }:
{
array = rec {
popHead = list: lib.lists.ifilter0 (index: _element: index != 0) list;
popTail = list: lib.lists.ifilter0 (index: _element: index - 1 != length list) list;
head = list: at 0 list;
tail = list: at (length list - 1) list;
at = index: list: builtins.elemAt list index;
length = list: builtins.length list;
};
}